diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 032f56451f..24654c3a6c 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -7,7 +7,7 @@ on:
workflow_dispatch:
env:
- VERSION: '1.21'
+ VERSION: '1.21.5'
COMMIT_MSG: ${{ github.event.head_commit.message }}
jobs:
@@ -89,18 +89,10 @@ jobs:
# https://fabricmc.net/use/server/
# https://modrinth.com/mod/fabric-api/versions
# https://modrinth.com/mod/packtest/versions
- - version: '1.21.1'
- fabric_server_url: https://meta.fabricmc.net/v2/versions/loader/1.21.1/0.16.5/1.0.1/server/jar
- fabric_api_url: https://cdn.modrinth.com/data/P7dR8mSH/versions/WTaAx4ah/fabric-api-0.105.0%2B1.21.1.jar
- packtest_url: https://cdn.modrinth.com/data/XsKUhp45/versions/x9txtivi/packtest-1.8-mc1.21.1.jar
- - version: '1.21.3'
- fabric_server_url: https://meta.fabricmc.net/v2/versions/loader/1.21.3/0.16.7/1.0.1/server/jar
- fabric_api_url: https://cdn.modrinth.com/data/P7dR8mSH/versions/dhD4I4lJ/fabric-api-0.106.1%2B1.21.3.jar
- packtest_url: https://cdn.modrinth.com/data/XsKUhp45/versions/wjOUK14F/packtest-1.9-mc1.21.2.jar
- - version: '1.21.4'
- fabric_server_url: https://meta.fabricmc.net/v2/versions/loader/1.21.4-rc1/0.16.9/1.0.1/server/jar
- fabric_api_url: https://cdn.modrinth.com/data/P7dR8mSH/versions/X7o8njVT/fabric-api-0.110.2%2B1.21.4.jar
- packtest_url: https://cdn.modrinth.com/data/XsKUhp45/versions/owHaqexZ/packtest-1.10-beta1-mc1.21.4.jar
+ - version: '1.21.5'
+ fabric_server_url: https://meta.fabricmc.net/v2/versions/loader/1.21.5/0.16.13/1.0.3/server/jar
+ fabric_api_url: https://cdn.modrinth.com/data/P7dR8mSH/versions/FZ4q3wQK/fabric-api-0.119.9%2B1.21.5.jar
+ packtest_url: https://cdn.modrinth.com/data/XsKUhp45/versions/Swh7th09/packtest-2.1-mc1.21.5.jar
name: 'test-${{ matrix.version }}'
runs-on: ubuntu-24.04
steps:
diff --git a/base/beet.yaml b/base/beet.yaml
index ef14e3c4b0..983cf6b0bc 100644
--- a/base/beet.yaml
+++ b/base/beet.yaml
@@ -1,4 +1,4 @@
-version: 1.7.0
+version: 1.8.0
id: gm4
data_pack:
diff --git a/base/data/gm4/function/conflict_logs/traverse.mcfunction b/base/data/gm4/function/conflict_logs/traverse.mcfunction
index 2b1aea2092..e5b9aa794e 100644
--- a/base/data/gm4/function/conflict_logs/traverse.mcfunction
+++ b/base/data/gm4/function/conflict_logs/traverse.mcfunction
@@ -1,5 +1,5 @@
execute store success score #not_match gm4_data run data modify storage gm4:log traverse_versions[0].id set from storage gm4:log log.require_id
-execute if data storage gm4:log traverse_versions[0].from run data modify storage gm4:log temp set value '[{"text":" (packaged in ","color":"red"},{"nbt":"traverse_versions[0].from","storage":"gm4:log","color":"red"},{"text":")","color":"red"}]'
+execute if data storage gm4:log traverse_versions[0].from run data modify storage gm4:log temp set value [{"text":" (packaged in ","color":"red"},{"nbt":"traverse_versions[0].from","storage":"gm4:log","color":"red"},{"text":")","color":"red"}]
execute if score #not_match gm4_data matches 0 run tellraw @a[tag=gm4_show_log] [{"nbt":"log.module","storage":"gm4:log","color":"red"},{"text":" is disabled. It requires ","color":"red"},{"nbt":"log.require","storage":"gm4:log","color":"red"},{"text":" v","color":"red"},{"nbt":"log.require_ver","storage":"gm4:log"},{"text":" but ","color":"red"},{"nbt":"traverse_versions[0].module","storage":"gm4:log"},{"text":" v"},{"nbt":"traverse_versions[0].version","storage":"gm4:log","color":"red"},{"text":" is installed instead","color":"red"},{"nbt":"temp","storage":"gm4:log","interpret":true}]
diff --git a/base/data/gm4/function/load.mcfunction b/base/data/gm4/function/load.mcfunction
index 34e6f1b303..215ba36011 100644
--- a/base/data/gm4/function/load.mcfunction
+++ b/base/data/gm4/function/load.mcfunction
@@ -1,5 +1,5 @@
data merge storage gm4:log {queue:[],versions:[]}
-data modify storage gm4:log queue append value {type:"text",message:'{"text":"[GM4]: Checking for updates...","color":"#4AA0C7"}'}
+data modify storage gm4:log queue append value {type:"text",message:{"text":"[GM4]: Checking for updates...","color":"#4AA0C7"}}
scoreboard objectives add gm4_modules dummy
scoreboard objectives add gm4_data dummy
@@ -15,6 +15,6 @@ execute unless score $cooldown gm4_creative matches 0.. run scoreboard players s
# Setting this to 0 will always show logs to all players
execute unless score $global_cooldown gm4_creative matches 0.. run scoreboard players set $global_cooldown gm4_creative 10
-execute unless score gm4 gm4_modules matches 1.. run data modify storage gm4:log queue append value {type:"text",message:'{"text":"[GM4]: Welcome to Gamemode 4. Initialising...","color":"green"}'}
+execute unless score gm4 gm4_modules matches 1.. run data modify storage gm4:log queue append value {type:"text",message:{"text":"[GM4]: Welcome to Gamemode 4. Initialising...","color":"green"}}
execute unless score gm4 gm4_modules matches 1.. run schedule function gm4:intro_song/init 2s
execute unless score gm4 gm4_modules matches 1.. run scoreboard players set gm4 gm4_modules 1
diff --git a/base/data/gm4/function/outdated_logs/outdated_start.mcfunction b/base/data/gm4/function/outdated_logs/outdated_start.mcfunction
index 5727281e12..c874770e51 100644
--- a/base/data/gm4/function/outdated_logs/outdated_start.mcfunction
+++ b/base/data/gm4/function/outdated_logs/outdated_start.mcfunction
@@ -1,4 +1,4 @@
-tellraw @a[tag=gm4_show_log] [{"text":"The following modules are outdated! Click here to download the latest versions.","color":"gold","clickEvent":{"action":"open_url","value":"https://www.gm4.co/modules"},"hoverEvent":{"action":"show_text","value":{"text":"Click to visit gm4.co/modules","color":"#4AA0C7"}}}]
+tellraw @a[tag=gm4_show_log] [{"text":"The following modules are outdated! Click here to download the latest versions.","color":"gold","click_event":{"action":"open_url","url":"https://www.gm4.co/modules"},"hover_event":{"action":"show_text","value":{"text":"Click to visit gm4.co/modules","color":"#4AA0C7"}}}]
data modify storage gm4:log outdated_list set from storage gm4:log queue
data remove storage gm4:log outdated_list[{type:"text"}]
diff --git a/base/data/gm4/function/post_load.mcfunction b/base/data/gm4/function/post_load.mcfunction
index 750958366a..1012328392 100644
--- a/base/data/gm4/function/post_load.mcfunction
+++ b/base/data/gm4/function/post_load.mcfunction
@@ -1,4 +1,4 @@
-execute unless data storage gm4:log queue[{type:"install"}] run data modify storage gm4:log queue append value {type:"text",message:'{"text":"[GM4]: No updates found.","color":"#4AA0C7"}'}
-execute if data storage gm4:log queue[{type:"install"}] run data modify storage gm4:log queue append value {type:"text",message:'{"text":"[GM4]: Updates completed.","color":"#4AA0C7"}'}
+execute unless data storage gm4:log queue[{type:"install"}] run data modify storage gm4:log queue append value {type:"text",message:{"text":"[GM4]: No updates found.","color":"#4AA0C7"}}
+execute if data storage gm4:log queue[{type:"install"}] run data modify storage gm4:log queue append value {type:"text",message:{"text":"[GM4]: Updates completed.","color":"#4AA0C7"}}
function gm4:log_wait
diff --git a/base/data/gm4/tags/block/foliage.json b/base/data/gm4/tags/block/foliage.json
index 86bdc2f751..262c0e80b6 100644
--- a/base/data/gm4/tags/block/foliage.json
+++ b/base/data/gm4/tags/block/foliage.json
@@ -11,26 +11,32 @@
"minecraft:big_dripleaf",
"minecraft:big_dripleaf_stem",
"minecraft:brown_mushroom",
+ "minecraft:bush",
+ "minecraft:cactus_flower",
"minecraft:cave_vines",
"minecraft:cave_vines_plant",
"minecraft:crimson_fungus",
"minecraft:crimson_roots",
"minecraft:dead_bush",
"minecraft:fern",
+ "minecraft:firefly_bush",
"minecraft:glow_lichen",
+ "minecraft:short_dry_grass",
"minecraft:short_grass",
"minecraft:hanging_roots",
"minecraft:large_fern",
+ "minecraft:leaf_litter",
"minecraft:mangrove_propagule",
"minecraft:moss_carpet",
"minecraft:nether_sprouts",
- { "id": "minecraft:pale_hanging_moss", "required": false },
- { "id": "minecraft:pale_moss_carpet", "required": false },
+ "minecraft:pale_hanging_moss",
+ "minecraft:pale_moss_carpet",
"minecraft:pink_petals",
"minecraft:red_mushroom",
"minecraft:small_dripleaf",
"minecraft:spore_blossom",
"minecraft:sweet_berry_bush",
+ "minecraft:tall_dry_grass",
"minecraft:tall_grass",
"minecraft:twisting_vines",
"minecraft:twisting_vines_plant",
@@ -38,6 +44,7 @@
"minecraft:warped_fungus",
"minecraft:warped_roots",
"minecraft:weeping_vines",
- "minecraft:weeping_vines_plant"
+ "minecraft:weeping_vines_plant",
+ "minecraft:wildflowers"
]
}
diff --git a/base/data/gm4/tags/block/full_collision.json b/base/data/gm4/tags/block/full_collision.json
index 2b8fac7d0d..0e4732df16 100644
--- a/base/data/gm4/tags/block/full_collision.json
+++ b/base/data/gm4/tags/block/full_collision.json
@@ -54,7 +54,7 @@
"minecraft:chiseled_polished_blackstone",
"minecraft:chiseled_quartz_block",
"minecraft:chiseled_red_sandstone",
- { "id": "minecraft:chiseled_resin_bricks", "required": false },
+ "minecraft:chiseled_resin_bricks",
"minecraft:chiseled_sandstone",
"minecraft:chiseled_stone_bricks",
"minecraft:chiseled_tuff",
@@ -75,7 +75,7 @@
"minecraft:cracked_stone_bricks",
"minecraft:crafter",
"minecraft:crafting_table",
- { "id": "minecraft:creaking_heart", "required": false },
+ "minecraft:creaking_heart",
"minecraft:crimson_nylium",
"minecraft:crying_obsidian",
"minecraft:cut_copper",
@@ -257,8 +257,8 @@
"minecraft:redstone_ore",
"minecraft:reinforced_deepslate",
"minecraft:repeating_command_block",
- { "id": "minecraft:resin_block", "required": false },
- { "id": "minecraft:resin_bricks", "required": false },
+ "minecraft:resin_block",
+ "minecraft:resin_bricks",
"minecraft:respawn_anchor",
"minecraft:sand",
"minecraft:sandstone",
@@ -285,6 +285,8 @@
"minecraft:suspicious_sand",
"minecraft:target",
"minecraft:terracotta",
+ "minecraft:test_block",
+ "minecraft:test_instance_block",
"minecraft:tinted_glass",
"minecraft:tnt",
"minecraft:trial_spawner",
diff --git a/base/data/gm4/tags/block/no_collision.json b/base/data/gm4/tags/block/no_collision.json
index b7975866b6..16594909de 100644
--- a/base/data/gm4/tags/block/no_collision.json
+++ b/base/data/gm4/tags/block/no_collision.json
@@ -1,7 +1,7 @@
{
"values": [
- "#minecraft:air",
"#gm4:water",
+ "#minecraft:air",
"#minecraft:banners",
"#minecraft:buttons",
"#minecraft:ceiling_hanging_signs",
@@ -13,11 +13,6 @@
"#minecraft:rails",
"#minecraft:signs",
"#minecraft:small_flowers",
- "minecraft:sunflower",
- "minecraft:lilac",
- "minecraft:peony",
- "minecraft:rose_bush",
- "minecraft:pitcher_plant",
"#minecraft:wall_corals",
"minecraft:acacia_sapling",
"minecraft:attached_melon_stem",
@@ -26,6 +21,8 @@
"minecraft:big_dripleaf_stem",
"minecraft:birch_sapling",
"minecraft:brown_mushroom",
+ "minecraft:bush",
+ "minecraft:cactus_flower",
"minecraft:cave_vines",
"minecraft:cave_vines_plant",
"minecraft:cherry_sapling",
@@ -50,28 +47,36 @@
"minecraft:dead_tube_coral_wall_fan",
"minecraft:dead_tube_coral",
"minecraft:fern",
+ "minecraft:firefly_bush",
"minecraft:frogspawn",
"minecraft:glow_lichen",
+ "minecraft:short_dry_grass",
"minecraft:short_grass",
+ "minecraft:sunflower",
"minecraft:hanging_roots",
"minecraft:jungle_sapling",
"minecraft:ladder",
"minecraft:large_fern",
"minecraft:lava",
+ "minecraft:leaf_litter",
"minecraft:lever",
"minecraft:light",
+ "minecraft:lilac",
"minecraft:mangrove_propagule",
"minecraft:nether_sprouts",
"minecraft:nether_wart",
"minecraft:oak_sapling",
- { "id": "minecraft:pale_hanging_moss", "required": false },
- { "id": "minecraft:pale_oak_sapling", "required": false },
+ "minecraft:pale_hanging_moss",
+ "minecraft:pale_oak_sapling",
+ "minecraft:peony",
"minecraft:pink_petals",
+ "minecraft:pitcher_plant",
"minecraft:powder_snow",
"minecraft:red_mushroom",
"minecraft:redstone_torch",
"minecraft:redstone_wall_torch",
"minecraft:redstone_wire",
+ "minecraft:rose_bush",
"minecraft:scaffolding",
"minecraft:sculk_vein",
"minecraft:small_dripleaf",
@@ -82,6 +87,7 @@
"minecraft:structure_void",
"minecraft:sugar_cane",
"minecraft:sweet_berry_bush",
+ "minecraft:tall_dry_grass",
"minecraft:tall_grass",
"minecraft:torch",
"minecraft:tripwire_hook",
@@ -93,6 +99,7 @@
"minecraft:warped_fungus",
"minecraft:warped_roots",
"minecraft:weeping_vines",
- "minecraft:weeping_vines_plant"
+ "minecraft:weeping_vines_plant",
+ "minecraft:wildflowers"
]
}
diff --git a/base/data/gm4/tags/block/replaceable.json b/base/data/gm4/tags/block/replaceable.json
index ba2547b674..e07bef7db9 100644
--- a/base/data/gm4/tags/block/replaceable.json
+++ b/base/data/gm4/tags/block/replaceable.json
@@ -3,21 +3,25 @@
"#minecraft:air",
"#minecraft:fire",
"minecraft:bubble_column",
+ "minecraft:bush",
"minecraft:crimson_roots",
"minecraft:dead_bush",
"minecraft:fern",
"minecraft:glow_lichen",
+ "minecraft:short_dry_grass",
"minecraft:short_grass",
"minecraft:hanging_roots",
"minecraft:large_fern",
"minecraft:lava",
+ "minecraft:leaf_litter",
"minecraft:light",
"minecraft:nether_sprouts",
- { "id": "minecraft:resin_clump", "required": false },
+ "minecraft:resin_clump",
"minecraft:sculk_vein",
"minecraft:seagrass",
"minecraft:snow",
"minecraft:structure_void",
+ "minecraft:tall_dry_grass",
"minecraft:tall_grass",
"minecraft:tall_seagrass",
"minecraft:vine",
diff --git a/base/data/gm4/tags/block/waterloggable.json b/base/data/gm4/tags/block/waterloggable.json
index 877b7c01d4..c68d5908b9 100644
--- a/base/data/gm4/tags/block/waterloggable.json
+++ b/base/data/gm4/tags/block/waterloggable.json
@@ -59,7 +59,7 @@
"minecraft:pointed_dripstone",
"minecraft:purple_stained_glass_pane",
"minecraft:red_stained_glass_pane",
- { "id": "minecraft:resin_clump", "required": false },
+ "minecraft:resin_clump",
"minecraft:scaffolding",
"minecraft:sculk_sensor",
"minecraft:sculk_vein",
diff --git a/base/data/gm4/tags/entity_type/boats.json b/base/data/gm4/tags/entity_type/boats.json
index 8a4f6244e9..25ce76ee84 100644
--- a/base/data/gm4/tags/entity_type/boats.json
+++ b/base/data/gm4/tags/entity_type/boats.json
@@ -1,6 +1,5 @@
{
"values": [
- { "id": "minecraft:boat", "required": false },
- { "id": "#minecraft:boat", "required": false }
+ "#minecraft:boat"
]
}
diff --git a/base/data/gm4/tags/entity_type/chest_boats.json b/base/data/gm4/tags/entity_type/chest_boats.json
index b017ca4fdf..43741998b8 100644
--- a/base/data/gm4/tags/entity_type/chest_boats.json
+++ b/base/data/gm4/tags/entity_type/chest_boats.json
@@ -1,15 +1,14 @@
{
"values": [
- { "id": "minecraft:chest_boat", "required": false },
- { "id": "minecraft:oak_chest_boat", "required": false },
- { "id": "minecraft:spruce_chest_boat", "required": false },
- { "id": "minecraft:birch_chest_boat", "required": false },
- { "id": "minecraft:jungle_chest_boat", "required": false },
- { "id": "minecraft:acacia_chest_boat", "required": false },
- { "id": "minecraft:cherry_chest_boat", "required": false },
- { "id": "minecraft:dark_oak_chest_boat", "required": false },
- { "id": "minecraft:mangrove_chest_boat", "required": false },
- { "id": "minecraft:bamboo_chest_raft", "required": false },
- { "id": "minecraft:pale_oak_chest_boat", "required": false }
+ "minecraft:oak_chest_boat",
+ "minecraft:spruce_chest_boat",
+ "minecraft:birch_chest_boat",
+ "minecraft:jungle_chest_boat",
+ "minecraft:acacia_chest_boat",
+ "minecraft:cherry_chest_boat",
+ "minecraft:dark_oak_chest_boat",
+ "minecraft:mangrove_chest_boat",
+ "minecraft:bamboo_chest_raft",
+ "minecraft:pale_oak_chest_boat"
]
}
diff --git a/base/data/gm4/tags/entity_type/neutral_hostile.json b/base/data/gm4/tags/entity_type/neutral_hostile.json
index 3894776585..860c911fe9 100644
--- a/base/data/gm4/tags/entity_type/neutral_hostile.json
+++ b/base/data/gm4/tags/entity_type/neutral_hostile.json
@@ -1,7 +1,7 @@
{
"values": [
"minecraft:cave_spider",
- { "id": "minecraft:creaking", "required": false },
+ "minecraft:creaking",
"minecraft:drowned",
"minecraft:enderman",
"minecraft:piglin",
diff --git a/base/data/gm4/tags/entity_type/non_living.json b/base/data/gm4/tags/entity_type/non_living.json
index c148d7b5a1..ea1ac0176f 100644
--- a/base/data/gm4/tags/entity_type/non_living.json
+++ b/base/data/gm4/tags/entity_type/non_living.json
@@ -29,17 +29,18 @@
"minecraft:item_frame",
"minecraft:leash_knot",
"minecraft:lightning_bolt",
+ "minecraft:lingering_potion",
"minecraft:llama_spit",
"minecraft:marker",
"minecraft:minecart",
"minecraft:ominous_item_spawner",
"minecraft:painting",
- "minecraft:potion",
"minecraft:shulker_bullet",
"minecraft:small_fireball",
"minecraft:snowball",
"minecraft:spawner_minecart",
"minecraft:spectral_arrow",
+ "minecraft:splash_potion",
"minecraft:text_display",
"minecraft:tnt",
"minecraft:tnt_minecart",
diff --git a/base/mod.mcdoc b/base/mod.mcdoc
index efd5027d9a..99ccc77d42 100644
--- a/base/mod.mcdoc
+++ b/base/mod.mcdoc
@@ -1,3 +1,5 @@
+use ::java::util::text::Text
+
dispatch minecraft:storage[gm4:log] to struct Gm4Log {
versions?: [LogVersion],
traverse_versions?: [LogVersion],
@@ -6,7 +8,7 @@ dispatch minecraft:storage[gm4:log] to struct Gm4Log {
},
outdated_list?: [LogEntry],
queue?: [LogEntry],
- temp?: #[text_component] string,
+ temp?: Text,
}
struct LogVersion {
@@ -23,7 +25,7 @@ struct LogEntry {
dispatch gm4:log_entry[text] to struct {
/// The text component message to display.
- message: #[text_component] string,
+ message: Text,
}
dispatch gm4:log_entry[install] to struct {
@@ -34,7 +36,7 @@ dispatch gm4:log_entry[install] to struct {
dispatch gm4:log_entry[outdated] to struct {
module: string,
download: #[url] string,
- render: #[text_component] string,
+ render: Text,
}
dispatch gm4:log_entry[missing] to struct MissingLog {
diff --git a/beet-dev.yaml b/beet-dev.yaml
index b11adf3a73..aa0702e904 100644
--- a/beet-dev.yaml
+++ b/beet-dev.yaml
@@ -36,7 +36,7 @@ pipeline:
directory: resource_pack
pipeline:
- resource_pack.dev_description
- - gm4.plugins.resource_pack.pad_model_overrides
+ - gm4.plugins.resource_pack.pad_item_def_range_dispatch
- gm4.plugins.resource_pack.link_resource_pack
- gm4.plugins.output.resource_pack
- gm4.plugins.resource_pack.dump_registry
diff --git a/beet-release.yaml b/beet-release.yaml
index 8e85fffcab..0db1332e24 100644
--- a/beet-release.yaml
+++ b/beet-release.yaml
@@ -82,7 +82,7 @@ pipeline:
- gm4.plugins.output.release_resource_pack
- gm4.plugins.write_mcmeta
- gm4.plugins.manifest.update_patch
- - gm4.plugins.resource_pack.pad_model_overrides
+ - gm4.plugins.resource_pack.pad_item_def_range_dispatch
meta:
pack_scan: resource_pack
diff --git a/docs/making-a-module.md b/docs/making-a-module.md
index 124cfcee2f..bc1ecbf50e 100644
--- a/docs/making-a-module.md
+++ b/docs/making-a-module.md
@@ -109,7 +109,7 @@ If all required dependencies are present, Lantern Load will call `init.mcfunctio
#### Logging
Messages can be logged during the load process. This can be done by appending to the `queue` field in the `gm4:log` storage. Here are a few examples:
```mcfunction
-data modify storage gm4:log queue append value {type:"text",message:'{"text":"We've been attempting to contact you about your car's extended warranty"}'}
+data modify storage gm4:log queue append value {type:"text",message:{text:"We've been attempting to contact you about your car's extended warranty"}}
data modify storage gm4:log queue append value {type:"install",module:"Bat Grenades"}
```
diff --git a/docs/resource-pack-management.md b/docs/resource-pack-management.md
index 8b7850ce38..596b864989 100644
--- a/docs/resource-pack-management.md
+++ b/docs/resource-pack-management.md
@@ -16,6 +16,7 @@ This document explains Gamemode 4's Resource Pack management tools, which use cu
* [Extending `TemplateOptions`](#extending-templateoptions)
* [Extending `TransformOptions`](#extending-transformoptions)
* [Extending `ContainerGuiOptions`](#extending-containerguioptions)
+ * [Extending `ItemModelOptions`](#extending-itemmodeloptions)
## Getting Started
Just like how data pack resources are stored in a `data` directory, resource pack assets are stored in an `assets` directory for each module, and follow the same structure as an ordinary minecraft resource pack.
@@ -166,27 +167,16 @@ model:
apple: item/my_model_apple
potato: item/my_model_potato
```
-More complex model predicates for items with multiple vanilla models (e.g. elytra & broken elytra, clock ect) can be specified here as a list of predicates, following the same syntax as model files e.g.
+More complex model styles, like for items with multiple vanilla models (e.g. elytra & broken elytra, clock ect) are handled through a special-case syntax. Currently only broken elytra are supported, so packs utlizing conditions in item model definitions will need to provide handlers.
```yaml
+item: elytra
model:
- - predicate: {broken: 0}
- model: item/elytra/captains_wings
- - predicate: {broken: 1}
- model: item/elytra/broken_captains_wings
+ type: condition_broken
+ unbroken: item/elytra/captains_wings
+ broken: item/elytra/broken_captains_wings
```
-This list of predicates may also be mapped to a specific item as above.
-```yaml
-item: [apple, elytra]
-model:
- apple: my_model_apple
- elytra:
- - predicate: {broken: 0}
- model: item/elytra/captains_wings
- - predicate: {broken: 1}
- model: item/elytra/broken_captains_wings
-```
-Items who have multiple vanilla models, like clocks, who do not have the manual predicates specified in model will have the same provided model file applied to all variants.
+Items who have multiple vanilla models, like clocks, who do not utilize special-case providers in the model config will have the same provided model file applied to all variants.
- `template` (optional), a model-file generating template to apply. Accepts a string name of a template, or a compound containing template configuration values. Defaults to `custom`, which generates no Model files. See [here](#model-templates) for details on available templates.
- `transforms` (optional), a list of model transforms to apply. Accepts a compound of configuration data. See [here](#model-transforms) for details on available transforms.
@@ -267,3 +257,9 @@ Additionally, there are two extendable subclasses already available for containe
#### Methods
- `process(self, config: GuiFont, counter_cache: Cache) -> tuple[str, list[dict[str, Any]]]`: Requisitions unique characters and returns the translation value (usually made of these characters), and a list of font providers, which usually reference `config.texture`.
+
+### Extending ItemModelOptions
+Individual modules may add additional handlers for special-case item model definitions by extending `ItemModelOptions` in a beet plugin. This subclass defines the additional config fields and a method that generates the model compound used in the item model definition.
+
+#### Methods
+- 'generate_json(self) -> dict[str,Any]`: Returns the model object used in the item model defintion. e.g. ```{"type": "minecraft:condition"...}```
diff --git a/gm4/contributors.json b/gm4/contributors.json
index c41dd957cd..fc6ab9f973 100644
--- a/gm4/contributors.json
+++ b/gm4/contributors.json
@@ -130,5 +130,9 @@
{
"name": "Venomousbirds",
"links": ["https://venomousbirds.artstation.com/"]
+ },
+ {
+ "name": "MulverineX",
+ "links": ["https://modrinth.com/user/MulverineX"]
}
]
diff --git a/gm4/modeldata_registry.json b/gm4/modeldata_registry.json
index dbea26187b..3d0cd6842e 100644
--- a/gm4/modeldata_registry.json
+++ b/gm4/modeldata_registry.json
@@ -1330,7 +1330,13 @@
"gm4_auto_crafting:item/auto_crafter": 140
},
"poisonous_potato": {
- "gm4_chairs:gui/advancement/chairs_sit": 1
+ "gm4_chairs:gui/advancement/chairs_sit": 1,
+ "gm4_heart_canisters:gui/advancement/heart_canisters_tier_1": 4,
+ "gm4_heart_canisters:gui/advancement/heart_canisters_tier_2": 5,
+ "gm4_heart_canisters:gui/advancement/heart_canisters_max": 6,
+ "gm4_heart_canisters:item/heart_canister_tier_1": 7,
+ "gm4_heart_canisters:item/heart_canister_tier_2": 8,
+ "gm4_heart_canisters:guidebook_icon/heart_canisters": 10
},
"poppy": {
"gm4_sweethearts:gui/advancement/sweethearts": 1,
diff --git a/gm4/plugins/autoload.py b/gm4/plugins/autoload.py
index a373c90b6a..158aee1aee 100644
--- a/gm4/plugins/autoload.py
+++ b/gm4/plugins/autoload.py
@@ -9,5 +9,6 @@ def beet_default(ctx: Context):
ctx.require(
"beet.contrib.default",
"beet.contrib.model_merging",
+ "gm4.plugins.resource_pack.merge_policy",
"gm4_metallurgy.shamir_model_template.merge_policy"
)
diff --git a/gm4/plugins/backwards.py b/gm4/plugins/backwards.py
index 2520a11d7d..5300bc59ad 100644
--- a/gm4/plugins/backwards.py
+++ b/gm4/plugins/backwards.py
@@ -1,140 +1,13 @@
-import re
import logging
from typing import Any, Tuple, Callable
-from beet import Context, Pack, TextFileBase, Recipe, Function, NamespaceFile
+from beet import Context, Pack, NamespaceFile
from beet.core.utils import SupportedFormats
logger = logging.getLogger("gm4.backwards")
# Generates overlays to support older versions
def beet_default(ctx: Context):
- yield
-
- # backporting to 1.21.3 (57)
- backport(ctx.data, 57, rewrite_furnace_nbt)
- backport(ctx.data, 57, rewrite_custom_model_data)
-
- # backporting to 1.21.1 (48)
- backport(ctx.data, 48, rewrite_attributes)
- backport(ctx.data, 48, rewrite_recipe)
-
-
-FURNACE_RENAMES = {
- "cooking_time_spent": "CookTime",
- "cooking_total_time": "CookTimeTotal",
- "lit_time_remaining": "BurnTime",
- "lit_total_time": None,
-}
-
-def rewrite_furnace_nbt(id: str, resource: NamespaceFile):
- if not isinstance(resource, Function):
- return None
- text = resource.text
- for src_field, overlay_field in FURNACE_RENAMES.items():
- if overlay_field is None:
- if re.match("\\b" + src_field + "\\b", text):
- logger.error(f"Cannot backport furnace field {src_field} in function {id}")
- else:
- text = re.sub("\\b" + src_field + "\\b", overlay_field, text)
- if text == resource.text:
- return None
- overlay = resource.copy()
- overlay.text = text
- return overlay
-
-
-def rewrite_custom_model_data(id: str, resource: NamespaceFile):
- if not isinstance(resource, TextFileBase):
- return None
- text = resource.text
- text = re.sub(r"\{\s*[\"']?floats[\"']?\s*:\s*\[\s*(\d+)[Ff]?\s*\]\s*\}", r"\1", text)
- if text == resource.text:
- return None
- overlay = resource.copy()
- overlay.text = text
- return overlay
-
-
-ATTRIBUTES_RENAMES = {
- "minecraft:armor": "minecraft:generic.armor",
- "minecraft:armor_toughness": "minecraft:generic.armor_toughness",
- "minecraft:attack_damage": "minecraft:generic.attack_damage",
- "minecraft:attack_knockback": "minecraft:generic.attack_knockback",
- "minecraft:attack_speed": "minecraft:generic.attack_speed",
- "minecraft:block_break_speed": "minecraft:player.block_break_speed",
- "minecraft:block_interaction_range": "minecraft:player.block_interaction_range",
- "minecraft:burning_time": "minecraft:generic.burning_time",
- "minecraft:explosion_knockback_resistance": "minecraft:generic.explosion_knockback_resistance",
- "minecraft:entity_interaction_range": "minecraft:player.entity_interaction_range",
- "minecraft:fall_damage_multiplier": "minecraft:generic.fall_damage_multiplier",
- "minecraft:flying_speed": "minecraft:generic.flying_speed",
- "minecraft:follow_range": "minecraft:generic.follow_range",
- "minecraft:gravity": "minecraft:generic.gravity",
- "minecraft:jump_strength": "minecraft:generic.jump_strength",
- "minecraft:knockback_resistance": "minecraft:generic.knockback_resistance",
- # We only use "minecraft:luck" as a potion/effect, never as attribute
- # "minecraft:luck": "minecraft:generic.luck",
- "minecraft:max_absorption": "minecraft:generic.max_absorption",
- "minecraft:max_health": "minecraft:generic.max_health",
- "minecraft:mining_efficiency": "minecraft:player.mining_efficiency",
- "minecraft:movement_efficiency": "minecraft:generic.movement_efficiency",
- "minecraft:movement_speed": "minecraft:generic.movement_speed",
- "minecraft:oxygen_bonus": "minecraft:generic.oxygen_bonus",
- "minecraft:safe_fall_distance": "minecraft:generic.safe_fall_distance",
- "minecraft:scale": "minecraft:generic.scale",
- "minecraft:sneaking_speed": "minecraft:player.sneaking_speed",
- "minecraft:spawn_reinforcements": "minecraft:zombie.spawn_reinforcements",
- "minecraft:step_height": "minecraft:generic.step_height",
- "minecraft:submerged_mining_speed": "minecraft:player.submerged_mining_speed",
- "minecraft:sweeping_damage_ratio": "minecraft:player.sweeping_damage_ratio",
- "minecraft:water_movement_efficiency": "minecraft:generic.water_movement_efficiency",
-}
-
-# Removes the generic. and other prefixes from attribute IDs
-def rewrite_attributes(id: str, resource: NamespaceFile):
- if not isinstance(resource, TextFileBase):
- return None
- text = resource.text
- for src_attribute, overlay_attribute in ATTRIBUTES_RENAMES.items():
- text = re.sub("\\b" + src_attribute + "\\b", overlay_attribute, text)
- if text == resource.text:
- return None
- overlay = resource.copy()
- overlay.text = text
- return overlay
-
-
-# Rewrites the recipe ingredients to the old {"item": "..."} format
-def rewrite_recipe(id: str, resource: NamespaceFile):
- if not isinstance(resource, Recipe):
- return None
-
- def rewrite_ingredient(ingr: str | list[str]) -> Any:
- if isinstance(ingr, list):
- return [rewrite_ingredient(item) for item in ingr]
- if ingr.startswith("#"):
- return { "tag": ingr[1:] }
- return { "item": ingr }
-
- overlay = resource.copy()
- data = overlay.data
-
- if "crafting_transmute" in data["type"]:
- logger.warning(f"Cannot backport crafting_transmute recipe {id}")
- return None
-
- if "base" in data:
- data["base"] = rewrite_ingredient(data["base"])
- if "addition" in data:
- data["addition"] = rewrite_ingredient(data["addition"])
- if "ingredient" in data:
- data["ingredient"] = rewrite_ingredient(data["ingredient"])
- if "ingredients" in data:
- data["ingredients"] = [rewrite_ingredient(ingr) for ingr in data["ingredients"]]
- if "key" in data:
- data["key"] = {k: rewrite_ingredient(ingr) for k, ingr in data["key"].items()}
-
- return overlay
+ pass
def backport(pack: Pack[Any], format: int, run: Callable[[str, NamespaceFile], NamespaceFile | None]):
diff --git a/gm4/plugins/manifest.py b/gm4/plugins/manifest.py
index c8f76ebe5d..6b84aae127 100644
--- a/gm4/plugins/manifest.py
+++ b/gm4/plugins/manifest.py
@@ -21,7 +21,7 @@
parent_logger = logging.getLogger("gm4.manifest")
-SUPPORTED_GAME_VERSIONS = ["1.21", "1.21.1", "1.21.2", "1.21.3", "1.21.4"]
+SUPPORTED_GAME_VERSIONS = ["1.21.5"]
# config models for beet.yaml metas
CreditsModel = dict[str, list[str]]
@@ -145,7 +145,7 @@ def create(ctx: Context):
ctx.cache["gm4_manifest"].json = manifest.dict()
# Read in the previous manifest, if found
- version = os.getenv("VERSION", "1.21")
+ version = os.getenv("VERSION", "1.21.5")
release_dir = Path('release') / version
manifest_file = release_dir / "meta.json"
@@ -219,7 +219,7 @@ def update_patch(ctx: Context):
def write_meta(ctx: Context):
"""Write the updated meta.json file."""
- version = os.getenv("VERSION", "1.21")
+ version = os.getenv("VERSION", "1.21.5")
release_dir = Path('release') / version
os.makedirs(release_dir, exist_ok=True)
@@ -299,7 +299,7 @@ def write_updates(ctx: Context):
continue # not a datapack (ie the rp) and has score to print
version = Version(m.version).int_rep()
website = f"https://gm4.co/modules/{m.id[4:].replace('_','-')}"
- init.lines.append(f"execute if score {m.id} load.status matches -1.. if score {m.id.removeprefix('gm4_')} gm4_modules matches ..{version - 1} run data modify storage gm4:log queue append value {{type:'outdated',module:'{m.name}',download:'{website}',render:'{{\"text\":\"{m.name}\",\"clickEvent\":{{\"action\":\"open_url\",\"value\":\"{website}\"}},\"hoverEvent\":{{\"action\":\"show_text\",\"value\":{{\"text\":\"Click to visit {website}\",\"color\":\"#4AA0C7\"}}}}}}'}}")
+ init.lines.append(f"execute if score {m.id} load.status matches -1.. if score {m.id.removeprefix('gm4_')} gm4_modules matches ..{version - 1} run data modify storage gm4:log queue append value {{type:'outdated',module:'{m.name}',download:'{website}',render:{{'text':'{m.name}','click_event':{{'action':'open_url','url':'{website}'}},'hover_event':{{'action':'show_text','value':{{'text':'Click to visit {website}','color':'#4AA0C7'}}}}}}}}")
def repro_structure_to_bytes(content: StructureFileData) -> bytes:
"""a modified Structure.to_bytes from beet, which ensures the GZip does not add
diff --git a/gm4/plugins/module.py b/gm4/plugins/module.py
index deb2c5f164..5b5006475f 100644
--- a/gm4/plugins/module.py
+++ b/gm4/plugins/module.py
@@ -31,7 +31,7 @@ def gm4_root_advancement(ctx: Context):
"fallback": "Semi-funny blurb about GM4",
"color": "gray"
},
- "background": "textures/block/light_blue_concrete_powder.png",
+ "background": "block/light_blue_concrete_powder",
"announce_to_chat": False
},
"criteria": {
diff --git a/gm4/plugins/output.py b/gm4/plugins/output.py
index e987a90c54..659e41b0f4 100644
--- a/gm4/plugins/output.py
+++ b/gm4/plugins/output.py
@@ -21,7 +21,7 @@
def beet_default(ctx: Context):
"""Saves the datapack to the ./out folder in it's exit phase.
Should be first in pipeline to properly wrap all other plugins cleanup phases"""
- version = os.getenv("VERSION", "1.21")
+ version = os.getenv("VERSION", "1.21.5")
out_dir = Path("out")
yield # wait for exit phase, after other plugins cleanup
@@ -33,7 +33,7 @@ def beet_default(ctx: Context):
def resource_pack(ctx: Context):
"""Saves the resourcepack to the ./out folder."""
- version = os.getenv("VERSION", "1.21")
+ version = os.getenv("VERSION", "1.21.5")
out_dir = Path("out")
ctx.assets.save(
@@ -43,7 +43,7 @@ def resource_pack(ctx: Context):
def release_resource_pack(ctx: Context):
"""Saves the resourcepack to the ./out folder."""
- version = os.getenv("VERSION", "1.21")
+ version = os.getenv("VERSION", "1.21.5")
release_dir = Path("release") / version
yield
@@ -82,7 +82,7 @@ def release(ctx: Context):
`BEET_SMITHED_TOKEN` environment variable is set, will try to publish a
new version to Smithed if it doesn't already exist.
"""
- version_dir = os.getenv("VERSION", "1.21")
+ version_dir = os.getenv("VERSION", "1.21.5")
release_dir = Path("release") / version_dir
corrected_project_id = stem if (stem:=ctx.directory.stem).startswith("lib") else ctx.project_id
@@ -199,7 +199,7 @@ def publish_smithed(ctx: Context, config: ManifestConfig, file_name: str):
"""Attempts to publish pack to smithed"""
auth_token = os.getenv(SMITHED_AUTH_KEY, None)
logger = parent_logger.getChild(f"smithed.{ctx.project_id}")
- mc_version_dir = os.getenv("VERSION", "1.21")
+ mc_version_dir = os.getenv("VERSION", "1.21.5")
manifest = ManifestCacheModel.parse_obj(ctx.cache["gm4_manifest"].json)
project_id = stem if (stem:=ctx.directory.stem).startswith("lib") else ctx.project_id
@@ -299,7 +299,7 @@ def clear_release(ctx: Context):
1. Deleted modules no longer stick around in the current version
2. Changes to the build system (such as renamed files/folders) are properly reflected
"""
- version = os.getenv("VERSION", "1.21")
+ version = os.getenv("VERSION", "1.21.5")
release_dir = Path("release") / version
shutil.rmtree(release_dir, ignore_errors=True)
os.makedirs(release_dir, exist_ok=True)
diff --git a/gm4/plugins/player_heads.py b/gm4/plugins/player_heads.py
index 413b298052..ce8b0a2583 100644
--- a/gm4/plugins/player_heads.py
+++ b/gm4/plugins/player_heads.py
@@ -19,7 +19,9 @@
AstNbtCompound,
AstNbtCompoundEntry,
AstNbtCompoundKey,
+ AstNbtValue,
)
+from nbtlib import String # type: ignore
from PIL.Image import Image
from gm4.utils import InvokeOnJsonNbt
@@ -76,9 +78,8 @@ def json_substitutions(self, node: AstJsonObjectEntry, **kwargs: Any):
@rule(AstNbtCompoundEntry, key=AstNbtCompoundKey(value='minecraft:profile'))
def cmd_substitutions_nbt(self, node: AstNbtCompoundEntry, **kwargs: Any):
- reference = node.value.evaluate()
- if isinstance(reference, str) and reference.startswith("$"):
- skin_val, uuid, d = self.retrieve_texture(reference, **kwargs)
+ if isinstance(node.value, AstNbtValue) and isinstance(node.value.value, String) and node.value.value.startswith("$"):
+ skin_val, uuid, d = self.retrieve_texture(node.value.value, **kwargs)
if d:
yield d
node = replace(node, value=AstNbtCompound.from_value({
diff --git a/gm4/plugins/resource_pack.py b/gm4/plugins/resource_pack.py
index b560f4196d..c2b22eda7f 100644
--- a/gm4/plugins/resource_pack.py
+++ b/gm4/plugins/resource_pack.py
@@ -2,20 +2,20 @@
import glob
import logging
import os
-import re
import sys
from copy import deepcopy
from dataclasses import replace
from functools import cache
from fnmatch import fnmatch
from itertools import cycle
-from typing import Any, ClassVar, Literal, Optional
+from typing import Any, ClassVar, Literal, Optional, Union
import numpy as np
from beet import (
Cache,
Context,
Font,
+ ItemModel,
InvalidOptions,
JsonFile,
Language,
@@ -23,12 +23,11 @@
Model,
NamespaceProxy,
PluginOptions,
- WrappedException,
- YamlFile
+ YamlFile,
+ ResourcePack
)
from beet.contrib.link import LinkManager
-from beet.contrib.optifine import OptifineProperties
-from beet.contrib.vanilla import Vanilla
+from beet.contrib.vanilla import Vanilla, ClientJar
from beet.core.utils import format_validation_error
from mecha import (
AstChildren,
@@ -40,6 +39,7 @@
AstJsonObjectEntry,
AstJsonObjectKey,
AstJsonValue,
+ AstNbtCompound,
AstNbtCompoundEntry,
AstNbtCompoundKey,
AstNbtPath,
@@ -65,6 +65,8 @@
propagate_location,
)
+JsonType = dict[str,Any]
+
CUSTOM_MODEL_PREFIX = 3420000
parent_logger = logging.getLogger("gm4.resource_pack")
@@ -74,29 +76,27 @@ class ModelData(BaseModel):
"""A complete config for a single model"""
item: ListOption[str]
reference: str
- model: MapOption[str|list[dict[str,Any]]] = "" # defaults to same value as 'reference' #type:ignore ; the validator handles the default value
+ model: 'MapOption[str]' = "" # defaults to same value as 'reference' #type:ignore ; the validator handles the default value
template: 'str|TemplateOptions' = "custom"
transforms: Optional[list['TransformOptions']]
textures: MapOption[str] = [] # defaults to same value as reference #type:ignore ; the validator handles the default value
@validator('model', pre=True, always=True) # type: ignore ; v1 validator behaves strangely with type checking
- def default_model(cls, model: Any, values: dict[str,Any]) -> dict[str, str|list[dict[str,Any]]]:
- if isinstance(model, str):
+ def default_model(cls, model: Any, values: JsonType) -> dict[str, str]:
+ if isinstance(model, str) or (isinstance(model, dict) and "type" in model):
model = [model] # so we can check len for number of items
if not model and "reference" in values: # no reference set, default to reference string
return {item: values["reference"] for item in values['item'].entries()}
- if len(i:=values['item'].entries()) == 1 and isinstance(model, list) and isinstance(model[0], dict): # only one item id, predicate model allowed to be single list
- return {i[0]: model}
- if len(model)!=len(values["item"].entries()) and len(model)>1: # a single model name may be broadcast to all items, but otherwise lengths match # type: ignore ; 'model' inherits list[Unknown] from previous isinstance check
+ if len(model)!=len(values["item"].entries()) and len(model)>1 and not "type" in model: # a single model name may be broadcast to all items, but otherwise lengths match # type: ignore ; 'model' inherits list[Unknown] from previous isinstance check
raise ValidationError([ErrorWrapper(ValueError("length of 'item' and 'model' do not match"), loc=())], model=ModelData)
if isinstance(model, list): # apply item->model map data
- return dict(zip(values['item'].entries(), cycle(model))) # type: ignore
+ model = dict(zip(values['item'].entries(), cycle(model))) # type: ignore
if isinstance(model, dict) and set(model.keys())!=set(values['item'].entries()): # make sure the map keys match the item types # type: ignore ; model is Unknown type
raise ValidationError([ErrorWrapper(ValueError("dict keys do not match values in 'item'"), loc=())], model=ModelData)
return model # model is already a mapped dict, of the same length as item # type: ignore
@validator('template') # type: ignore ; v1 validator behaves strangely with type checking
- def enforce_custom_with_override_predicates(cls, template: 'str|TemplateOptions', values: dict[str,Any]) -> 'TemplateOptions':
+ def enforce_custom_with_override_predicates(cls, template: 'str|TemplateOptions', values: JsonType) -> 'TemplateOptions':
# if isinstance(values.get('model'), list) and template != "custom":
# raise ValidationError([ErrorWrapper(ValueError("specifying complex predicates in 'model' is not compatiable with templating. Option must be 'custom'"), loc=())], model=ModelData)
# # NOTE I don't believe this is a valid check anymore, but I'll leave it here commented in case it needs to be repaired in the future
@@ -109,7 +109,7 @@ def enforce_custom_with_override_predicates(cls, template: 'str|TemplateOptions'
raise ValidationError([ErrorWrapper(ValueError(f"the specified template '{name}' could not be found"), loc=())], model=ModelData)
@validator('transforms', each_item=True) # type: ignore ; v1 validator behaves strangely with type checking
- def apply_transform_submodel(cls, transform: 'TransformOptions', values: dict[str,Any]) -> 'None|TransformOptions':
+ def apply_transform_submodel(cls, transform: 'TransformOptions', values: JsonType) -> 'None|TransformOptions':
# find and apply proper submodel
try:
submodel = {m.name: m for m in TransformOptions.__subclasses__()}[transform.name]
@@ -118,7 +118,7 @@ def apply_transform_submodel(cls, transform: 'TransformOptions', values: dict[st
raise ValidationError([ErrorWrapper(ValueError(f"the specified template '{transform.name}' could not be found"), loc=())], model=ModelData)
@validator('textures', pre=True, always=True) # type: ignore ; v1 validator behaves strangely with type checking
- def default_texture(cls, textures: MapOption[str], values: dict[str,Any]) -> MapOption[str]:
+ def default_texture(cls, textures: MapOption[str], values: JsonType) -> MapOption[str]:
empty_list = False
if textures is None: # type: ignore
empty_list = True
@@ -136,12 +136,7 @@ def add_namespace(self, namespace: str) -> 'ModelData':
ret_dict["reference"] = add_namespace(self.reference, namespace)
ret_model = deepcopy(self.model.entries())
for i, model_name in enumerate(ret_model):
- if isinstance(model_name, str):
- ret_model[i] = add_namespace(model_name, namespace) # accessed by index to overwrite original
- else: # isinstance(model_name, list[dict]), add namespace to buried model parameter
- for predicated_model in model_name:
- if 'model' in predicated_model:
- predicated_model['model'] = add_namespace(predicated_model['model'], namespace)
+ ret_model[i] = add_namespace(model_name, namespace) # accessed by index to overwrite original
ret_dict["model"] = ret_model
if self.textures:
if isinstance(self.textures.__root__, list):
@@ -155,8 +150,8 @@ class NestedModelData(BaseModel):
"""A potentially incomplete config, allowing for nested inheritance of fields"""
item: Optional[ListOption[str]]
reference: Optional[str]
- model: Optional[Any] # defalts to reference, expects type of 'Optional[MapOption[str|list[dict[str,Any]]]]', but Pydantic casting caused unknown issues
- template: Optional["str|TemplateOptions"] = "custom"
+ model: Optional[MapOption[str]] # defalts to reference
+ template: Optional['str|TemplateOptions'] = "custom"
transforms: Optional[list['TransformOptions']]
textures: Optional[MapOption[str]]
broadcast: Optional[list['NestedModelData']] = []
@@ -182,7 +177,7 @@ class GuiFont(BaseModel):
texture: str
@validator('container') # type: ignore ; v1 validator behaves strangely with type checking
- def resolve_container(cls, container: 'str|ContainerGuiOptions', values: dict[str,Any]) -> 'ContainerGuiOptions':
+ def resolve_container(cls, container: 'str|ContainerGuiOptions', values: JsonType) -> 'ContainerGuiOptions':
container_type = container.container if isinstance(container, ContainerGuiOptions) else container
try:
subclass = {m.container: m for m in ContainerGuiOptions.__subclasses__()}[container_type]
@@ -254,14 +249,14 @@ class TemplateOptions(BaseModel, extra=Extra.allow):
def __init_subclass__(cls) -> None:
cls.__config__.extra = Extra.ignore # prevent subclasses from inheriting Extra.allow
- def dict(self, **kwargs: Any) -> dict[str,Any]:
+ def dict(self, **kwargs: Any) -> JsonType:
return super().dict(**kwargs) | {"name": self.name} # ensure name class-var is preserved in dict-casting
def generate_model(self, config: ModelData, models_container: NamespaceProxy[Model]) -> None:
"""Processes the template, and applies transforms"""
if self.texture_map and config.textures and isinstance(config.textures.__root__, list):
config = ModelData(**config.dict() | {"textures": dict(zip(self.texture_map, config.textures.entries()))})
- for output_model in self.process(config, models_container): # for each returned pointer, add transforms as needed
+ for output_model in self.create_models(config, models_container): # for each returned pointer, add transforms as needed
if self.default_transforms:
for transform in self.default_transforms:
transform.apply_transform(output_model)
@@ -269,10 +264,14 @@ def generate_model(self, config: ModelData, models_container: NamespaceProxy[Mod
for transform in config.transforms:
transform.apply_transform(output_model)
- def process(self, config: ModelData, models_container: NamespaceProxy[Model]) -> list[Model]:
+ def create_models(self, config: ModelData, models_container: NamespaceProxy[Model]) -> list[Model]:
"""Overridden to create and mount the model object, and return pointers to them"""
raise NotImplementedError()
+ def get_item_def_entry(self, config: ModelData, item: str) -> None|JsonType:
+ """Overridden to return the entry for the item-model-definition, or None to point to ModelData.model string"""
+ return None
+
def add_namespace(self, namespace: str):
"""Overridden to add namespace data to sub-config fields added by a template"""
return self.dict()
@@ -287,7 +286,7 @@ class TransformOptions(BaseModel, extra=Extra.allow):
def __init_subclass__(cls) -> None:
cls.__config__.extra = Extra.ignore # prevent subclasses from inheriting Extra.allow
- def dict(self, **kwargs: Any) -> dict[str,Any]:
+ def dict(self, **kwargs: Any) -> JsonType:
return super().dict(**kwargs) | {"name": self.name} # ensure name class-var is preserved in dict-casting
def apply_transform(self, model: Model) -> None:
@@ -300,7 +299,7 @@ class ContainerGuiOptions(BaseModel, extra=Extra.allow):
def __init_subclass__(cls) -> None:
cls.__config__.extra = Extra.ignore # prevent subclasses from inheriting Extra.allow
- def process(self, config: GuiFont, counter_cache: Cache) -> tuple[str, list[dict[str,Any]]]:
+ def process(self, config: GuiFont, counter_cache: Cache) -> tuple[str, list[JsonType]]:
"""requisitions unicode characters and returns the translation and font providers that make it up"""
raise NotImplementedError()
@@ -309,7 +308,7 @@ def next_unicode(self, counter_cache: Cache) -> str:
counter_cache.json["__next__"] += 1
return chr(ret)
- def dict(self, **kwargs: Any) -> dict[str,Any]:
+ def dict(self, **kwargs: Any) -> JsonType:
return super().dict(**kwargs) | {"container": self.container} # ensure name class-var is preserved in dict-casting
@@ -329,6 +328,11 @@ def beet_default(ctx: Context):
logging.getLogger("beet.contrib.babelbox").addFilter(block_incomplete_translation)
logging.getLogger("mecha").addFilter(limit_mecha_diagnostics)
+ # attach context to template classes
+ VanillaTemplate.vanilla = Vanilla(ctx)
+ VanillaTemplate.vanilla.minecraft_version = '1.21.5'
+ VanillaTemplate.vanilla_jar = VanillaTemplate.vanilla.mount("assets/minecraft/items")
+
yield
tl.warn_unused_translations()
tl.apply_babelbox_backfill()
@@ -340,8 +344,7 @@ def build(ctx: Context):
rp.generate_gui_fonts()
rp.update_modeldata_registry()
rp.generate_model_files()
- rp.process_optifine()
- rp.generate_model_overrides()
+ rp.generate_item_definitions()
if not ctx.assets.extra.get("pack.png") and ctx.data.extra.get("pack.png"):
ctx.assets.icon = ctx.data.icon
@@ -382,24 +385,20 @@ def dump_registry(ctx: Context):
JsonFile(registry).dump(origin="", path="gm4/modeldata_registry.json")
ctx.cache["modeldata_registry"].delete()
-def pad_model_overrides(ctx: Context):
- """Adds overrides for the vanilla model, filling in gaps between CMD values"""
- vanilla = ctx.inject(Vanilla)
- vanilla.minecraft_version = '1.21.3'
- vanilla_models_jar = vanilla.mount("assets/minecraft/models/item")
-
- for name, model in ctx.assets["minecraft"].models.items():
- vanilla_overrides = [{"predicate":{},"model": f"minecraft:{name}"}] + vanilla_models_jar.assets["minecraft"].models[name].data.get("overrides", [])
- overrides: list[Any] = model.data["overrides"]
+def pad_item_def_range_dispatch(ctx: Context):
+ for item_def in ctx.assets["minecraft"].item_models.values():
+ vanilla_item_def = item_def.data["model"]["fallback"]
+ entries: list[Any] = item_def.data["model"]["entries"]
prior_cmd = 1e8
- for i, override in reversed(list(enumerate(overrides))):
- if "custom_model_data" in (pred:=override.get("predicate")):
- if prior_cmd-(prior_cmd:=pred["custom_model_data"]) > 1: # theres a gap to fill with the vanilla model
- for entry in vanilla_overrides:
- entry["predicate"]["custom_model_data"] = prior_cmd+1
- for vanilla_override in reversed(vanilla_overrides):
- overrides.insert(i+1, deepcopy(vanilla_override))
+ for i, entry in reversed(list(enumerate(entries))):
+ if prior_cmd-(prior_cmd:=entry["threshold"]) > 1: # theres a gap to fill
+ entries.insert(i+1, {
+ "threshold": prior_cmd+1,
+ "model": vanilla_item_def
+ })
+def merge_policy(ctx: Context):
+ ctx.assets.merge_policy.extend_namespace(ItemModel, item_definition_merging)
def link_resource_pack(ctx: Context):
"""manually links the combined resource pack to minecraft's RP folder when using 'beet dev'"""
@@ -469,41 +468,49 @@ def update_modeldata_registry(self):
self.logger.info(f"Removing undefined custom_model_data from {item_id} registry: '{ref}'")
del reg[ref]
- def generate_model_overrides(self):
- """Generates item model overrides in the 'minecraft' namespace, adding predicates for custom_model_data"""
+ def generate_item_definitions(self):
+ """Generates item-model-definition files in the 'minecraft' namespace, adding range_dispatch entries for each custom_model_data value"""
vanilla = self.ctx.inject(Vanilla)
- vanilla.minecraft_version = '1.21.3'
- vanilla_models_jar = vanilla.mount("assets/minecraft/models/item")
+ vanilla.minecraft_version = '1.21.5'
+ vanilla_item_defs_jar = vanilla.mount("assets/minecraft/items")
# group models by item id
for item_id in {i for m in self.opts.model_data for i in m.item.entries()}:
models = filter(lambda m: item_id in m.item.entries(), self.opts.model_data) # with this item_id
models = sorted(models, key=lambda m: self.retrieve_index(m.reference)[0])
- vanilla_model = deepcopy( (v:=vanilla_models_jar.assets.models[f"minecraft:item/{item_id}"].data) | ({} if v.get("overrides") else {"overrides": []}) )
- vanilla_overrides: list[Any] = vanilla_model["overrides"]
- for override in vanilla_overrides:
- override["model"] = add_namespace(override["model"], "minecraft") # ensure vanilla models have namespaced files
- unchanged_vanilla_overrides = vanilla_overrides.copy()
-
+ vanilla_itemdef = vanilla_item_defs_jar.assets.item_models[f"minecraft:{item_id}"].data["model"]
+
+ new_itemdef: dict[str, Any] = {
+ "model": {
+ "type": "minecraft:range_dispatch",
+ "property": "minecraft:custom_model_data",
+ "entries": [],
+ "fallback": vanilla_itemdef
+ }
+ }
+ itemdef_entries: list[Any] = new_itemdef["model"]["entries"]
+
for model in models:
- m = model.model[item_id] # model string, or predicate settings, for this particular item id
- # setup overrides to add CMD to
- if isinstance(m, list): # manual predicate merging specified
- merge_overrides = [o|{"user_defined": True} for o in m]
- else:
- merge_overrides = unchanged_vanilla_overrides.copy() # get vanilla overrides
- merge_overrides.append({}) # add an empty predicate to add CMD onto, without all other case checks
-
- for pred in merge_overrides:
- if not pred.get("model") and not isinstance(m, str):
- self.logger.warning(f"Manually specified model predicate has no 'model' field, and is malformed:\n\t{pred}")
- vanilla_overrides.append({
- "predicate": {
- "custom_model_data": self.cmd_prefix+self.retrieve_index(model.reference)[0],
- } | pred.get("predicate", {}),
- "model": pred["model"] if pred.get("user_defined") else m # type:ignore , user-defined model predicates use their own model reference. m is a string in all other cases
- })
- self.ctx.assets.models[f"minecraft:item/{item_id}"] = Model(vanilla_model)
+ if isinstance(model.template, str):
+ continue # TODO is this correct?
+
+ if not (m:=model.template.get_item_def_entry(model, item_id)):
+ # no special handling, just point to model file by name
+ m = model.model[item_id] # model string for this particular item id
+ model_json: JsonType = {
+ "type": "minecraft:model",
+ "model": m
+ }
+ else:
+ model_json = m
+
+ itemdef_entries.append({
+ "threshold": self.cmd_prefix+self.retrieve_index(model.reference)[0],
+ "model": model_json
+ })
+
+ itemdef_entries.sort(key=lambda entry: entry["threshold"]) # sort entries ascending
+ self.ctx.assets.item_models[f"minecraft:{item_id}"] = ItemModel(new_itemdef)
def retrieve_index(self, reference: str) -> tuple[int, KeyError|None]:
"""retrieves the CMD value for the given reference"""
@@ -565,9 +572,8 @@ def json_substitutions_item_modifier(self, node: AstJsonObject, **kwargs: Any):
@rule(AstNbtCompoundEntry, key=AstNbtCompoundKey(value="minecraft:custom_model_data"))
def cmd_substitutions_nbt(self, node: AstNbtCompoundEntry, **kwargs: Any):
- reference = node.value.evaluate()
- if isinstance(reference, str):
- index, exc = self.retrieve_index(add_namespace(reference, self.ctx.project_id))
+ if isinstance(node.value, AstNbtValue) and isinstance(node.value.value, String):
+ index, exc = self.retrieve_index(add_namespace(node.value.value, self.ctx.project_id))
if exc:
yield Diagnostic("error", str(exc), filename=kwargs.get("filename"), file=kwargs.get("file"))
node = replace(node, value=AstNbtValue.from_value({ "floats": [index+self.cmd_prefix] }))
@@ -577,9 +583,8 @@ def cmd_substitutions_nbt(self, node: AstNbtCompoundEntry, **kwargs: Any):
@rule(AstItemPredicateTestComponent)
def cmd_substitutions_component(self, node: AstItemComponent | AstItemPredicateTestComponent, **kwargs: Any):
if node.value and node.key.get_canonical_value() == "minecraft:custom_model_data":
- reference = node.value.evaluate()
- if isinstance(reference, str):
- index, exc = self.retrieve_index(add_namespace(reference, self.ctx.project_id))
+ if isinstance(node.value, AstNbtValue) and isinstance(node.value.value, String):
+ index, exc = self.retrieve_index(add_namespace(node.value.value, self.ctx.project_id))
if exc:
yield Diagnostic("error", str(exc), filename=kwargs.get("filename"), file=kwargs.get("file"))
node = replace(node, value=AstNbtValue.from_value({ "floats": [index+self.cmd_prefix] }))
@@ -590,31 +595,17 @@ def cmd_substitutions_component(self, node: AstItemComponent | AstItemPredicateT
@rule(AstCommand, identifier="data:modify:entity:target:targetPath:set:value:value")
def cmd_substitutions_datamodify(self, node: AstCommand):
ast_target, ast_target_path, ast_nbt = node.arguments
- match ast_target_path, ast_nbt.evaluate(): # type: ignore ; ast_nbt is AstNbtValue|AstNbtCompound, which do have .evaluate() methods
- case AstNbtPath(components=[*_, AstNbtPathKey(value="minecraft:custom_model_data")]), String(reference):
+ match ast_target_path, ast_nbt:
+ case AstNbtPath(components=[*_, AstNbtPathKey(value="minecraft:custom_model_data")]), AstNbtValue(value=String(reference)):
index, exc = self.retrieve_index(add_namespace(reference, self.ctx.project_id))
if exc:
d = Diagnostic("error", str(exc))
yield set_location(d, ast_nbt)
node = replace(node, arguments=AstChildren([ast_target, ast_target_path, AstNbtValue.from_value({ "floats": [index+self.cmd_prefix] })]))
+ case _:
+ pass
return node
-
-
- #== Non-mecha CMD filling ==#
- def process_optifine(self):
- """Handles string references in the .properties files of Optifine"""
- # TODO 1.20.5: figure out how to do this
- pattern = re.compile(r"^nbt.CustomModelData=(?:regex:\()?(.+?)\)?$", re.MULTILINE)
- for name, propfile in self.ctx.assets[OptifineProperties].items():
- match = pattern.search(propfile.text)
- if not match:
- continue
- for ref in [r for r in match.group(1).split("|") if r.startswith("$")]:
- index, exc = self.retrieve_index(add_namespace(ref.lstrip("$"), self.ctx.project_id))
- if exc:
- raise WrappedException(f"Optifine CIT file {name}.properties") from exc
- propfile.text = propfile.text.replace(ref, str(index+self.cmd_prefix))
#== Model file generation ==#
def generate_model_files(self):
@@ -649,13 +640,34 @@ def generate_gui_fonts(self):
"providers": providers
}))
+def item_definition_merging(pack: ResourcePack, path: str, current: ItemModel, conflict: ItemModel) -> bool:
+ """ItemModel beet merge rule for combining range_dispatch properly"""
+ if current.data["model"].get("type") != "minecraft:range_dispatch" or conflict.data["model"].get("type") != "minecraft:range_dispatch":
+ parent_logger.warning(f"item model {path} was sent to merging but only one file uses 'range_dispatch'")
+ return False
+
+ merged_entries: list[Any] = current.data["model"]["entries"]
+ merged_entries.extend(conflict.data["model"]["entries"])
+ merged_entries.sort(key=lambda entry: entry["threshold"])
+
+ # remove duplicate entries - relying on each CMD to be unique already
+ seen_values: set[int] = set()
+ for entry in merged_entries.copy():
+ if (v:=entry["threshold"]) not in seen_values:
+ seen_values.add(v)
+ else: # otherwise its a duplicate
+ merged_entries.remove(entry)
+
+ return True
+
+
class TranslationLinter(Reducer):
"""Mecha linter ensuring all translation keys are registered in translations.csv"""
def __init__(self, ctx: Context):
self.ctx = ctx
self.mecha_database = ctx.inject(Mecha).database
vanilla = ctx.inject(Vanilla)
- vanilla.minecraft_version = '1.21.3'
+ vanilla.minecraft_version = '1.21.5'
vanilla_lang = vanilla.mount("assets/minecraft/lang/en_us.json")
self.vanilla_keys = set(vanilla_lang.assets.languages["minecraft:en_us"].data.keys())
self.total_keys: set[str] = set()
@@ -680,8 +692,9 @@ def check_nbt_json(self, node: AstNbtValue):
except DiagnosticError:
pass # string is not json
+ @rule(AstNbtCompound)
@rule(AstJsonObject)
- def missing_en_us_translations(self, node: AstJsonObject):
+ def missing_en_us_translations(self, node: Union[AstNbtCompound, AstJsonObject]):
self.setup_translation_lookups()
# manually skip gm4 root advancement, which contains globally defined translations
@@ -690,26 +703,28 @@ def missing_en_us_translations(self, node: AstJsonObject):
return
# check node fallback contents against babelbox translations
- match node.evaluate(): # type: ignore , node has evaluate() method
- case {"translate": str(transl_key), "fallback": str(fallback)}:
- if transl_key.startswith("gui.gm4") or transl_key=="gm4.second":
- # gui-texture translations from other modules are defined in their gui_fonts segment of beet.yaml, so they won't be
- # known to the linter easily. For now, we just ignore their warnings
- return
- if self.babelbox_lang.get(transl_key) != fallback:
- if transl_key in self.babelbox_lang and not self.backfill_enable:
- yield set_location(Diagnostic("info", f"Fallback for {transl_key} does not match that provided in 'translations.csv'"), node)
-
- elif self.backfill_enable and transl_key not in self.backfill_values and transl_key not in self.foreign_keys:
- self.logger.info(f"Backfilling the fallback for {transl_key} into 'translations.csv'")
- self.backfill_values[transl_key] = fallback
- yield self.check_key(transl_key, node)
-
- case {"translate": str(transl_key), **other_keys}:
- if "fallback" not in other_keys and self.babelbox_lang.get(transl_key): # if non-technical translation
- yield set_location(Diagnostic("warn", f"No translation fallback specified for {transl_key}"), node)
- yield self.check_key(transl_key, node)
- return
+ translate_entry = next((e for e in node.entries if e.key.value == "translate"), None)
+ if not translate_entry:
+ return
+ transl_key = str(translate_entry.value.evaluate())
+ fallback_extry = next((e for e in node.entries if e.key.value == "fallback"), None)
+ if fallback_extry:
+ fallback = str(fallback_extry.value.evaluate())
+ if transl_key.startswith("gui.gm4") or transl_key=="gm4.second":
+ # gui-texture translations from other modules are defined in their gui_fonts segment of beet.yaml, so they won't be
+ # known to the linter easily. For now, we just ignore their warnings
+ return
+ if self.babelbox_lang.get(transl_key) != fallback:
+ if transl_key in self.babelbox_lang and not self.backfill_enable:
+ yield set_location(Diagnostic("info", f"Fallback for {transl_key} does not match that provided in 'translations.csv'"), node)
+ elif self.backfill_enable and transl_key not in self.backfill_values and transl_key not in self.foreign_keys:
+ self.logger.info(f"Backfilling the fallback for {transl_key} into 'translations.csv'")
+ self.backfill_values[transl_key] = fallback
+ yield self.check_key(transl_key, node)
+ else:
+ if self.babelbox_lang.get(transl_key):
+ yield set_location(Diagnostic("warn", f"No translation fallback specified for {transl_key}"), node)
+ yield self.check_key(transl_key, node)
def check_key(self, transl_key: str, node: Any):
self.used_keys.add(transl_key)
@@ -795,44 +810,39 @@ def limit_mecha_diagnostics(record: logging.LogRecord):
record.args = ("\n".join(truncated),)
return True
-#== Default Templates and Transforms ==#
+#== Default Templates, Transforms and Item Model Special Cases ==#
def ensure_single_model_config(template_name: str, config: ModelData) -> str:
"""Does common error checking for templates that only work when creating a single model file"""
if len(config.model.entries()) > 1:
raise InvalidOptions("gm4.model_data", f"{config.reference}; Template '{template_name}' only supports single entry 'model' fields.")
- if isinstance(model_name:=config.model.entries()[0], list):
- raise InvalidOptions("gm4.model_data", f"{config.reference}; Template '{template_name}' does not support predicate override 'model' fields.")
- return model_name
+ return config.model.entries()[0]
class BlankTemplate(TemplateOptions):
name = "custom"
- def process(self, config: ModelData, models_container: NamespaceProxy[Model]) -> list[Model]:
+ def create_models(self, config: ModelData, models_container: NamespaceProxy[Model]) -> list[Model]:
"""A model file will be provided in source - do not generate a model.
Will process any specified transforms and add them to the model file"""
if config.transforms:
ret_list: list[Model] = []
for m in config.model.entries():
- for model_file in ([override['model'] for override in m] if not isinstance(m, str) else [m]):
- try:
- ret_list.append(models_container[model_file])
- except:
- parent_logger.warning(f"Custom specified model {model_file} does not exist, but was configured to recieve transforms.")
+ try:
+ ret_list.append(models_container[m])
+ except:
+ parent_logger.warning(f"Custom specified model {m} does not exist, but was configured to recieve transforms.")
return ret_list
return []
class GeneratedTemplate(TemplateOptions):
name = "generated"
- def process(self, config: ModelData, models_container: NamespaceProxy[Model]) -> list[Model]:
+ def create_models(self, config: ModelData, models_container: NamespaceProxy[Model]) -> list[Model]:
if len(config.textures.entries()) > 1:
raise InvalidOptions("gm4.model_data", f"{config.reference}; Template 'generated' currently only supports a single texture.")
# NOTE in the future, `generated` could accept a map for textures to provide a different texture for each model. But packs may be better served by simply creating those models themselves
ret_list: list[Model] = []
for model_name in config.model.entries():
- if isinstance(model_name, list):
- raise InvalidOptions("gm4.model_data", f"{config.reference}; Template 'generated' does not support predicate override 'model' fields.")
m = models_container[model_name] = Model({
"parent": "minecraft:item/generated",
"textures": {
@@ -845,7 +855,7 @@ def process(self, config: ModelData, models_container: NamespaceProxy[Model]) ->
class GeneratedOverlayTemplate(TemplateOptions):
name = "generated_overlay"
- def process(self, config: ModelData, models_container: NamespaceProxy[Model]) -> list[Model]:
+ def create_models(self, config: ModelData, models_container: NamespaceProxy[Model]) -> list[Model]:
"""A special-case 'generated' template, where an 'overlay' texture is specified by appending '_overlay' to its filename"""
model_name = ensure_single_model_config(self.name, config)
m = models_container[model_name] = Model({
@@ -860,7 +870,7 @@ def process(self, config: ModelData, models_container: NamespaceProxy[Model]) ->
class HandheldTemplate(TemplateOptions):
name = "handheld"
- def process(self, config: ModelData, models_container: NamespaceProxy[Model]):
+ def create_models(self, config: ModelData, models_container: NamespaceProxy[Model]):
model_name = ensure_single_model_config(self.name, config)
m = models_container[model_name] = Model({
"parent": "minecraft:item/handheld",
@@ -872,59 +882,135 @@ def process(self, config: ModelData, models_container: NamespaceProxy[Model]):
class VanillaTemplate(TemplateOptions):
name = "vanilla"
+ vanilla: ClassVar[Vanilla] # mounted to by beet plugin since it requires context access
+ vanilla_jar: ClassVar[ClientJar]
+ _item_def_map: dict[str, JsonType] = {}
- def process(self, config: ModelData, models_container: NamespaceProxy[Model]):
+ def create_models(self, config: ModelData, models_container: NamespaceProxy[Model]):
model_names = config.model.entries()
- if any([isinstance(m, list) for m in model_names]):
- raise InvalidOptions("gm4.model_data", f"{config.reference}; Template 'vanilla' does not support predicate override 'model' fields.")
if len(set(model_names)) == 1 and len(config.item.entries()) > 1:
model_names = [f"{model_names[0]}_{item}" for item in config.item.entries()] # if only one model name given, make one model per item id
+
+ model_def_map: dict[str,JsonType] = {}
ret_list: list[Model] = []
for item, model_name in zip(config.item.entries(), model_names):
- m = models_container[model_name] = Model({ # type: ignore ; list is checked above to be all strings
- "parent": f"minecraft:item/{item}"
+ model_compound = self.vanilla_jar.assets.item_models[add_namespace(item, "minecraft")].data.get("model", {})
+ if model_compound["type"] == "minecraft:select": # template off the fallback model, (e.g. non-festive chest)
+ model_compound = model_compound["fallback"]
+
+ if model_compound["type"] == "minecraft:special": # uses some special handling
+ vanilla_model_path: str = model_compound["base"] # covers player_head use case. Others may not be handled properly yet.
+ special_model = True
+ else:
+ vanilla_model_path: str = model_compound.get("model", "")
+ special_model = False
+ m = models_container[model_name] = Model({
+ "parent": vanilla_model_path
})
ret_list.append(m)
- config.model = MapOption(__root__=dict(zip(config.item.entries(), model_names)))
+ model_def_map[item] = {
+ "type": "minecraft:special" if special_model else "minecraft:model",
+ "model": model_compound["model"] if special_model else model_name,
+ } | (
+ {"base": model_name} if special_model else {}
+ ) | (
+ {"tints": t} if (t:=model_compound.get("tints")) else {}
+ )
+ self._item_def_map.update(model_def_map)
return ret_list
+
+ def get_item_def_entry(self, config: ModelData, item: str):
+ return self._item_def_map.get(item)
+
+class AdvancementIconTemplate(VanillaTemplate, TemplateOptions): # TODO make this inheritance work properly. Treat as single-vanilla forward or create new where needed
+ """Creates a model for advancement icons, either pointing to the vanilla model, or to a specified other item model"""
+ name = "advancement"
+ forward: Optional[str]
+ tints: Optional[ListOption[int|tuple[float,float,float]]] # optional constant tints to apply to the item model
+
+ # NOTE since advancements are all in the gm4 namespace, so are these models. This template ignores the 'model' field of ModelData
+ def create_models(self, config: ModelData, models_container: NamespaceProxy[Model]) -> list[Model]:
+ advancement_name = config.reference.split("/")[-1]
+ item = config.item.entries()[0]
+
+ if not self.forward:
+ # then we use the vanilla item's model and settings - inheriting from VanillaTemplate for this
+ config_copy = config.copy(update={"model": MapOption(__root__={item: f"gm4:gui/advancement/{advancement_name}"})})
+ m = VanillaTemplate.create_models(self, config_copy, models_container)[0]
+
+ else:
+ m = models_container[f"gm4:gui/advancement/{advancement_name}"] = Model({
+ "parent": self.forward
+ })
+ config.model = MapOption(__root__={item: f"gm4:gui/advancement/{advancement_name}"})
+ return [m]
+
+ def get_item_def_entry(self, config: ModelData, item: str):
+ if not self.forward: # use item def from VanillaTemplate
+ return VanillaTemplate.get_item_def_entry(self, config, item)
+ else:
+ if self.tints:
+ return {
+ "type": "model",
+ "model": config.model.entries()[0],
+ "tints": [
+ {
+ "type": "minecraft:constant",
+ "value": tint
+ }
+ for tint in self.tints.entries()
+ ]
+ }
+ return None
+
+ def add_namespace(self, namespace: str):
+ return self.dict() | ({"forward": add_namespace(self.forward, namespace)} if self.forward else {})
class BlockTemplate(TemplateOptions):
name = "block"
texture_map = ["top", "bottom", "front", "side"]
- def process(self, config: ModelData, models_container: NamespaceProxy[Model]):
+ def create_models(self, config: ModelData, models_container: NamespaceProxy[Model]):
model_name = ensure_single_model_config(self.name, config)
m = models_container[model_name] = Model({
"parent": "minecraft:block/cube",
"textures": {
- "down": config.textures['bottom'],
- "up": config.textures['top'],
- "north": config.textures['front'],
- "south": config.textures['side'],
- "west": config.textures['side'],
- "east": config.textures['side']
+ "particle": config.textures['side'],
+ "down": config.textures['bottom'],
+ "up": config.textures['top'],
+ "north": config.textures['front'],
+ "south": config.textures['side'],
+ "west": config.textures['side'],
+ "east": config.textures['side']
}
})
return [m]
-class AdvancementIconTemplate(TemplateOptions):
- name = "advancement"
- forward: Optional[str]
-
- # NOTE since advancements are all in the gm4 namespace, so are these models. This template ignores the 'model' field of ModelData
- def process(self, config: ModelData, models_container: NamespaceProxy[Model]) -> list[Model]:
- advancement_name = config.reference.split("/")[-1]
- if not self.forward:
- self.forward = f"minecraft:item/{config.item.entries()[0]}"
- m = models_container[f"gm4:gui/advancements/{advancement_name}"] = Model({
- "parent": self.forward
- })
- config.model = MapOption(__root__={config.item.entries()[0]: f"gm4:gui/advancements/{advancement_name}"})
- return [m]
+class ConditionTemplate(BlankTemplate, TemplateOptions):
+ """Custom models using boolean condition variants (ie. broken/repaired elytra, cast/uncast fishing rods...)"""
+ name = "condition"
+ property: str
+ on_true: str
+ on_false: str
+
+ def get_item_def_entry(self, config: ModelData, item: str) -> JsonType:
+ return {
+ "type": "minecraft:condition",
+ "property": self.property,
+ "on_false": {
+ "type": "minecraft:model",
+ "model": self.on_false
+ },
+ "on_true": {
+ "type": "minecraft:model",
+ "model": self.on_true
+ }
+ }
def add_namespace(self, namespace: str):
- return self.dict() | ({"forward": add_namespace(self.forward, namespace)} if self.forward else {})
+ return self.dict() | {"on_true": add_namespace(self.on_true, namespace),
+ "on_false": add_namespace(self.on_false, namespace)}
class ItemDisplayModel(TransformOptions):
"""Calculates the model transform for an item_display entity, located at the specified origin, facing south, for the model to align with the block-grid"""
diff --git a/gm4/plugins/write_mcmeta.py b/gm4/plugins/write_mcmeta.py
index 501774e6e0..e8d85e2747 100644
--- a/gm4/plugins/write_mcmeta.py
+++ b/gm4/plugins/write_mcmeta.py
@@ -9,17 +9,17 @@ def beet_default(ctx: Context):
manifest = ManifestCacheModel.parse_obj(ctx.cache["gm4_manifest"].json)
manifest_entry = {v.id:v for v in (manifest.modules|manifest.libraries).values()}.get(ctx.project_id, NoneAttribute())
- ctx.data.pack_format = 61
- ctx.data.supported_formats = {"min_inclusive": 48, "max_inclusive": 61}
- ctx.assets.pack_format = 46
- ctx.assets.supported_formats = {"min_inclusive": 34, "max_inclusive": 46}
+ ctx.data.pack_format = 71
+ ctx.data.supported_formats = {"min_inclusive": 71, "max_inclusive": 71}
+ ctx.assets.pack_format = 55
+ ctx.assets.supported_formats = {"min_inclusive": 55, "max_inclusive": 55}
for pack in ctx.packs:
pack.description = [
ctx.project_name,
"\n",
{
- "text": f"Gamemode 4 for 1.21 - 1.21.4",
+ "text": f"Gamemode 4 for 1.21.5",
"color": "#4AA0C7"
}
]
diff --git a/gm4_animi_shamir/beet.yaml b/gm4_animi_shamir/beet.yaml
index 730882ceb9..640f08438b 100644
--- a/gm4_animi_shamir/beet.yaml
+++ b/gm4_animi_shamir/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_animi_shamir
name: Animi Shamir
-version: 1.4.X
+version: 1.5.X
data_pack:
load: .
@@ -18,8 +18,8 @@ meta:
gm4:
versioning:
required:
- gm4_metallurgy: 1.4.0
- lib_player_death: 1.2.0
+ gm4_metallurgy: 1.5.0
+ lib_player_death: 1.3.0
schedule_loops: [main]
model_data:
- reference: shamir/animi
diff --git a/gm4_animi_shamir/data/gm4_animi_shamir/loot_table/band.json b/gm4_animi_shamir/data/gm4_animi_shamir/loot_table/band.json
index 33a2115ddc..49088c8df8 100644
--- a/gm4_animi_shamir/data/gm4_animi_shamir/loot_table/band.json
+++ b/gm4_animi_shamir/data/gm4_animi_shamir/loot_table/band.json
@@ -23,7 +23,7 @@
"lore": [
{
"translate": "item.gm4.shamir.animi",
- "fallback": "Animi",
+ "fallback": "Animi Shamir",
"italic": false,
"color": "gray"
}
diff --git a/gm4_animi_shamir/translations.csv b/gm4_animi_shamir/translations.csv
index a6c00c28e9..dd6d1d4a0e 100644
--- a/gm4_animi_shamir/translations.csv
+++ b/gm4_animi_shamir/translations.csv
@@ -1,5 +1,5 @@
key,en_us
-item.gm4.shamir.animi,Animi
+item.gm4.shamir.animi,Animi Shamir
text.gm4.guidebook.module_desc.animi_shamir,Adds the Animi Shamir to Metallurgy. Items with Animi will respawn with you when you die!
text.gm4.guidebook.animi_shamir.description,Animi allows items to return to their owner upon death.
text.gm4.guidebook.animi_shamir.usage,"The Animi Shamir is found on Curie's Bismium Bands. It can be placed onto tools, armour, weapons, and elytra.\n\nAnimi items do not drop when the owner dies, instead appearing in their inventory upon respawning."
diff --git a/gm4_apple_trees/beet.yaml b/gm4_apple_trees/beet.yaml
index ff2c355a19..abf1f56eab 100644
--- a/gm4_apple_trees/beet.yaml
+++ b/gm4_apple_trees/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_apple_trees
name: Apple Trees
-version: 2.4.X
+version: 2.5.X
data_pack:
load: .
@@ -17,8 +17,8 @@ meta:
gm4:
versioning:
required:
- lib_trades: 1.5.0
- lib_trees: 1.2.0
+ lib_trades: 1.6.0
+ lib_trees: 1.3.0
schedule_loops:
- main
- slow_clock
diff --git a/gm4_apple_trees/data/gm4_apple_trees/function/leaf/set_stage/0.mcfunction b/gm4_apple_trees/data/gm4_apple_trees/function/leaf/set_stage/0.mcfunction
index b85bc22836..92ae079d61 100644
--- a/gm4_apple_trees/data/gm4_apple_trees/function/leaf/set_stage/0.mcfunction
+++ b/gm4_apple_trees/data/gm4_apple_trees/function/leaf/set_stage/0.mcfunction
@@ -11,5 +11,5 @@ scoreboard players operation @s gm4_fruit_age -= #stage_0_start gm4_apple_data
# visuals
execute if predicate gm4_apple_trees:apple_holding positioned ~0.5 ~1.5 ~0.5 positioned ^-.25 ^ ^.1 run function gm4_apple_trees:leaf/apple/drop
-data merge entity @s {Marker:1b,HandItems:[],ShowArms:1b,Small:1b,DisabledSlots:2171166,Tags:["gm4_no_edit","gm4_apple","smithed.entity","smithed.strict"]}
+data merge entity @s {Marker:1b,equipment:{},ShowArms:1b,Small:1b,DisabledSlots:2171166,Tags:["gm4_no_edit","gm4_apple","smithed.entity","smithed.strict"]}
tp @s ~0.5 ~1.05 ~0.5
diff --git a/gm4_apple_trees/data/gm4_apple_trees/function/leaf/set_stage/1.mcfunction b/gm4_apple_trees/data/gm4_apple_trees/function/leaf/set_stage/1.mcfunction
index 12b9256127..10e6bf25e3 100644
--- a/gm4_apple_trees/data/gm4_apple_trees/function/leaf/set_stage/1.mcfunction
+++ b/gm4_apple_trees/data/gm4_apple_trees/function/leaf/set_stage/1.mcfunction
@@ -8,4 +8,4 @@ scoreboard players operation @s gm4_fruit_stage = #stage_2_start gm4_apple_data
# visuals
playsound minecraft:block.beehive.drip block @a[distance=..8] ~ ~ ~ 0.3 1.4
-data merge entity @s {Marker:0b,ShowArms:1b,HandItems:[{},{id:"minecraft:apple",count:1,components:{"minecraft:custom_model_data":"block/apple_unripe"}}],Pose:{LeftArm:[0.0f,90.0f,90.0f]}}
+data merge entity @s {Marker:0b,ShowArms:1b,equipment:{offhand:{id:"minecraft:apple",count:1,components:{"minecraft:custom_model_data":"block/apple_unripe"}}},Pose:{LeftArm:[0.0f,90.0f,90.0f]}}
diff --git a/gm4_apple_trees/data/gm4_apple_trees/function/leaf/set_stage/2.mcfunction b/gm4_apple_trees/data/gm4_apple_trees/function/leaf/set_stage/2.mcfunction
index 151959c8a4..614d4de3df 100644
--- a/gm4_apple_trees/data/gm4_apple_trees/function/leaf/set_stage/2.mcfunction
+++ b/gm4_apple_trees/data/gm4_apple_trees/function/leaf/set_stage/2.mcfunction
@@ -8,5 +8,5 @@ scoreboard players operation @s gm4_fruit_stage = #stage_0_start gm4_apple_data
# visuals
playsound minecraft:block.beehive.drip block @a[distance=..8] ~ ~ ~ 0.3 1.4
-data merge entity @s {HandItems:[{},{id:"minecraft:apple",count:1}],ShowArms:1b,Small:0b,DisabledSlots:30,Tags:["gm4_no_edit","gm4_apple","gm4_ripe_apple","smithed.entity","smithed.strict"],Pose:{LeftArm:[0.0f,90.0f,90.0f]}}
+data merge entity @s {equipment:{offhand:{id:"minecraft:apple",count:1}},ShowArms:1b,Small:0b,DisabledSlots:30,Tags:["gm4_no_edit","gm4_apple","gm4_ripe_apple","smithed.entity","smithed.strict"],Pose:{LeftArm:[0.0f,90.0f,90.0f]}}
tp @s ~0.5 ~-0.9 ~0.5
diff --git a/gm4_apple_trees/data/gm4_apple_trees/function/sapling/initialize.mcfunction b/gm4_apple_trees/data/gm4_apple_trees/function/sapling/initialize.mcfunction
index 442ab77920..d903f42e7e 100644
--- a/gm4_apple_trees/data/gm4_apple_trees/function/sapling/initialize.mcfunction
+++ b/gm4_apple_trees/data/gm4_apple_trees/function/sapling/initialize.mcfunction
@@ -3,6 +3,6 @@
# located at the center of the placed sapling
# run from gm4_apple_trees:verify/initialize_sapling
-summon marker ~ ~ ~ {CustomName:'"gm4_apple_tree_sapling"',Tags:["gm4_tree_sapling","gm4_apple_tree_sapling","smithed.entity","smithed.strict","smithed.block"]}
+summon marker ~ ~ ~ {CustomName:"gm4_apple_tree_sapling",Tags:["gm4_tree_sapling","gm4_apple_tree_sapling","smithed.entity","smithed.strict","smithed.block"]}
scoreboard players set @e[type=marker,tag=gm4_apple_tree_sapling,distance=..0.1] gm4_sap_growth 2
scoreboard players set @e[type=marker,tag=gm4_apple_tree_sapling,distance=..0.1] gm4_entity_version 1
diff --git a/gm4_apple_trees/data/gm4_apple_trees/function/upgrade_path/apple_leaf_markers.mcfunction b/gm4_apple_trees/data/gm4_apple_trees/function/upgrade_path/apple_leaf_markers.mcfunction
index 734f030e5b..13db9ea356 100644
--- a/gm4_apple_trees/data/gm4_apple_trees/function/upgrade_path/apple_leaf_markers.mcfunction
+++ b/gm4_apple_trees/data/gm4_apple_trees/function/upgrade_path/apple_leaf_markers.mcfunction
@@ -11,5 +11,5 @@ tag @s add smithed.strict
scoreboard players set @s gm4_entity_version 2
-execute if entity @s[tag=gm4_ripe_apple] align xyz run summon marker ~0.5 ~2.5 ~0.5 {CustomName:'"gm4_apple_leaf"',Tags:["gm4_tree_leaf","gm4_apple_leaf","smithed.entity","smithed.strict","smithed.block"]}
-execute if entity @s[tag=!gm4_ripe_apple] align xyz run summon marker ~0.5 ~1.5 ~0.5 {CustomName:'"gm4_apple_leaf"',Tags:["gm4_tree_leaf","gm4_apple_leaf","smithed.entity","smithed.strict","smithed.block"]}
+execute if entity @s[tag=gm4_ripe_apple] align xyz run summon marker ~0.5 ~2.5 ~0.5 {CustomName:"gm4_apple_leaf",Tags:["gm4_tree_leaf","gm4_apple_leaf","smithed.entity","smithed.strict","smithed.block"]}
+execute if entity @s[tag=!gm4_ripe_apple] align xyz run summon marker ~0.5 ~1.5 ~0.5 {CustomName:"gm4_apple_leaf",Tags:["gm4_tree_leaf","gm4_apple_leaf","smithed.entity","smithed.strict","smithed.block"]}
diff --git a/gm4_apple_trees/data/gm4_apple_trees/function/upgrade_path/fruiting_to_general.mcfunction b/gm4_apple_trees/data/gm4_apple_trees/function/upgrade_path/fruiting_to_general.mcfunction
index 7aa1a982f7..a52f5d8646 100644
--- a/gm4_apple_trees/data/gm4_apple_trees/function/upgrade_path/fruiting_to_general.mcfunction
+++ b/gm4_apple_trees/data/gm4_apple_trees/function/upgrade_path/fruiting_to_general.mcfunction
@@ -3,5 +3,5 @@
# located at world spawn
# run from gm4_apple_trees:verify/upgrade_fruiting_to_general
-data merge entity @s {CustomName:'"gm4_apple_tree_sapling"',Tags:["gm4_tree_sapling","gm4_apple_tree_sapling","smithed.entity","smithed.strict","smithed.block"]}
+data merge entity @s {CustomName:"gm4_apple_tree_sapling",Tags:["gm4_tree_sapling","gm4_apple_tree_sapling","smithed.entity","smithed.strict","smithed.block"]}
scoreboard players set @s gm4_entity_version 1
diff --git a/gm4_apple_trees/data/gm4_apple_trees/function/wandering_trader/register_trade.mcfunction b/gm4_apple_trees/data/gm4_apple_trees/function/wandering_trader/register_trade.mcfunction
index ac10148ab8..d3be35fbe0 100644
--- a/gm4_apple_trees/data/gm4_apple_trees/function/wandering_trader/register_trade.mcfunction
+++ b/gm4_apple_trees/data/gm4_apple_trees/function/wandering_trader/register_trade.mcfunction
@@ -4,6 +4,6 @@
# run from gm4_fruiting_trees:wandering_trader/add_trade
# apple sapling
-execute if predicate gm4_apple_trees:overworld run summon trader_llama ~ 0 ~ {Silent:1b,NoGravity:1b,Invulnerable:1b,ChestedHorse:1b,Variant:0,Strength:1,DespawnDelay:1,Tags:["gm4_trade_option","gm4_new_trade_option"],Items:[{},{id:"minecraft:emerald",count:5,Slot:1b},{}],body_armor_item:{id:"minecraft:light_blue_carpet",count:1,components:{"minecraft:custom_data":{gm4_trades:{options:{maxUses:8,rewardXp:1b,xp:1,priceMultiplier:0.05f}}}}}}
+execute if predicate gm4_apple_trees:overworld run summon trader_llama ~ 0 ~ {Silent:1b,NoGravity:1b,Invulnerable:1b,ChestedHorse:1b,Variant:0,Strength:1,DespawnDelay:1,Tags:["gm4_trade_option","gm4_new_trade_option"],Items:[{},{id:"minecraft:emerald",count:5,Slot:1b},{}],equipment:{body:{id:"minecraft:light_blue_carpet",count:1,components:{"minecraft:custom_data":{gm4_trades:{options:{maxUses:8,rewardXp:1b,xp:1,priceMultiplier:0.05f}}}}}}}
loot replace entity @e[type=trader_llama,limit=1,tag=gm4_new_trade_option] horse.0 loot gm4_apple_trees:items/apple_tree_sapling
tag @e[type=trader_llama] remove gm4_new_trade_option
diff --git a/gm4_apple_trees/data/gm4_golden_apple_trees/function/leaf/set_stage/0.mcfunction b/gm4_apple_trees/data/gm4_golden_apple_trees/function/leaf/set_stage/0.mcfunction
index abbe23bb69..3a69052316 100644
--- a/gm4_apple_trees/data/gm4_golden_apple_trees/function/leaf/set_stage/0.mcfunction
+++ b/gm4_apple_trees/data/gm4_golden_apple_trees/function/leaf/set_stage/0.mcfunction
@@ -11,5 +11,5 @@ scoreboard players operation @s gm4_fruit_age -= #gapple_stage_0_start gm4_apple
# visuals
execute if predicate gm4_golden_apple_trees:apple_holding positioned ~0.5 ~1.5 ~0.5 positioned ^-.25 ^ ^.1 run function gm4_golden_apple_trees:leaf/apple/drop
-data merge entity @s {Marker:1b,HandItems:[],ShowArms:1b,Small:1b,DisabledSlots:2171166,Tags:["gm4_no_edit","gm4_golden_apple","smithed.entity","smithed.strict"]}
+data merge entity @s {Marker:1b,equipment:{},ShowArms:1b,Small:1b,DisabledSlots:2171166,Tags:["gm4_no_edit","gm4_golden_apple","smithed.entity","smithed.strict"]}
tp @s ~0.5 ~1.05 ~0.5
diff --git a/gm4_apple_trees/data/gm4_golden_apple_trees/function/leaf/set_stage/1.mcfunction b/gm4_apple_trees/data/gm4_golden_apple_trees/function/leaf/set_stage/1.mcfunction
index d6cb72cdd9..18d20cb6d8 100644
--- a/gm4_apple_trees/data/gm4_golden_apple_trees/function/leaf/set_stage/1.mcfunction
+++ b/gm4_apple_trees/data/gm4_golden_apple_trees/function/leaf/set_stage/1.mcfunction
@@ -8,4 +8,4 @@ scoreboard players operation @s gm4_fruit_stage = #gapple_stage_2_start gm4_appl
# visuals
playsound minecraft:block.beehive.drip block @a[distance=..8] ~ ~ ~ 0.3 1.4
-data merge entity @s {Marker:0b,ShowArms:1b,HandItems:[{},{id:"minecraft:golden_apple",count:1,components:{"minecraft:custom_model_data":"block/golden_apple_unripe"}}],Pose:{LeftArm:[0.0f,90.0f,90.0f]}}
+data merge entity @s {Marker:0b,ShowArms:1b,equipment:{offhand:{id:"minecraft:golden_apple",count:1,components:{"minecraft:custom_model_data":"block/golden_apple_unripe"}}},Pose:{LeftArm:[0.0f,90.0f,90.0f]}}
diff --git a/gm4_apple_trees/data/gm4_golden_apple_trees/function/leaf/set_stage/2.mcfunction b/gm4_apple_trees/data/gm4_golden_apple_trees/function/leaf/set_stage/2.mcfunction
index 14f72679c2..7d7a38b4ac 100644
--- a/gm4_apple_trees/data/gm4_golden_apple_trees/function/leaf/set_stage/2.mcfunction
+++ b/gm4_apple_trees/data/gm4_golden_apple_trees/function/leaf/set_stage/2.mcfunction
@@ -8,5 +8,5 @@ scoreboard players operation @s gm4_fruit_stage = #gapple_stage_0_start gm4_appl
# visuals
playsound minecraft:block.beehive.drip block @a[distance=..8] ~ ~ ~ 0.3 1.4
-data merge entity @s {HandItems:[{},{id:"minecraft:golden_apple",count:1}],ShowArms:1b,Small:0b,DisabledSlots:30,Tags:["gm4_no_edit","gm4_golden_apple","gm4_ripe_apple","smithed.entity","smithed.strict"],Pose:{LeftArm:[0.0f,90.0f,90.0f]}}
+data merge entity @s {equipment:{offhand:{id:"minecraft:golden_apple",count:1}},ShowArms:1b,Small:0b,DisabledSlots:30,Tags:["gm4_no_edit","gm4_golden_apple","gm4_ripe_apple","smithed.entity","smithed.strict"],Pose:{LeftArm:[0.0f,90.0f,90.0f]}}
tp @s ~0.5 ~-0.9 ~0.5
diff --git a/gm4_audere_shamir/beet.yaml b/gm4_audere_shamir/beet.yaml
index b4ffedf6cb..f908c168b1 100644
--- a/gm4_audere_shamir/beet.yaml
+++ b/gm4_audere_shamir/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_audere_shamir
name: Audere Shamir
-version: 1.4.X
+version: 1.5.X
data_pack:
load: .
@@ -16,7 +16,7 @@ meta:
gm4:
versioning:
required:
- gm4_metallurgy: 1.4.0
+ gm4_metallurgy: 1.5.0
schedule_loops: [main]
model_data:
- item: tools
diff --git a/gm4_audere_shamir/data/gm4_audere_shamir/loot_table/band.json b/gm4_audere_shamir/data/gm4_audere_shamir/loot_table/band.json
index dd56cdbbb7..57ca9f122e 100644
--- a/gm4_audere_shamir/data/gm4_audere_shamir/loot_table/band.json
+++ b/gm4_audere_shamir/data/gm4_audere_shamir/loot_table/band.json
@@ -23,7 +23,7 @@
"lore": [
{
"translate": "item.gm4.shamir.audere",
- "fallback": "Audere",
+ "fallback": "Audere Shamir",
"italic": false,
"color": "gray"
}
diff --git a/gm4_audere_shamir/translations.csv b/gm4_audere_shamir/translations.csv
index 4360cb8b79..c407ede922 100644
--- a/gm4_audere_shamir/translations.csv
+++ b/gm4_audere_shamir/translations.csv
@@ -1,5 +1,5 @@
key,en_us
-item.gm4.shamir.audere,Audere
+item.gm4.shamir.audere,Audere Shamir
text.gm4.guidebook.module_desc.audere_shamir,Adds the shamir 'Audere' to Metallurgy. Gain Haste with low durability tools.
text.gm4.guidebook.audere_shamir.description,"Audere buffs mining speed, as durability decreases."
text.gm4.guidebook.audere_shamir.usage,The Audere Shamir is found on Barium Bands. It can be placed onto tools.\n\nHigher levels of Haste are awarded for lower durability (percentage-based).\n\nThe maximum level of Haste is IV.
diff --git a/gm4_auto_crafting/README.md b/gm4_auto_crafting/README.md
deleted file mode 100644
index 2d6e8a1f72..0000000000
--- a/gm4_auto_crafting/README.md
+++ /dev/null
@@ -1,25 +0,0 @@
-# Auto Crafting
-
-Try out Gamemode 4's take on auto-crafting!
-
-
-
-### Features
-- Crafts any vanilla item.
-- Set the recipe shape, give it ingredients one at a time, and power the piston to craft the item
-- Build a cool steampunk multiblock structure
-
-### Creation
-Craft the auto-crafter in a [Custom Crafter](https://wiki.gm4.co/wiki/Custom_Crafters)
-
-
-
-Build the Multiblock Structure
-
-
-
-### Usage
-- Set the shape of your recipe inside the Auto Crafter, using any items
-- Fill the top barrel with the ingredients of your recipe, in order
-- Power the Piston to craft the item
-- Retrieve the result from the bottom barrel
diff --git a/gm4_auto_crafting/assets/gm4_auto_crafting/textures/block/auto_crafter_bottom.png b/gm4_auto_crafting/assets/gm4_auto_crafting/textures/block/auto_crafter_bottom.png
deleted file mode 100644
index 4d9b8c06d6..0000000000
Binary files a/gm4_auto_crafting/assets/gm4_auto_crafting/textures/block/auto_crafter_bottom.png and /dev/null differ
diff --git a/gm4_auto_crafting/assets/gm4_auto_crafting/textures/block/auto_crafter_side.png b/gm4_auto_crafting/assets/gm4_auto_crafting/textures/block/auto_crafter_side.png
deleted file mode 100644
index 58b0fa008c..0000000000
Binary files a/gm4_auto_crafting/assets/gm4_auto_crafting/textures/block/auto_crafter_side.png and /dev/null differ
diff --git a/gm4_auto_crafting/assets/gm4_auto_crafting/textures/block/auto_crafter_top.png b/gm4_auto_crafting/assets/gm4_auto_crafting/textures/block/auto_crafter_top.png
deleted file mode 100644
index 6330006855..0000000000
Binary files a/gm4_auto_crafting/assets/gm4_auto_crafting/textures/block/auto_crafter_top.png and /dev/null differ
diff --git a/gm4_auto_crafting/assets/translations.csv b/gm4_auto_crafting/assets/translations.csv
deleted file mode 100644
index 214556af88..0000000000
--- a/gm4_auto_crafting/assets/translations.csv
+++ /dev/null
@@ -1,10 +0,0 @@
-key,en_us
-container.gm4.auto_crafter,Set Recipe Shape
-block.gm4.auto_crafter,Auto Crafter
-text.gm4.guidebook.module_desc.auto_crafting,"Create an auto crafter to fully automate crafting! With this module installed, all vanilla crafting recipes are added to the GM4 Custom Crafter."
-text.gm4.guidebook.auto_crafting.description,An auto crafter can be used to automatically craft items normally crafted in custom crafters.
-text.gm4.guidebook.auto_crafting.crafting,Auto crafters can be crafted in a custom crafter with the following recipe:
-text.gm4.guidebook.auto_crafting.multi_block,"The auto crafter needs a 3x3x3 multi-block structure.\n\nPlace the auto crafter, then a piston behind it, leaving a space for the head to extend. Then place two glass blocks on the other two sides to make a cross."
-text.gm4.guidebook.auto_crafting.multi_block_1,"The top and bottom layers must each have a barrel with four wooden stairs or planks.\n\nIf stairs are used, they must be oriented to form a sort of pill shape."
-text.gm4.guidebook.auto_crafting.set_shape,"The auto crafter GUI is used to set the shape of the recipe. Any item can be used to set the shape.\n\nItems will be taken out of the top barrel and fed into the crafter, filling each slot with one item."
-text.gm4.guidebook.auto_crafting.output,"Once full, powering the piston will craft the item and place it in the bottom barrel.\n\nIf the piston is powered with an invalid recipe, the ingredients will be placed in the bottom barrel instead."
diff --git a/gm4_auto_crafting/backport_48/data/gm4_auto_crafting/function/check_recipes/1_2/2/28_36/28_32/28_29/29.mcfunction b/gm4_auto_crafting/backport_48/data/gm4_auto_crafting/function/check_recipes/1_2/2/28_36/28_32/28_29/29.mcfunction
deleted file mode 100644
index e99bfc3632..0000000000
--- a/gm4_auto_crafting/backport_48/data/gm4_auto_crafting/function/check_recipes/1_2/2/28_36/28_32/28_29/29.mcfunction
+++ /dev/null
@@ -1 +0,0 @@
-# execute if score $crafted gm4_crafting matches 0 store success score $crafted gm4_crafting if score $stack_size gm4_crafting matches ..64 if data storage gm4_custom_crafters:temp/crafter {Items:[{id:"minecraft:paper"},{id:"minecraft:vine"}]} run loot replace block ~ ~ ~ container.0 loot gm4_auto_crafting:crafting/vanilla/bordure_indented_banner_pattern
diff --git a/gm4_auto_crafting/backport_48/data/gm4_auto_crafting/function/check_recipes/1_2/2/28_36/28_32/31_32/31.mcfunction b/gm4_auto_crafting/backport_48/data/gm4_auto_crafting/function/check_recipes/1_2/2/28_36/28_32/31_32/31.mcfunction
deleted file mode 100644
index 93a3830d8d..0000000000
--- a/gm4_auto_crafting/backport_48/data/gm4_auto_crafting/function/check_recipes/1_2/2/28_36/28_32/31_32/31.mcfunction
+++ /dev/null
@@ -1,2 +0,0 @@
-# execute if score $crafted gm4_crafting matches 0 store success score $crafted gm4_crafting if score $stack_size gm4_crafting matches ..64 if data storage gm4_custom_crafters:temp/crafter {Items:[{id:"minecraft:paper"},{id:"minecraft:bricks"}]} run loot replace block ~ ~ ~ container.0 loot gm4_auto_crafting:crafting/vanilla/field_masoned_banner_pattern
-execute if score $crafted gm4_crafting matches 0 store success score $crafted gm4_crafting if score $stack_size gm4_crafting matches 1 if data storage gm4_custom_crafters:temp/crafter {Items:[{id:"minecraft:tnt"},{id:"minecraft:minecart"}]} run loot replace block ~ ~ ~ container.0 loot gm4_auto_crafting:crafting/vanilla/tnt_minecart
diff --git a/gm4_auto_crafting/backport_48/data/gm4_auto_crafting/loot_table/crafting/vanilla/bordure_indented_banner_pattern.json b/gm4_auto_crafting/backport_48/data/gm4_auto_crafting/loot_table/crafting/vanilla/bordure_indented_banner_pattern.json
deleted file mode 100644
index e092e468f4..0000000000
--- a/gm4_auto_crafting/backport_48/data/gm4_auto_crafting/loot_table/crafting/vanilla/bordure_indented_banner_pattern.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "pools": []
-}
diff --git a/gm4_auto_crafting/backport_48/data/gm4_auto_crafting/loot_table/crafting/vanilla/field_masoned_banner_pattern.json b/gm4_auto_crafting/backport_48/data/gm4_auto_crafting/loot_table/crafting/vanilla/field_masoned_banner_pattern.json
deleted file mode 100644
index e092e468f4..0000000000
--- a/gm4_auto_crafting/backport_48/data/gm4_auto_crafting/loot_table/crafting/vanilla/field_masoned_banner_pattern.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "pools": []
-}
diff --git a/gm4_auto_crafting/beet.yaml b/gm4_auto_crafting/beet.yaml
deleted file mode 100644
index 508df14ae8..0000000000
--- a/gm4_auto_crafting/beet.yaml
+++ /dev/null
@@ -1,87 +0,0 @@
-id: gm4_auto_crafting
-name: Auto Crafting
-version: 1.4.X
-
-data_pack:
- load:
- - .
- - data/gm4_custom_crafters/loot_table/items/custom_crafter.json: ../lib_custom_crafters/data/gm4_custom_crafters/loot_table/items/custom_crafter.json
- overlays:
- - formats:
- min_inclusive: 0
- max_inclusive: 48
- directory: backport_48
-
-resource_pack:
- load: .
-
-pipeline:
- - gm4_auto_crafting.generate
- - gm4.plugins.extend.module
- - gm4.plugins.include.lib_machines
- - gm4.plugins.include.lib_custom_crafters
-
-meta:
- gm4:
- versioning:
- required:
- lib_machines: 1.3.0
- lib_custom_crafters: 3.2.0
- schedule_loops:
- - main
- - tick
- model_data:
- - item: player_head
- reference: item/auto_crafter
- model: block/auto_crafter
- - item: crafting_table
- reference: block/auto_crafter
- template: block
- textures:
- top: block/auto_crafter_top
- side: block/auto_crafter_side
- front: block/auto_crafter_side
- bottom: block/auto_crafter_bottom
- transforms:
- - name: item_display
- origin: [0.5,0.5,0.5]
- scale: [0.625, 0.625,0.625]
- translation: [0, 0.25, 0]
- display: head
- gui_fonts:
- - translation: gui.gm4.auto_crafter
- container: dropper
- texture: gm4:gui/container/empty_dropper
- website:
- description: Create an auto crafter to fully automate crafting! With this module installed, all vanilla crafting recipes are added to the GM4 Custom Crafter.
- recommended:
- - gm4_resource_pack
- - gm4_relocators
- - gm4_standard_crafting
- - gm4_record_crafting
- - gm4_ender_hoppers
- - gm4_enchantment_extractors
- - gm4_forming_press
- - gm4_block_compressors
- - gm4_disassemblers
- - gm4_tunnel_bores
- - gm4_boots_of_ostara
- - gm4_heart_canisters
- - gm4_smelteries
- - gm4_liquid_tanks
- notes: []
- modrinth:
- project_id: WkDoUESw
- smithed:
- pack_id: gm4_auto_crafting
- planetminecraft:
- uid: 6097435
- video: null
- wiki: https://wiki.gm4.co/wiki/Custom_Crafters/Auto_Crafting
- credits:
- Creator:
- - BPR
- Icon Design:
- - Hozz
- Textures:
- - Kyrius
diff --git a/gm4_auto_crafting/data/gm4_auto_crafting/advancement/open_auto_crafter.json b/gm4_auto_crafting/data/gm4_auto_crafting/advancement/open_auto_crafter.json
deleted file mode 100644
index 7eb99e076a..0000000000
--- a/gm4_auto_crafting/data/gm4_auto_crafting/advancement/open_auto_crafter.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "criteria": {
- "requirement": {
- "trigger": "minecraft:default_block_use",
- "conditions": {
- "location": [
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "block": {
- "blocks": [
- "minecraft:dropper"
- ],
- "nbt": "{CustomName:'{\"translate\":\"gm4.second\",\"fallback\":\"%1$s\",\"with\":[{\"translate\":\"container.gm4.auto_crafter\",\"fallback\":\"Set Recipe Shape\"},{\"text\":\" \",\"extra\":[{\"translate\":\"container.gm4.auto_crafter\",\"fallback\":\"Set Recipe Shape\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.auto_crafter\",\"fallback\":\"Set Recipe Shape\",\"font\":\"gm4:offscreen\"},{\"translate\":\"gui.gm4.auto_crafter\",\"fallback\":\"\",\"font\":\"gm4:container_gui\",\"color\":\"white\"},{\"text\":\" \",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.auto_crafter\",\"fallback\":\"Set Recipe Shape\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.auto_crafter\",\"fallback\":\"Set Recipe Shape\",\"font\":\"gm4:default\",\"color\":\"#404040\"}],\"font\":\"gm4:half_invert\"}]}'}"
- }
- }
- }
- ]
- }
- }
- },
- "rewards": {
- "function": "gm4_auto_crafting:auto_crafter/caching/open_auto_crafter"
- }
-}
diff --git a/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/caching/open_auto_crafter.mcfunction b/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/caching/open_auto_crafter.mcfunction
deleted file mode 100644
index 7f7a7bf4d8..0000000000
--- a/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/caching/open_auto_crafter.mcfunction
+++ /dev/null
@@ -1,12 +0,0 @@
-# catches when the player opens the auto crafter
-# @s = player who opened the auto crafter interface
-# located at @s
-# run from advancement gm4_auto_crafting:open_auto_crafter
-
-advancement revoke @s only gm4_auto_crafting:open_auto_crafter
-
-# mark as updating recipe
-execute anchored eyes positioned ^ ^ ^2.5 run tag @e[type=marker,tag=gm4_auto_crafter,distance=..3] add gm4_ac_updating
-
-# start temp clock
-schedule function gm4_auto_crafting:auto_crafter/caching/temp_clock 16t
diff --git a/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/caching/temp_clock.mcfunction b/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/caching/temp_clock.mcfunction
deleted file mode 100644
index 78c20e0e13..0000000000
--- a/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/caching/temp_clock.mcfunction
+++ /dev/null
@@ -1,10 +0,0 @@
-# checks for auto crafters that need to update recipe shapes
-# @s = none
-# located at world spawn
-# run from gm4_auto_crafting:auto_crafter/caching/open_auto_crafter
-
-# update recipe shapes when the player leaves
-execute as @e[type=marker,tag=gm4_ac_updating] at @s run function gm4_auto_crafting:auto_crafter/caching/update
-
-# loop until there are no more updating auto crafters
-execute if entity @e[type=marker,tag=gm4_ac_updating,limit=1] run schedule function gm4_auto_crafting:auto_crafter/caching/temp_clock 16t
diff --git a/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/caching/update.mcfunction b/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/caching/update.mcfunction
deleted file mode 100644
index 6afd4c5765..0000000000
--- a/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/caching/update.mcfunction
+++ /dev/null
@@ -1,29 +0,0 @@
-# updates the auto crafter recipe shape
-# @s = auto crafter that's updating it's recipe shape
-# located at @s
-# run from gm4_auto_crafting:auto_crafter/caching/temp_clock
-
-# move block data to temp storage
-data modify storage gm4_auto_crafting:temp cache set from block ~ ~ ~ Items
-
-# store slot count
-execute store result score @s gm4_ac_slot_count run data get storage gm4_auto_crafting:temp cache
-scoreboard players add @s gm4_ac_buffer 0
-
-# store recipe shape as a sum of binary numbers
-scoreboard players set @s gm4_ac_shape 0
-execute if data storage gm4_auto_crafting:temp cache[{Slot:0b}] run scoreboard players add @s gm4_ac_shape 256
-execute if data storage gm4_auto_crafting:temp cache[{Slot:1b}] run scoreboard players add @s gm4_ac_shape 128
-execute if data storage gm4_auto_crafting:temp cache[{Slot:2b}] run scoreboard players add @s gm4_ac_shape 64
-execute if data storage gm4_auto_crafting:temp cache[{Slot:3b}] run scoreboard players add @s gm4_ac_shape 32
-execute if data storage gm4_auto_crafting:temp cache[{Slot:4b}] run scoreboard players add @s gm4_ac_shape 16
-execute if data storage gm4_auto_crafting:temp cache[{Slot:5b}] run scoreboard players add @s gm4_ac_shape 8
-execute if data storage gm4_auto_crafting:temp cache[{Slot:6b}] run scoreboard players add @s gm4_ac_shape 4
-execute if data storage gm4_auto_crafting:temp cache[{Slot:7b}] run scoreboard players add @s gm4_ac_shape 2
-execute if data storage gm4_auto_crafting:temp cache[{Slot:8b}] run scoreboard players add @s gm4_ac_shape 1
-
-# clean up
-data remove storage gm4_auto_crafting:temp cache
-
-# mark as finished updating if there's no nearby players
-execute unless entity @a[distance=..6,limit=1] run tag @s remove gm4_ac_updating
diff --git a/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/check_overflow/count_items.mcfunction b/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/check_overflow/count_items.mcfunction
deleted file mode 100644
index 24c91b08f9..0000000000
--- a/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/check_overflow/count_items.mcfunction
+++ /dev/null
@@ -1,9 +0,0 @@
-# counts the total number of items in the container
-# @s = auto crafter that finished crafting
-# located at @s
-# run from gm4_auto_crafting:auto_crafter/process_output
-
-execute store result score $add gm4_ac_buffer run data get storage gm4_auto_crafting:temp output.check[0].count
-scoreboard players operation $overflow_check gm4_ac_buffer += $add gm4_ac_buffer
-data remove storage gm4_auto_crafting:temp output.check[0]
-execute if data storage gm4_auto_crafting:temp output.check[-1] run function gm4_auto_crafting:auto_crafter/check_overflow/count_items
diff --git a/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/check_overflow/failed.mcfunction b/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/check_overflow/failed.mcfunction
deleted file mode 100644
index 5ab3c58879..0000000000
--- a/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/check_overflow/failed.mcfunction
+++ /dev/null
@@ -1,11 +0,0 @@
-# finalizes a failed operation
-# @s = auto crafter that did overflow the ouput
-# located at @s positioned ^ ^ ^-1
-# run from gm4_auto_crafting:auto_crafter/process_output
-
-# revert contents of the output
-data modify block ~ ~-1 ~ Items set from storage gm4_auto_crafting:temp output.original
-
-# visuals
-playsound minecraft:block.fire.extinguish block @a[distance=..8] ~ ~ ~ 0.4 1.9
-particle smoke ~ ~ ~ 0.1 0.1 0.1 0.05 10
diff --git a/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/check_overflow/success.mcfunction b/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/check_overflow/success.mcfunction
deleted file mode 100644
index 3f6ae4386f..0000000000
--- a/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/check_overflow/success.mcfunction
+++ /dev/null
@@ -1,16 +0,0 @@
-# finalizes a successful operation
-# @s = auto crafter that didn't overflow the ouput
-# located at @s positioned ^ ^ ^-1
-# run from gm4_auto_crafting:auto_crafter/process_output
-
-# mark as completed craft
-tag @s remove gm4_ac_full
-scoreboard players reset @s gm4_ac_buffer
-data remove entity @s data.gm4_auto_crafting.buffer
-
-# visuals
-execute if score $crafted gm4_crafting matches 1 run playsound minecraft:block.anvil.land block @a[distance=..8] ~ ~ ~ 0.08 1.4
-execute if score $crafted gm4_crafting matches 1 run particle minecraft:electric_spark ~ ~ ~ 0.15 0.15 0.15 .1 20
-
-execute if score $crafted gm4_crafting matches 0 run playsound minecraft:block.chain.break block @a[distance=..8] ~ ~ ~ 0.7 0.87
-execute if score $crafted gm4_crafting matches 0 run particle minecraft:ash ~ ~ ~ 0.1 0.1 0.1 0.6 20
diff --git a/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/craft/attempt_craft.mcfunction b/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/craft/attempt_craft.mcfunction
deleted file mode 100644
index 4e748322af..0000000000
--- a/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/craft/attempt_craft.mcfunction
+++ /dev/null
@@ -1,40 +0,0 @@
-# attempts to craft items
-# @s = crafters containing a potential recipe
-# located at @s
-# run from gm4_auto_crafting:auto_crafter/process_output
-
-# shift items to be top-left aligned
-data modify storage gm4_custom_crafters:temp/crafter original_items set from storage gm4_custom_crafters:temp/crafter Items
-execute unless data storage gm4_custom_crafters:temp/crafter Items[{Slot:0b}] unless data storage gm4_custom_crafters:temp/crafter Items[{Slot:1b}] unless data storage gm4_custom_crafters:temp/crafter Items[{Slot:2b}] run function gm4_auto_crafting:auto_crafter/shift/shift_up
-execute unless data storage gm4_custom_crafters:temp/crafter Items[{Slot:0b}] unless data storage gm4_custom_crafters:temp/crafter Items[{Slot:3b}] unless data storage gm4_custom_crafters:temp/crafter Items[{Slot:6b}] run function gm4_auto_crafting:auto_crafter/shift/shift_left
-
-# check if any items in the crafter fall under any item tags
-scoreboard players operation $loop gm4_crafting = $slot_count gm4_crafting
-execute positioned ~ ~-1.44 ~ run function gm4_auto_crafting:auto_crafter/craft/check_item
-data modify storage gm4_custom_crafters:temp/crafter Items set from storage gm4_custom_crafters:temp/crafter new_items
-data remove storage gm4_custom_crafters:temp/crafter new_items
-
-# get total input id length
-execute store result score $id_0 gm4_crafting run data get storage gm4_custom_crafters:temp/crafter Items[{Slot:0b}].id
-scoreboard players operation $id_total gm4_crafting = $id_0 gm4_crafting
-execute store result score $id_1 gm4_crafting run data get storage gm4_custom_crafters:temp/crafter Items[{Slot:1b}].id
-scoreboard players operation $id_total gm4_crafting += $id_1 gm4_crafting
-execute store result score $id_2 gm4_crafting run data get storage gm4_custom_crafters:temp/crafter Items[{Slot:2b}].id
-scoreboard players operation $id_total gm4_crafting += $id_2 gm4_crafting
-execute store result score $id_3 gm4_crafting run data get storage gm4_custom_crafters:temp/crafter Items[{Slot:3b}].id
-scoreboard players operation $id_total gm4_crafting += $id_3 gm4_crafting
-execute store result score $id_4 gm4_crafting run data get storage gm4_custom_crafters:temp/crafter Items[{Slot:4b}].id
-scoreboard players operation $id_total gm4_crafting += $id_4 gm4_crafting
-execute store result score $id_5 gm4_crafting run data get storage gm4_custom_crafters:temp/crafter Items[{Slot:5b}].id
-scoreboard players operation $id_total gm4_crafting += $id_5 gm4_crafting
-execute store result score $id_6 gm4_crafting run data get storage gm4_custom_crafters:temp/crafter Items[{Slot:6b}].id
-scoreboard players operation $id_total gm4_crafting += $id_6 gm4_crafting
-execute store result score $id_7 gm4_crafting run data get storage gm4_custom_crafters:temp/crafter Items[{Slot:7b}].id
-scoreboard players operation $id_total gm4_crafting += $id_7 gm4_crafting
-execute store result score $id_8 gm4_crafting run data get storage gm4_custom_crafters:temp/crafter Items[{Slot:8b}].id
-scoreboard players operation $id_total gm4_crafting += $id_8 gm4_crafting
-
-# allow crafters with valid contents to run recipe checks
-scoreboard players set $crafted gm4_crafting 0
-data remove block 29999998 1 7134 Items
-execute positioned 29999998 1 7134 run function #gm4_custom_crafters:check_recipes
diff --git a/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/craft/check_item.mcfunction b/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/craft/check_item.mcfunction
deleted file mode 100644
index 12f7f61400..0000000000
--- a/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/craft/check_item.mcfunction
+++ /dev/null
@@ -1,20 +0,0 @@
-# checks each slot for special item tags
-# @s = crafters containing a potential recipe
-# located at @s positioned ~ ~-1.44 ~
-# run from gm4_auto_crafting:auto_crafter/craft/attempt_craft
-
-# update item
-data modify storage gm4_custom_crafters:temp/crafter item set from storage gm4_custom_crafters:temp/crafter Items[-1]
-
-data modify entity @e[type=armor_stand,tag=gm4_auto_crafter_stand,distance=..0.1,limit=1] HandItems[0] set from storage gm4_custom_crafters:temp/crafter item
-execute as @e[type=armor_stand,tag=gm4_auto_crafter_stand,distance=..0.1,limit=1] positioned ~ ~1.44 ~ run function #gm4_custom_crafters:custom_item_checks
-data remove entity @e[type=armor_stand,tag=gm4_auto_crafter_stand,distance=..0.1,limit=1] HandItems[0]
-data modify storage gm4_custom_crafters:temp/crafter new_items append from storage gm4_custom_crafters:temp/crafter item
-
-# clean up storage
-data remove storage gm4_custom_crafters:temp/crafter item
-data remove storage gm4_custom_crafters:temp/crafter Items[-1]
-
-# loop for all items
-scoreboard players remove $loop gm4_crafting 1
-execute if score $loop gm4_crafting matches 1.. run function gm4_auto_crafting:auto_crafter/craft/check_item
diff --git a/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/process_input.mcfunction b/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/process_input.mcfunction
deleted file mode 100644
index f65b6e8bad..0000000000
--- a/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/process_input.mcfunction
+++ /dev/null
@@ -1,27 +0,0 @@
-# takes items out of the input barrel
-# @s = auto crafter that has the proper multi-block
-# located at @s
-# run from gm4_auto_crafting:main
-
-# get next item from input barrel
-data modify storage gm4_auto_crafting:temp buffer_item set from block ^ ^1 ^-1 Items[0]
-data modify storage gm4_auto_crafting:temp Item set from storage gm4_auto_crafting:temp buffer_item
-
-# fill up next available slot
-data modify storage gm4_auto_crafting:temp buffer_item.count set value 1b
-execute store result storage gm4_auto_crafting:temp buffer_item.Slot byte 1 run scoreboard players add @s gm4_ac_buffer 9
-data modify entity @s data.gm4_auto_crafting.buffer append from storage gm4_auto_crafting:temp buffer_item
-
-# check if the buffer is full
-## add 9, remove 8 = add 1
-scoreboard players remove @s gm4_ac_buffer 8
-execute if score @s gm4_ac_buffer >= @s gm4_ac_slot_count run tag @s add gm4_ac_full
-
-# remove item from the input barrel
-execute store result score $count gm4_ac_buffer run data get storage gm4_auto_crafting:temp Item.count 0.99
-execute if score $count gm4_ac_buffer matches 0 run data remove block ^ ^1 ^-1 Items[0]
-execute if score $count gm4_ac_buffer matches 1.. store result block ^ ^1 ^-1 Items[0].count byte 1 run scoreboard players get $count gm4_ac_buffer
-
-# clean up
-data remove storage gm4_auto_crafting:temp buffer_item
-data remove storage gm4_auto_crafting:temp Item
diff --git a/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/process_output.mcfunction b/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/process_output.mcfunction
deleted file mode 100644
index 01371a8480..0000000000
--- a/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/process_output.mcfunction
+++ /dev/null
@@ -1,67 +0,0 @@
-# processes the items for crafting
-# @s = auto crafter that has been pulsed
-# located at @s
-# run from gm4_auto_crafting:tick
-
-# get recipe input
-data modify storage gm4_auto_crafting:temp items set from entity @s data.gm4_auto_crafting.buffer
-data modify storage gm4_auto_crafting:temp output.buffer set from storage gm4_auto_crafting:temp items
-scoreboard players operation $current gm4_ac_shape = @s gm4_ac_shape
-
-data remove storage gm4_custom_crafters:temp/crafter Items
-execute if score $current gm4_ac_shape matches 256.. run function gm4_auto_crafting:auto_crafter/shape/slot_0
-execute if score $current gm4_ac_shape matches 128.. run function gm4_auto_crafting:auto_crafter/shape/slot_1
-execute if score $current gm4_ac_shape matches 64.. run function gm4_auto_crafting:auto_crafter/shape/slot_2
-execute if score $current gm4_ac_shape matches 32.. run function gm4_auto_crafting:auto_crafter/shape/slot_3
-execute if score $current gm4_ac_shape matches 16.. run function gm4_auto_crafting:auto_crafter/shape/slot_4
-execute if score $current gm4_ac_shape matches 8.. run function gm4_auto_crafting:auto_crafter/shape/slot_5
-execute if score $current gm4_ac_shape matches 4.. run function gm4_auto_crafting:auto_crafter/shape/slot_6
-execute if score $current gm4_ac_shape matches 2.. run function gm4_auto_crafting:auto_crafter/shape/slot_7
-execute if score $current gm4_ac_shape matches 1.. run function gm4_auto_crafting:auto_crafter/shape/slot_8
-
-# if there are still items in the buffer, move them to the output
-data modify storage gm4_auto_crafting:temp output.temp set from storage gm4_auto_crafting:temp items
-
-# set slot count and stack size
-scoreboard players operation $slot_count gm4_crafting = @s gm4_ac_slot_count
-scoreboard players set $stack_size gm4_crafting 1
-
-# mimic custom craft
-function gm4_auto_crafting:auto_crafter/craft/attempt_craft
-
-# update output
-execute if score $crafted gm4_crafting matches 0 run data modify storage gm4_auto_crafting:temp output.temp set from storage gm4_auto_crafting:temp output.buffer
-data modify block 29999998 1 7134 Items append from storage gm4_auto_crafting:temp output.temp[]
-
-# count items in output before completing the craft
-data modify storage gm4_auto_crafting:temp output.check set from block ^ ^-1 ^-1 Items
-data modify storage gm4_auto_crafting:temp output.original set from storage gm4_auto_crafting:temp output.check
-scoreboard players reset $overflow_check gm4_ac_buffer
-function gm4_auto_crafting:auto_crafter/check_overflow/count_items
-scoreboard players operation $original_count gm4_ac_buffer = $overflow_check gm4_ac_buffer
-
-# count items in shulker box
-data modify storage gm4_auto_crafting:temp output.check set from block 29999998 1 7134 Items
-scoreboard players reset $overflow_check gm4_ac_buffer
-function gm4_auto_crafting:auto_crafter/check_overflow/count_items
-scoreboard players operation $added_count gm4_ac_buffer = $overflow_check gm4_ac_buffer
-
-# move item from shulker box to output barrel
-execute store result score $inserted gm4_ac_buffer run loot insert ^ ^-1 ^-1 mine 29999998 1 7134 stick[custom_data={drop_contents:1b}]
-
-# count items in output after completing the craft
-data modify storage gm4_auto_crafting:temp output.check set from block ^ ^-1 ^-1 Items
-scoreboard players reset $overflow_check gm4_ac_buffer
-function gm4_auto_crafting:auto_crafter/check_overflow/count_items
-scoreboard players operation $updated_count gm4_ac_buffer = $overflow_check gm4_ac_buffer
-
-# check if the insert was successful
-scoreboard players operation $updated_count gm4_ac_buffer -= $added_count gm4_ac_buffer
-scoreboard players operation $updated_count gm4_ac_buffer -= $original_count gm4_ac_buffer
-execute unless score $updated_count gm4_ac_buffer matches 0 positioned ^ ^ ^-1 run function gm4_auto_crafting:auto_crafter/check_overflow/failed
-execute if score $updated_count gm4_ac_buffer matches 0 positioned ^ ^ ^-1 run function gm4_auto_crafting:auto_crafter/check_overflow/success
-
-# clean up
-data remove storage gm4_auto_crafting:temp items
-data remove storage gm4_auto_crafting:temp output
-data remove block 29999998 1 7134 Items
diff --git a/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/shape/slot_0.mcfunction b/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/shape/slot_0.mcfunction
deleted file mode 100644
index b2113d5c74..0000000000
--- a/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/shape/slot_0.mcfunction
+++ /dev/null
@@ -1,9 +0,0 @@
-# processes the items based on the recipe shape
-# @s = auto crafter that has a slot_0 item
-# located at @s
-# run from gm4_auto_crafting:auto_crafter/process_output
-
-data modify storage gm4_auto_crafting:temp items[0].Slot set value 0b
-data modify storage gm4_custom_crafters:temp/crafter Items append from storage gm4_auto_crafting:temp items[0]
-data remove storage gm4_auto_crafting:temp items[0]
-scoreboard players remove $current gm4_ac_shape 256
diff --git a/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/shape/slot_1.mcfunction b/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/shape/slot_1.mcfunction
deleted file mode 100644
index a4afd5eb5c..0000000000
--- a/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/shape/slot_1.mcfunction
+++ /dev/null
@@ -1,9 +0,0 @@
-# processes the items based on the recipe shape
-# @s = auto crafter that has a slot_0 item
-# located at @s
-# run from gm4_auto_crafting:auto_crafter/process_output
-
-data modify storage gm4_auto_crafting:temp items[0].Slot set value 1b
-data modify storage gm4_custom_crafters:temp/crafter Items append from storage gm4_auto_crafting:temp items[0]
-data remove storage gm4_auto_crafting:temp items[0]
-scoreboard players remove $current gm4_ac_shape 128
diff --git a/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/shape/slot_2.mcfunction b/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/shape/slot_2.mcfunction
deleted file mode 100644
index bf6d85d420..0000000000
--- a/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/shape/slot_2.mcfunction
+++ /dev/null
@@ -1,9 +0,0 @@
-# processes the items based on the recipe shape
-# @s = auto crafter that has a slot_0 item
-# located at @s
-# run from gm4_auto_crafting:auto_crafter/process_output
-
-data modify storage gm4_auto_crafting:temp items[0].Slot set value 2b
-data modify storage gm4_custom_crafters:temp/crafter Items append from storage gm4_auto_crafting:temp items[0]
-data remove storage gm4_auto_crafting:temp items[0]
-scoreboard players remove $current gm4_ac_shape 64
diff --git a/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/shape/slot_3.mcfunction b/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/shape/slot_3.mcfunction
deleted file mode 100644
index 77e3c41f73..0000000000
--- a/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/shape/slot_3.mcfunction
+++ /dev/null
@@ -1,9 +0,0 @@
-# processes the items based on the recipe shape
-# @s = auto crafter that has a slot_0 item
-# located at @s
-# run from gm4_auto_crafting:auto_crafter/process_output
-
-data modify storage gm4_auto_crafting:temp items[0].Slot set value 3b
-data modify storage gm4_custom_crafters:temp/crafter Items append from storage gm4_auto_crafting:temp items[0]
-data remove storage gm4_auto_crafting:temp items[0]
-scoreboard players remove $current gm4_ac_shape 32
diff --git a/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/shape/slot_4.mcfunction b/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/shape/slot_4.mcfunction
deleted file mode 100644
index aa7e39038b..0000000000
--- a/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/shape/slot_4.mcfunction
+++ /dev/null
@@ -1,9 +0,0 @@
-# processes the items based on the recipe shape
-# @s = auto crafter that has a slot_0 item
-# located at @s
-# run from gm4_auto_crafting:auto_crafter/process_output
-
-data modify storage gm4_auto_crafting:temp items[0].Slot set value 4b
-data modify storage gm4_custom_crafters:temp/crafter Items append from storage gm4_auto_crafting:temp items[0]
-data remove storage gm4_auto_crafting:temp items[0]
-scoreboard players remove $current gm4_ac_shape 16
diff --git a/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/shape/slot_5.mcfunction b/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/shape/slot_5.mcfunction
deleted file mode 100644
index 73f8e8a88d..0000000000
--- a/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/shape/slot_5.mcfunction
+++ /dev/null
@@ -1,9 +0,0 @@
-# processes the items based on the recipe shape
-# @s = auto crafter that has a slot_0 item
-# located at @s
-# run from gm4_auto_crafting:auto_crafter/process_output
-
-data modify storage gm4_auto_crafting:temp items[0].Slot set value 5b
-data modify storage gm4_custom_crafters:temp/crafter Items append from storage gm4_auto_crafting:temp items[0]
-data remove storage gm4_auto_crafting:temp items[0]
-scoreboard players remove $current gm4_ac_shape 8
diff --git a/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/shape/slot_6.mcfunction b/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/shape/slot_6.mcfunction
deleted file mode 100644
index 5166b84015..0000000000
--- a/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/shape/slot_6.mcfunction
+++ /dev/null
@@ -1,9 +0,0 @@
-# processes the items based on the recipe shape
-# @s = auto crafter that has a slot_0 item
-# located at @s
-# run from gm4_auto_crafting:auto_crafter/process_output
-
-data modify storage gm4_auto_crafting:temp items[0].Slot set value 6b
-data modify storage gm4_custom_crafters:temp/crafter Items append from storage gm4_auto_crafting:temp items[0]
-data remove storage gm4_auto_crafting:temp items[0]
-scoreboard players remove $current gm4_ac_shape 4
diff --git a/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/shape/slot_7.mcfunction b/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/shape/slot_7.mcfunction
deleted file mode 100644
index 324e9805d3..0000000000
--- a/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/shape/slot_7.mcfunction
+++ /dev/null
@@ -1,9 +0,0 @@
-# processes the items based on the recipe shape
-# @s = auto crafter that has a slot_0 item
-# located at @s
-# run from gm4_auto_crafting:auto_crafter/process_output
-
-data modify storage gm4_auto_crafting:temp items[0].Slot set value 7b
-data modify storage gm4_custom_crafters:temp/crafter Items append from storage gm4_auto_crafting:temp items[0]
-data remove storage gm4_auto_crafting:temp items[0]
-scoreboard players remove $current gm4_ac_shape 2
diff --git a/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/shape/slot_8.mcfunction b/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/shape/slot_8.mcfunction
deleted file mode 100644
index 27136df325..0000000000
--- a/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/shape/slot_8.mcfunction
+++ /dev/null
@@ -1,9 +0,0 @@
-# processes the items based on the recipe shape
-# @s = auto crafter that has a slot_0 item
-# located at @s
-# run from gm4_auto_crafting:auto_crafter/process_output
-
-data modify storage gm4_auto_crafting:temp items[0].Slot set value 8b
-data modify storage gm4_custom_crafters:temp/crafter Items append from storage gm4_auto_crafting:temp items[0]
-data remove storage gm4_auto_crafting:temp items[0]
-scoreboard players remove $current gm4_ac_shape 1
diff --git a/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/shift/left_1.mcfunction b/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/shift/left_1.mcfunction
deleted file mode 100644
index c08a530760..0000000000
--- a/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/shift/left_1.mcfunction
+++ /dev/null
@@ -1,12 +0,0 @@
-# virtually shifts the items left once
-# @s = crafters with an empty left column
-# located at @s
-# run from gm4_auto_crafting:auto_crafter/shift/shift_left
-
-execute if data storage gm4_custom_crafters:temp/crafter Items[{Slot:1b}] run data modify storage gm4_custom_crafters:temp/crafter Items[{Slot:1b}].Slot set value 0b
-execute if data storage gm4_custom_crafters:temp/crafter Items[{Slot:4b}] run data modify storage gm4_custom_crafters:temp/crafter Items[{Slot:4b}].Slot set value 3b
-execute if data storage gm4_custom_crafters:temp/crafter Items[{Slot:7b}] run data modify storage gm4_custom_crafters:temp/crafter Items[{Slot:7b}].Slot set value 6b
-
-execute if data storage gm4_custom_crafters:temp/crafter Items[{Slot:2b}] run data modify storage gm4_custom_crafters:temp/crafter Items[{Slot:2b}].Slot set value 1b
-execute if data storage gm4_custom_crafters:temp/crafter Items[{Slot:5b}] run data modify storage gm4_custom_crafters:temp/crafter Items[{Slot:5b}].Slot set value 4b
-execute if data storage gm4_custom_crafters:temp/crafter Items[{Slot:8b}] run data modify storage gm4_custom_crafters:temp/crafter Items[{Slot:8b}].Slot set value 7b
diff --git a/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/shift/left_2.mcfunction b/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/shift/left_2.mcfunction
deleted file mode 100644
index 6171910edf..0000000000
--- a/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/shift/left_2.mcfunction
+++ /dev/null
@@ -1,10 +0,0 @@
-# virtually shifts the items left twice
-# @s = crafters with two empty left columns
-# located at @s
-# run from gm4_auto_crafting:auto_crafter/shift/shift_left
-
-scoreboard players set $shifted gm4_crafting 1
-
-execute if data storage gm4_custom_crafters:temp/crafter Items[{Slot:2b}] run data modify storage gm4_custom_crafters:temp/crafter Items[{Slot:2b}].Slot set value 0b
-execute if data storage gm4_custom_crafters:temp/crafter Items[{Slot:5b}] run data modify storage gm4_custom_crafters:temp/crafter Items[{Slot:5b}].Slot set value 3b
-execute if data storage gm4_custom_crafters:temp/crafter Items[{Slot:8b}] run data modify storage gm4_custom_crafters:temp/crafter Items[{Slot:8b}].Slot set value 6b
diff --git a/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/shift/shift_left.mcfunction b/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/shift/shift_left.mcfunction
deleted file mode 100644
index 004ffc4b0a..0000000000
--- a/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/shift/shift_left.mcfunction
+++ /dev/null
@@ -1,8 +0,0 @@
-# checks how many times to shift left
-# @s = crafters with an empty left column
-# located at @s
-# run from gm4_auto_crafting:auto_crafter/craft/attempt_craft
-
-scoreboard players set $shifted gm4_crafting 0
-execute unless data storage gm4_custom_crafters:temp/crafter Items[{Slot:1b}] unless data storage gm4_custom_crafters:temp/crafter Items[{Slot:4b}] unless data storage gm4_custom_crafters:temp/crafter Items[{Slot:7b}] run function gm4_auto_crafting:auto_crafter/shift/left_2
-execute if score $shifted gm4_crafting matches 0 run function gm4_auto_crafting:auto_crafter/shift/left_1
diff --git a/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/shift/shift_up.mcfunction b/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/shift/shift_up.mcfunction
deleted file mode 100644
index 538112135f..0000000000
--- a/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/shift/shift_up.mcfunction
+++ /dev/null
@@ -1,8 +0,0 @@
-# checks how many times to shift up
-# @s = crafters with an empty top row
-# located at @s
-# run from gm4_auto_crafting:auto_crafter/craft/attempt_craft
-
-scoreboard players set $shifted gm4_crafting 0
-execute unless data storage gm4_custom_crafters:temp/crafter Items[{Slot:3b}] unless data storage gm4_custom_crafters:temp/crafter Items[{Slot:4b}] unless data storage gm4_custom_crafters:temp/crafter Items[{Slot:5b}] run function gm4_auto_crafting:auto_crafter/shift/up_2
-execute if score $shifted gm4_crafting matches 0 run function gm4_auto_crafting:auto_crafter/shift/up_1
diff --git a/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/shift/up_1.mcfunction b/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/shift/up_1.mcfunction
deleted file mode 100644
index 9b5077342d..0000000000
--- a/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/shift/up_1.mcfunction
+++ /dev/null
@@ -1,12 +0,0 @@
-# virtually shifts the items up once
-# @s = crafters with an empty top row
-# located at @s
-# run from gm4_auto_crafting:auto_crafter/shift/shift_up
-
-execute if data storage gm4_custom_crafters:temp/crafter Items[{Slot:3b}] run data modify storage gm4_custom_crafters:temp/crafter Items[{Slot:3b}].Slot set value 0b
-execute if data storage gm4_custom_crafters:temp/crafter Items[{Slot:4b}] run data modify storage gm4_custom_crafters:temp/crafter Items[{Slot:4b}].Slot set value 1b
-execute if data storage gm4_custom_crafters:temp/crafter Items[{Slot:5b}] run data modify storage gm4_custom_crafters:temp/crafter Items[{Slot:5b}].Slot set value 2b
-
-execute if data storage gm4_custom_crafters:temp/crafter Items[{Slot:6b}] run data modify storage gm4_custom_crafters:temp/crafter Items[{Slot:6b}].Slot set value 3b
-execute if data storage gm4_custom_crafters:temp/crafter Items[{Slot:7b}] run data modify storage gm4_custom_crafters:temp/crafter Items[{Slot:7b}].Slot set value 4b
-execute if data storage gm4_custom_crafters:temp/crafter Items[{Slot:8b}] run data modify storage gm4_custom_crafters:temp/crafter Items[{Slot:8b}].Slot set value 5b
diff --git a/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/shift/up_2.mcfunction b/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/shift/up_2.mcfunction
deleted file mode 100644
index 9ae828e4de..0000000000
--- a/gm4_auto_crafting/data/gm4_auto_crafting/function/auto_crafter/shift/up_2.mcfunction
+++ /dev/null
@@ -1,10 +0,0 @@
-# virtually shifts the items up twice
-# @s = crafters with two empty top rows
-# located at @s
-# run from gm4_auto_crafting:auto_crafter/shift/shift_up
-
-scoreboard players set $shifted gm4_crafting 1
-
-execute if data storage gm4_custom_crafters:temp/crafter Items[{Slot:6b}] run data modify storage gm4_custom_crafters:temp/crafter Items[{Slot:6b}].Slot set value 0b
-execute if data storage gm4_custom_crafters:temp/crafter Items[{Slot:7b}] run data modify storage gm4_custom_crafters:temp/crafter Items[{Slot:7b}].Slot set value 1b
-execute if data storage gm4_custom_crafters:temp/crafter Items[{Slot:8b}] run data modify storage gm4_custom_crafters:temp/crafter Items[{Slot:8b}].Slot set value 2b
diff --git a/gm4_auto_crafting/data/gm4_auto_crafting/function/check_recipes.mcfunction b/gm4_auto_crafting/data/gm4_auto_crafting/function/check_recipes.mcfunction
deleted file mode 100644
index 5318a7d2d4..0000000000
--- a/gm4_auto_crafting/data/gm4_auto_crafting/function/check_recipes.mcfunction
+++ /dev/null
@@ -1,8 +0,0 @@
-# @s = custom crafters with valid recipe format inside
-# run from #gm4_custom_crafters:check_recipes
-
-# auto crafter recipe
-execute if score $crafted gm4_crafting matches 0 store success score $crafted gm4_crafting if score $slot_count gm4_crafting matches 5 if data storage gm4_custom_crafters:temp/crafter {Items:[{Slot:1b,id:"minecraft:copper_ingot"},{Slot:3b,id:"minecraft:redstone"},{Slot:4b,id:"minecraft:player_head",components:{"minecraft:custom_data":{gm4_machines:{id:"custom_crafter"}}}},{Slot:5b,id:"minecraft:redstone"},{Slot:7b,id:"minecraft:comparator"}]} run loot replace block ~ ~ ~ container.0 loot gm4_auto_crafting:crafting/auto_crafter
-
-# recipes
-execute if score $crafted gm4_crafting matches 0 run function gm4_auto_crafting:check_recipes/search
diff --git a/gm4_auto_crafting/data/gm4_auto_crafting/function/init.mcfunction b/gm4_auto_crafting/data/gm4_auto_crafting/function/init.mcfunction
deleted file mode 100644
index cdd6ddf4ff..0000000000
--- a/gm4_auto_crafting/data/gm4_auto_crafting/function/init.mcfunction
+++ /dev/null
@@ -1,13 +0,0 @@
-scoreboard objectives add gm4_craft_shapeless dummy
-scoreboard objectives add gm4_ac_slot_count dummy
-scoreboard objectives add gm4_ac_shape dummy
-scoreboard objectives add gm4_ac_buffer dummy
-
-execute unless score auto_crafting gm4_modules matches 1 run data modify storage gm4:log queue append value {type:"install",module:"Auto Crafting"}
-execute unless score auto_crafting gm4_earliest_version < auto_crafting gm4_modules run scoreboard players operation auto_crafting gm4_earliest_version = auto_crafting gm4_modules
-scoreboard players set auto_crafting gm4_modules 1
-
-schedule function gm4_auto_crafting:main 5t
-schedule function gm4_auto_crafting:tick 1t
-
-#$moduleUpdateList
diff --git a/gm4_auto_crafting/data/gm4_auto_crafting/function/machine/create.mcfunction b/gm4_auto_crafting/data/gm4_auto_crafting/function/machine/create.mcfunction
deleted file mode 100644
index b7d13ce4a9..0000000000
--- a/gm4_auto_crafting/data/gm4_auto_crafting/function/machine/create.mcfunction
+++ /dev/null
@@ -1,16 +0,0 @@
-# places the auto_crafter down
-# @s = player who placed the auto_crafter
-# located at the center of the placed block
-# run from gm4_auto_crafting:machine/verify_place_down
-
-# place block depending on rotation
-execute if score $single_rotation gm4_machine_data matches 1 run function gm4_auto_crafting:machine/rotate/south
-execute if score $single_rotation gm4_machine_data matches 2 run function gm4_auto_crafting:machine/rotate/west
-execute if score $single_rotation gm4_machine_data matches 3 run function gm4_auto_crafting:machine/rotate/north
-execute if score $single_rotation gm4_machine_data matches 4 run function gm4_auto_crafting:machine/rotate/east
-
-# mark block as placed
-playsound minecraft:block.amethyst_block.place block @a[distance=..16] ~ ~ ~ 1 1.6
-scoreboard players set $placed_block gm4_machine_data 1
-scoreboard players set @e[distance=..2,tag=gm4_new_machine] gm4_entity_version 1
-tag @e[distance=..3] remove gm4_new_machine
diff --git a/gm4_auto_crafting/data/gm4_auto_crafting/function/machine/destroy.mcfunction b/gm4_auto_crafting/data/gm4_auto_crafting/function/machine/destroy.mcfunction
deleted file mode 100644
index e26afe6eaa..0000000000
--- a/gm4_auto_crafting/data/gm4_auto_crafting/function/machine/destroy.mcfunction
+++ /dev/null
@@ -1,18 +0,0 @@
-# destroys the auto_crafter
-# @s = auto_crafter marker
-# located at @s
-# run from gm4_auto_crafting:machine/verify_destroy
-
-# clear buffer
-data modify storage gm4_auto_crafting:temp buffer set from entity @s data.gm4_auto_crafting.buffer
-execute if data storage gm4_auto_crafting:temp buffer[-1] run function gm4_auto_crafting:machine/drop_items
-data remove storage gm4_auto_crafting:temp buffer
-
-# kill entities related to machine block
-execute positioned ~ ~-1.44 ~ run kill @e[type=armor_stand,tag=gm4_auto_crafter_stand,limit=1,distance=..0.1]
-execute store result score $dropped_item gm4_machine_data run kill @e[type=item,distance=..1,nbt={Age:0s,Item:{id:"minecraft:dropper",count:1,components:{}}},limit=1,sort=nearest]
-kill @s
-
-# drop item (unless broken in creative mode)
-particle minecraft:block{block_state:"minecraft:crafting_table"} ~ ~ ~ .1 .25 .1 .05 30 normal @a
-execute if score $dropped_item gm4_machine_data matches 1 run loot spawn ~ ~ ~ loot gm4_auto_crafting:items/auto_crafter
diff --git a/gm4_auto_crafting/data/gm4_auto_crafting/function/machine/drop_items.mcfunction b/gm4_auto_crafting/data/gm4_auto_crafting/function/machine/drop_items.mcfunction
deleted file mode 100644
index ffd9e4bc44..0000000000
--- a/gm4_auto_crafting/data/gm4_auto_crafting/function/machine/drop_items.mcfunction
+++ /dev/null
@@ -1,11 +0,0 @@
-# drops items from the auto crafter buffer
-# @s = auto_crafter marker
-# located at @s
-# run from gm4_auto_crafting:machine/destroy
-
-loot spawn ~ ~ ~ loot gm4_auto_crafting:technical/temp_drop
-tag @e[type=item,distance=..0.5,predicate=gm4_auto_crafting:is_temp_item,nbt={Age:0s},limit=1] add gm4_ac_item
-data modify entity @e[type=item,tag=gm4_ac_item,distance=..0.5,limit=1] Item set from storage gm4_auto_crafting:temp buffer[-1]
-tag @e[type=item,distance=..0.5] remove gm4_ac_item
-data remove storage gm4_auto_crafting:temp buffer[-1]
-execute if data storage gm4_auto_crafting:temp buffer[-1] run function gm4_auto_crafting:machine/drop_items
diff --git a/gm4_auto_crafting/data/gm4_auto_crafting/function/machine/rotate/east.mcfunction b/gm4_auto_crafting/data/gm4_auto_crafting/function/machine/rotate/east.mcfunction
deleted file mode 100644
index 266fe13f31..0000000000
--- a/gm4_auto_crafting/data/gm4_auto_crafting/function/machine/rotate/east.mcfunction
+++ /dev/null
@@ -1,11 +0,0 @@
-# places the auto_crafter down based on rotation
-# @s = player who placed the auto_crafter
-# located at the center of the placed block
-# run from gm4_auto_crafting:machine/create
-
-# place dropper
-setblock ~ ~ ~ dropper[facing=east]{CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.auto_crafter","fallback":"Set Recipe Shape"},[{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.auto_crafter","fallback":"Set Recipe Shape","font":"gm4:half_invert"},{"translate":"container.gm4.auto_crafter","fallback":"Set Recipe Shape","font":"gm4:offscreen"},{"translate":"gui.gm4.auto_crafter","fallback":"","font":"gm4:container_gui","color":"white"},{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.auto_crafter","fallback":"Set Recipe Shape","font":"gm4:half_invert"},{"translate":"container.gm4.auto_crafter","fallback":"Set Recipe Shape","font":"gm4:default","color":"#404040"}]]}'}
-
-# summon display armor stand and marker entity
-summon armor_stand ~ ~-1.44 ~ {NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_auto_crafter_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:'"gm4_auto_crafter_stand"',ArmorItems:[{},{},{},{id:"minecraft:crafting_table",count:1,components:{"minecraft:custom_model_data":"block/auto_crafter"}}],Rotation:[-90.0f,0.0f],Pose:{Head:[90.0f,0.0f,0.0f]}}
-summon marker ~ ~ ~ {Tags:["gm4_auto_crafter","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_auto_crafter"',Rotation:[-90.0f,0.0f]}
diff --git a/gm4_auto_crafting/data/gm4_auto_crafting/function/machine/rotate/north.mcfunction b/gm4_auto_crafting/data/gm4_auto_crafting/function/machine/rotate/north.mcfunction
deleted file mode 100644
index 659e6d78f3..0000000000
--- a/gm4_auto_crafting/data/gm4_auto_crafting/function/machine/rotate/north.mcfunction
+++ /dev/null
@@ -1,11 +0,0 @@
-# places the auto_crafter down based on rotation
-# @s = player who placed the auto_crafter
-# located at the center of the placed block
-# run from gm4_auto_crafting:machine/create
-
-# place dropper
-setblock ~ ~ ~ dropper[facing=north]{CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.auto_crafter","fallback":"Set Recipe Shape"},[{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.auto_crafter","fallback":"Set Recipe Shape","font":"gm4:half_invert"},{"translate":"container.gm4.auto_crafter","fallback":"Set Recipe Shape","font":"gm4:offscreen"},{"translate":"gui.gm4.auto_crafter","fallback":"","font":"gm4:container_gui","color":"white"},{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.auto_crafter","fallback":"Set Recipe Shape","font":"gm4:half_invert"},{"translate":"container.gm4.auto_crafter","fallback":"Set Recipe Shape","font":"gm4:default","color":"#404040"}]]}'}
-
-# summon display armor stand and marker entity
-summon armor_stand ~ ~-1.44 ~ {NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_auto_crafter_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:'"gm4_auto_crafter_stand"',ArmorItems:[{},{},{},{id:"minecraft:crafting_table",count:1,components:{"minecraft:custom_model_data":"block/auto_crafter"}}],Rotation:[180.0f,0.0f],Pose:{Head:[90.0f,0.0f,0.0f]}}
-summon marker ~ ~ ~ {Tags:["gm4_auto_crafter","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_auto_crafter"',Rotation:[180.0f,0.0f]}
diff --git a/gm4_auto_crafting/data/gm4_auto_crafting/function/machine/rotate/south.mcfunction b/gm4_auto_crafting/data/gm4_auto_crafting/function/machine/rotate/south.mcfunction
deleted file mode 100644
index 6df2778573..0000000000
--- a/gm4_auto_crafting/data/gm4_auto_crafting/function/machine/rotate/south.mcfunction
+++ /dev/null
@@ -1,11 +0,0 @@
-# places the auto_crafter down based on rotation
-# @s = player who placed the auto_crafter
-# located at the center of the placed block
-# run from gm4_auto_crafting:machine/create
-
-# place dropper
-setblock ~ ~ ~ dropper[facing=south]{CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.auto_crafter","fallback":"Set Recipe Shape"},[{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.auto_crafter","fallback":"Set Recipe Shape","font":"gm4:half_invert"},{"translate":"container.gm4.auto_crafter","fallback":"Set Recipe Shape","font":"gm4:offscreen"},{"translate":"gui.gm4.auto_crafter","fallback":"","font":"gm4:container_gui","color":"white"},{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.auto_crafter","fallback":"Set Recipe Shape","font":"gm4:half_invert"},{"translate":"container.gm4.auto_crafter","fallback":"Set Recipe Shape","font":"gm4:default","color":"#404040"}]]}'}
-
-# summon display armor stand and marker entity
-summon armor_stand ~ ~-1.44 ~ {NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_auto_crafter_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:'"gm4_auto_crafter_stand"',ArmorItems:[{},{},{},{id:"minecraft:crafting_table",count:1,components:{"minecraft:custom_model_data":"block/auto_crafter"}}],Rotation:[0.0f,0.0f],Pose:{Head:[90.0f,0.0f,0.0f]}}
-summon marker ~ ~ ~ {Tags:["gm4_auto_crafter","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_auto_crafter"',Rotation:[0.0f,0.0f]}
diff --git a/gm4_auto_crafting/data/gm4_auto_crafting/function/machine/rotate/west.mcfunction b/gm4_auto_crafting/data/gm4_auto_crafting/function/machine/rotate/west.mcfunction
deleted file mode 100644
index 40dbae794f..0000000000
--- a/gm4_auto_crafting/data/gm4_auto_crafting/function/machine/rotate/west.mcfunction
+++ /dev/null
@@ -1,11 +0,0 @@
-# places the auto_crafter down based on rotation
-# @s = player who placed the auto_crafter
-# located at the center of the placed block
-# run from gm4_auto_crafting:machine/create
-
-# place dropper
-setblock ~ ~ ~ dropper[facing=west]{CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.auto_crafter","fallback":"Set Recipe Shape"},[{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.auto_crafter","fallback":"Set Recipe Shape","font":"gm4:half_invert"},{"translate":"container.gm4.auto_crafter","fallback":"Set Recipe Shape","font":"gm4:offscreen"},{"translate":"gui.gm4.auto_crafter","fallback":"","font":"gm4:container_gui","color":"white"},{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.auto_crafter","fallback":"Set Recipe Shape","font":"gm4:half_invert"},{"translate":"container.gm4.auto_crafter","fallback":"Set Recipe Shape","font":"gm4:default","color":"#404040"}]]}'}
-
-# summon display armor stand and marker entity
-summon armor_stand ~ ~-1.44 ~ {NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_auto_crafter_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:'"gm4_auto_crafter_stand"',ArmorItems:[{},{},{},{id:"minecraft:crafting_table",count:1,components:{"minecraft:custom_model_data":"block/auto_crafter"}}],Rotation:[90.0f,0.0f],Pose:{Head:[90.0f,0.0f,0.0f]}}
-summon marker ~ ~ ~ {Tags:["gm4_auto_crafter","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_auto_crafter"',Rotation:[90.0f,0.0f]}
diff --git a/gm4_auto_crafting/data/gm4_auto_crafting/function/machine/verify_destroy.mcfunction b/gm4_auto_crafting/data/gm4_auto_crafting/function/machine/verify_destroy.mcfunction
deleted file mode 100644
index 361066edb4..0000000000
--- a/gm4_auto_crafting/data/gm4_auto_crafting/function/machine/verify_destroy.mcfunction
+++ /dev/null
@@ -1,6 +0,0 @@
-# verifies that the destroyed machine was from this module
-# @s = machine block marker
-# located at @s
-# run from #gm4_machines:destroy
-
-execute if entity @s[tag=gm4_auto_crafter] run function gm4_auto_crafting:machine/destroy
diff --git a/gm4_auto_crafting/data/gm4_auto_crafting/function/machine/verify_place_down.mcfunction b/gm4_auto_crafting/data/gm4_auto_crafting/function/machine/verify_place_down.mcfunction
deleted file mode 100644
index a413fe3f06..0000000000
--- a/gm4_auto_crafting/data/gm4_auto_crafting/function/machine/verify_place_down.mcfunction
+++ /dev/null
@@ -1,6 +0,0 @@
-# verifies that the placed down machine was from this module
-# @s = player who placed down the machine
-# located at the machine block marker (at the center of the placed down block)
-# run from #gm4_machines:place_down
-
-execute if score $placed_block gm4_machine_data matches 0 if data storage gm4_machines:temp {id:"auto_crafter"} run function gm4_auto_crafting:machine/create
diff --git a/gm4_auto_crafting/data/gm4_auto_crafting/function/main.mcfunction b/gm4_auto_crafting/data/gm4_auto_crafting/function/main.mcfunction
deleted file mode 100644
index fd1958b4fb..0000000000
--- a/gm4_auto_crafting/data/gm4_auto_crafting/function/main.mcfunction
+++ /dev/null
@@ -1,5 +0,0 @@
-schedule function gm4_auto_crafting:main 4t
-
-# process machine
-execute as @e[type=marker,tag=gm4_auto_crafter,tag=!gm4_ac_full] at @s if block ~ ~ ~ dropper[triggered=false]{Items:[{}]} positioned ^ ^ ^-1 if block ^1 ^ ^ #gm4_auto_crafting:glass if block ^-1 ^ ^ #gm4_auto_crafting:glass if block ^ ^ ^-1 piston if block ^ ^1 ^ barrel{Items:[{}]} if predicate gm4_auto_crafting:has_multiblock at @s run function gm4_auto_crafting:auto_crafter/process_input
-execute as @e[type=marker,tag=gm4_auto_crafter,tag=gm4_ac_full] at @s run particle minecraft:falling_dust{block_state:"minecraft:redstone_block"} ^ ^ ^-0.6 0 0 0 1 1
diff --git a/gm4_auto_crafting/data/gm4_auto_crafting/function/tick.mcfunction b/gm4_auto_crafting/data/gm4_auto_crafting/function/tick.mcfunction
deleted file mode 100644
index dc467a7d3c..0000000000
--- a/gm4_auto_crafting/data/gm4_auto_crafting/function/tick.mcfunction
+++ /dev/null
@@ -1,4 +0,0 @@
-schedule function gm4_auto_crafting:tick 1t
-
-# check when the piston gets powered
-execute as @e[type=marker,tag=gm4_auto_crafter,tag=gm4_ac_full] at @s if block ^ ^ ^-1 moving_piston run function gm4_auto_crafting:auto_crafter/process_output
diff --git a/gm4_auto_crafting/data/gm4_auto_crafting/gm4_recipes/auto_crafter.json b/gm4_auto_crafting/data/gm4_auto_crafting/gm4_recipes/auto_crafter.json
deleted file mode 100644
index a295b14182..0000000000
--- a/gm4_auto_crafting/data/gm4_auto_crafting/gm4_recipes/auto_crafter.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "input": {
- "type": "shaped",
- "recipe": [
- " C ",
- "DTD",
- " R "
- ],
- "key": {
- "C": {
- "item": "minecraft:copper_ingot"
- },
- "D": {
- "item": "minecraft:redstone"
- },
- "T": {
- "item": "minecraft:player_head",
- "components": {"minecraft:custom_data":{"gm4_machines":{"id":"auto_crafter"}}},
- "guidebook": {
- "type": "loot_table",
- "name": "gm4_custom_crafters:items/custom_crafter"
- }
- },
- "R": {
- "item": "minecraft:repeater"
- }
- }
- },
- "output": {
- "result": {
- "type": "loot_table",
- "name": "gm4_auto_crafting:items/auto_crafter",
- "count": 1
- }
- }
-}
diff --git a/gm4_auto_crafting/data/gm4_auto_crafting/guidebook/auto_crafting.json b/gm4_auto_crafting/data/gm4_auto_crafting/guidebook/auto_crafting.json
deleted file mode 100644
index 5c18744660..0000000000
--- a/gm4_auto_crafting/data/gm4_auto_crafting/guidebook/auto_crafting.json
+++ /dev/null
@@ -1,165 +0,0 @@
-{
- "id": "auto_crafting",
- "name": "Auto Crafting",
- "module_type": "module",
- "icon": {
- "id": "minecraft:copper_block"
- },
- "criteria": {
- "obtain_copper_ingot": {
- "trigger": "minecraft:inventory_changed",
- "conditions": {
- "items": [
- {
- "items": [
- "minecraft:copper_ingot"
- ]
- }
- ]
- }
- },
- "obtain_custom_crafter": {
- "trigger": "minecraft:inventory_changed",
- "conditions": {
- "items": [
- {
- "items": [
- "minecraft:player_head"
- ],
- "predicates": {
- "minecraft:custom_data": "{gm4_machines:{id:\"custom_crafter\"}}"
- }
- }
- ]
- }
- },
- "obtain_auto_crafter": {
- "trigger": "minecraft:inventory_changed",
- "conditions": {
- "items": [
- {
- "items": [
- "minecraft:player_head"
- ],
- "predicates": {
- "minecraft:custom_data": "{gm4_machines:{id:\"auto_crafter\"}}"
- }
- }
- ]
- }
- },
- "open_auto_crafter": {
- "trigger": "minecraft:default_block_use",
- "conditions": {
- "location": [
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "block": {
- "blocks": [
- "minecraft:dropper"
- ],
- "nbt": "{CustomName:'{\"translate\":\"gm4.second\",\"fallback\":\"%1$s\",\"with\":[{\"translate\":\"container.gm4.auto_crafter\",\"fallback\":\"Set Recipe Shape\"},{\"text\":\" \",\"extra\":[{\"translate\":\"container.gm4.auto_crafter\",\"fallback\":\"Set Recipe Shape\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.auto_crafter\",\"fallback\":\"Set Recipe Shape\",\"font\":\"gm4:offscreen\"},{\"translate\":\"gui.gm4.auto_crafter\",\"fallback\":\"\",\"font\":\"gm4:container_gui\",\"color\":\"white\"},{\"text\":\" \",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.auto_crafter\",\"fallback\":\"Set Recipe Shape\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.auto_crafter\",\"fallback\":\"Set Recipe Shape\",\"font\":\"gm4:default\",\"color\":\"#404040\"}],\"font\":\"gm4:half_invert\"}]}'}"
- }
- }
- }
- ]
- }
- }
- },
- "sections": [
- {
- "name": "description",
- "enable": [],
- "requirements": [],
- "pages": [
- [
- {
- "insert": "title"
- },
- {
- "translate": "text.gm4.guidebook.auto_crafting.description",
- "fallback": "An auto crafter can be used to automatically craft items normally crafted in custom crafters."
- }
- ]
- ]
- },
- {
- "name": "crafting",
- "enable": [],
- "requirements": [
- [
- "obtain_copper_ingot"
- ],
- [
- "obtain_custom_crafter"
- ]
- ],
- "pages": [
- [
- {
- "translate": "text.gm4.guidebook.auto_crafting.crafting",
- "fallback": "Auto crafters can be crafted in a custom crafter with the following recipe:"
- },
- "\n",
- {
- "insert": "recipe",
- "recipe": "gm4_auto_crafting:auto_crafter"
- }
- ]
- ]
- },
- {
- "name": "multi-block",
- "enable": [],
- "requirements": [
- [
- "obtain_auto_crafter"
- ]
- ],
- "pages": [
- [
- {
- "translate": "text.gm4.guidebook.auto_crafting.multi_block",
- "fallback": "The auto crafter needs a 3x3x3 multi-block structure.\n\nPlace the auto crafter, then a piston behind it, leaving a space for the head to extend. Then place two glass blocks on the other two sides to make a cross."
- }
- ],
- [
- {
- "translate": "text.gm4.guidebook.auto_crafting.multi_block_1",
- "fallback": "The top and bottom layers must each have a barrel with four wooden stairs or planks.\n\nIf stairs are used, they must be oriented to form a sort of pill shape."
- }
- ]
- ],
- "grants": [
- "crafting"
- ]
- },
- {
- "name": "usage",
- "enable": [],
- "requirements": [
- [
- "open_auto_crafter"
- ]
- ],
- "pages": [
- [
- {
- "translate": "text.gm4.guidebook.auto_crafting.set_shape",
- "fallback": "The auto crafter GUI is used to set the shape of the recipe. Any item can be used to set the shape.\n\nItems will be taken out of the top barrel and fed into the crafter, filling each slot with one item."
- }
- ],
- [
- {
- "translate": "text.gm4.guidebook.auto_crafting.output",
- "fallback": "Once full, powering the piston will craft the item and place it in the bottom barrel.\n\nIf the piston is powered with an invalid recipe, the ingredients will be placed in the bottom barrel instead."
- }
- ]
- ],
- "grants": [
- "multi-block"
- ]
- }
- ]
-}
diff --git a/gm4_auto_crafting/data/gm4_auto_crafting/loot_table/crafting/auto_crafter.json b/gm4_auto_crafting/data/gm4_auto_crafting/loot_table/crafting/auto_crafter.json
deleted file mode 100644
index 47d91ec7be..0000000000
--- a/gm4_auto_crafting/data/gm4_auto_crafting/loot_table/crafting/auto_crafter.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 8,
- "entries": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4:air"
- }
- ]
- },
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4_auto_crafting:items/auto_crafter",
- "functions": [
- {
- "function": "minecraft:set_count",
- "count": 1
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_auto_crafting/data/gm4_auto_crafting/loot_table/items/auto_crafter.json b/gm4_auto_crafting/data/gm4_auto_crafting/loot_table/items/auto_crafter.json
deleted file mode 100644
index 266ceb4171..0000000000
--- a/gm4_auto_crafting/data/gm4_auto_crafting/loot_table/items/auto_crafter.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "type": "block",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "item",
- "name": "minecraft:player_head",
- "functions": [
- {
- "function": "set_components",
- "components": {
- "minecraft:custom_model_data": "item/auto_crafter",
- "minecraft:profile": "$auto_crafter"
- }
- },
- {
- "function": "set_custom_data",
- "tag": "{gm4_machines:{id:'auto_crafter'}}"
- },
- {
- "function": "set_name",
- "name": [
- {
- "translate": "block.gm4.auto_crafter",
- "fallback": "Auto Crafter",
- "color": "white",
- "italic": false
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_auto_crafting/data/gm4_auto_crafting/loot_table/technical/temp_drop.json b/gm4_auto_crafting/data/gm4_auto_crafting/loot_table/technical/temp_drop.json
deleted file mode 100644
index e9f35f7288..0000000000
--- a/gm4_auto_crafting/data/gm4_auto_crafting/loot_table/technical/temp_drop.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- "type": "generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "item",
- "name": "minecraft:stone_button",
- "functions": [
- {
- "function": "set_custom_data",
- "tag": "{gm4_auto_crafting_temp:1b}"
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_auto_crafting/data/gm4_auto_crafting/predicate/has_multiblock.json b/gm4_auto_crafting/data/gm4_auto_crafting/predicate/has_multiblock.json
deleted file mode 100644
index d69e4f3f1e..0000000000
--- a/gm4_auto_crafting/data/gm4_auto_crafting/predicate/has_multiblock.json
+++ /dev/null
@@ -1,274 +0,0 @@
-[
- {
- "condition": "minecraft:location_check",
- "offsetX": 0,
- "offsetY": 0,
- "offsetZ": 0,
- "predicate": {
- "block": {
- "blocks": "#minecraft:air"
- }
- }
- },
- {
- "condition": "minecraft:location_check",
- "offsetX": 0,
- "offsetY": -1,
- "offsetZ": 0,
- "predicate": {
- "block": {
- "blocks": [
- "minecraft:barrel"
- ]
- }
- }
- },
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:location_check",
- "offsetX": 1,
- "offsetY": 1,
- "offsetZ": 0,
- "predicate": {
- "block": {
- "blocks": "#minecraft:planks"
- }
- }
- },
- {
- "condition": "minecraft:location_check",
- "offsetX": 1,
- "offsetY": 1,
- "offsetZ": 0,
- "predicate": {
- "block": {
- "blocks": "#minecraft:wooden_stairs",
- "state": {
- "facing": "west",
- "half": "bottom"
- }
- }
- }
- }
- ]
- },
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:location_check",
- "offsetX": 1,
- "offsetY": -1,
- "offsetZ": 0,
- "predicate": {
- "block": {
- "blocks": "#minecraft:planks"
- }
- }
- },
- {
- "condition": "minecraft:location_check",
- "offsetX": 1,
- "offsetY": -1,
- "offsetZ": 0,
- "predicate": {
- "block": {
- "blocks": "#minecraft:wooden_stairs",
- "state": {
- "facing": "west",
- "half": "top"
- }
- }
- }
- }
- ]
- },
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:location_check",
- "offsetX": -1,
- "offsetY": 1,
- "offsetZ": 0,
- "predicate": {
- "block": {
- "blocks": "#minecraft:planks"
- }
- }
- },
- {
- "condition": "minecraft:location_check",
- "offsetX": -1,
- "offsetY": 1,
- "offsetZ": 0,
- "predicate": {
- "block": {
- "blocks": "#minecraft:wooden_stairs",
- "state": {
- "facing": "east",
- "half": "bottom"
- }
- }
- }
- }
- ]
- },
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:location_check",
- "offsetX": -1,
- "offsetY": -1,
- "offsetZ": 0,
- "predicate": {
- "block": {
- "blocks": "#minecraft:planks"
- }
- }
- },
- {
- "condition": "minecraft:location_check",
- "offsetX": -1,
- "offsetY": -1,
- "offsetZ": 0,
- "predicate": {
- "block": {
- "blocks": "#minecraft:wooden_stairs",
- "state": {
- "facing": "east",
- "half": "top"
- }
- }
- }
- }
- ]
- },
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:location_check",
- "offsetX": 0,
- "offsetY": 1,
- "offsetZ": 1,
- "predicate": {
- "block": {
- "blocks": "#minecraft:planks"
- }
- }
- },
- {
- "condition": "minecraft:location_check",
- "offsetX": 0,
- "offsetY": 1,
- "offsetZ": 1,
- "predicate": {
- "block": {
- "blocks": "#minecraft:wooden_stairs",
- "state": {
- "facing": "north",
- "half": "bottom"
- }
- }
- }
- }
- ]
- },
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:location_check",
- "offsetX": 0,
- "offsetY": -1,
- "offsetZ": 1,
- "predicate": {
- "block": {
- "blocks": "#minecraft:planks"
- }
- }
- },
- {
- "condition": "minecraft:location_check",
- "offsetX": 0,
- "offsetY": -1,
- "offsetZ": 1,
- "predicate": {
- "block": {
- "blocks": "#minecraft:wooden_stairs",
- "state": {
- "facing": "north",
- "half": "top"
- }
- }
- }
- }
- ]
- },
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:location_check",
- "offsetX": 0,
- "offsetY": 1,
- "offsetZ": -1,
- "predicate": {
- "block": {
- "blocks": "#minecraft:planks"
- }
- }
- },
- {
- "condition": "minecraft:location_check",
- "offsetX": 0,
- "offsetY": 1,
- "offsetZ": -1,
- "predicate": {
- "block": {
- "blocks": "#minecraft:wooden_stairs",
- "state": {
- "facing": "south",
- "half": "bottom"
- }
- }
- }
- }
- ]
- },
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:location_check",
- "offsetX": 0,
- "offsetY": -1,
- "offsetZ": -1,
- "predicate": {
- "block": {
- "blocks": "#minecraft:planks"
- }
- }
- },
- {
- "condition": "minecraft:location_check",
- "offsetX": 0,
- "offsetY": -1,
- "offsetZ": -1,
- "predicate": {
- "block": {
- "blocks": "#minecraft:wooden_stairs",
- "state": {
- "facing": "south",
- "half": "top"
- }
- }
- }
- }
- ]
- }
-]
diff --git a/gm4_auto_crafting/data/gm4_auto_crafting/predicate/is_temp_item.json b/gm4_auto_crafting/data/gm4_auto_crafting/predicate/is_temp_item.json
deleted file mode 100644
index 37b8c79d39..0000000000
--- a/gm4_auto_crafting/data/gm4_auto_crafting/predicate/is_temp_item.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "slots": {
- "contents": {
- "count": 1,
- "predicates": {
- "minecraft:custom_data": "{gm4_auto_crafting_temp:1b}"
- }
- }
- }
- }
-}
diff --git a/gm4_auto_crafting/data/gm4_auto_crafting/skins/auto_crafter.png b/gm4_auto_crafting/data/gm4_auto_crafting/skins/auto_crafter.png
deleted file mode 100644
index 8c4c37e895..0000000000
Binary files a/gm4_auto_crafting/data/gm4_auto_crafting/skins/auto_crafter.png and /dev/null differ
diff --git a/gm4_auto_crafting/data/gm4_auto_crafting/tags/block/glass.json b/gm4_auto_crafting/data/gm4_auto_crafting/tags/block/glass.json
deleted file mode 100644
index ded6e1241c..0000000000
--- a/gm4_auto_crafting/data/gm4_auto_crafting/tags/block/glass.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- "values": [
- "minecraft:black_stained_glass",
- "minecraft:blue_stained_glass",
- "minecraft:brown_stained_glass",
- "minecraft:cyan_stained_glass",
- "minecraft:glass",
- "minecraft:gray_stained_glass",
- "minecraft:green_stained_glass",
- "minecraft:light_blue_stained_glass",
- "minecraft:light_gray_stained_glass",
- "minecraft:lime_stained_glass",
- "minecraft:magenta_stained_glass",
- "minecraft:orange_stained_glass",
- "minecraft:pink_stained_glass",
- "minecraft:purple_stained_glass",
- "minecraft:red_stained_glass",
- "minecraft:tinted_glass",
- "minecraft:white_stained_glass",
- "minecraft:yellow_stained_glass"
- ]
-}
diff --git a/gm4_auto_crafting/data/gm4_custom_crafters/tags/function/check_recipes.json b/gm4_auto_crafting/data/gm4_custom_crafters/tags/function/check_recipes.json
deleted file mode 100644
index 985b180ef4..0000000000
--- a/gm4_auto_crafting/data/gm4_custom_crafters/tags/function/check_recipes.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "values":[
- "gm4_auto_crafting:check_recipes"
- ]
-}
diff --git a/gm4_auto_crafting/data/gm4_custom_crafters/tags/function/custom_item_checks.json b/gm4_auto_crafting/data/gm4_custom_crafters/tags/function/custom_item_checks.json
deleted file mode 100644
index 888270ba72..0000000000
--- a/gm4_auto_crafting/data/gm4_custom_crafters/tags/function/custom_item_checks.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "values": [
- "gm4_auto_crafting:check_item_tags"
- ]
-}
diff --git a/gm4_auto_crafting/data/gm4_machines/tags/function/destroy.json b/gm4_auto_crafting/data/gm4_machines/tags/function/destroy.json
deleted file mode 100644
index 5fda2e0afb..0000000000
--- a/gm4_auto_crafting/data/gm4_machines/tags/function/destroy.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "values": [
- "gm4_auto_crafting:machine/verify_destroy"
- ]
-}
diff --git a/gm4_auto_crafting/data/gm4_machines/tags/function/place_down.json b/gm4_auto_crafting/data/gm4_machines/tags/function/place_down.json
deleted file mode 100644
index 0ea9cf5cd3..0000000000
--- a/gm4_auto_crafting/data/gm4_machines/tags/function/place_down.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "values": [
- "gm4_auto_crafting:machine/verify_place_down"
- ]
-}
diff --git a/gm4_auto_crafting/generate.py b/gm4_auto_crafting/generate.py
deleted file mode 100644
index 16439125cf..0000000000
--- a/gm4_auto_crafting/generate.py
+++ /dev/null
@@ -1,832 +0,0 @@
-from beet import Context, Function, ItemTag, LootTable, Predicate
-from beet.contrib.vanilla import Vanilla
-from itertools import groupby
-from typing import Any, Callable
-from dataclasses import dataclass
-
-
-NAMESPACE = "gm4_auto_crafting" # name of the module
-LOOT_PATH = "crafting/vanilla"
-BRANCH_PATH = "check_recipes" # folder where all the search tree stuff will take place
-
-buckets = [
- "minecraft:axolotl_bucket",
- "minecraft:cod_bucket",
- "minecraft:lava_bucket",
- "minecraft:milk_bucket",
- "minecraft:powder_snow_bucket",
- "minecraft:pufferfish_bucket",
- "minecraft:salmon_bucket",
- "minecraft:tropical_fish_bucket",
- "minecraft:water_bucket"
-]
-
-bottles = [
- "minecraft:dragon_breath",
- "minecraft:honey_bottle",
- "minecraft:potion"
-]
-
-## DO NOT CHANGE ORDER OF THIS LIST
-unstackables = [
- "minecraft:shulker_box", # stacksTo(1)
- "minecraft:white_shulker_box",
- "minecraft:orange_shulker_box",
- "minecraft:magenta_shulker_box",
- "minecraft:light_blue_shulker_box",
- "minecraft:yellow_shulker_box",
- "minecraft:lime_shulker_box",
- "minecraft:pink_shulker_box",
- "minecraft:gray_shulker_box",
- "minecraft:light_gray_shulker_box",
- "minecraft:cyan_shulker_box",
- "minecraft:purple_shulker_box",
- "minecraft:blue_shulker_box",
- "minecraft:brown_shulker_box",
- "minecraft:green_shulker_box",
- "minecraft:red_shulker_box",
- "minecraft:black_shulker_box",
- "minecraft:saddle",
- "minecraft:minecart",
- "minecraft:chest_minecart",
- "minecraft:furnace_minecart",
- "minecraft:tnt_minecart",
- "minecraft:hopper_minecart",
- "minecraft:oak_boat",
- "minecraft:spruce_boat",
- "minecraft:birch_boat",
- "minecraft:jungle_boat",
- "minecraft:acacia_boat",
- "minecraft:dark_oak_boat",
- "minecraft:mangrove_boat",
- "minecraft:mushroom_stew",
- "minecraft:water_bucket",
- "minecraft:lava_bucket",
- "minecraft:powder_snow_bucket",
- "minecraft:milk_bucket",
- "minecraft:pufferfish_bucket",
- "minecraft:salmon_bucket",
- "minecraft:cod_bucket",
- "minecraft:tropical_fish_bucket",
- "minecraft:axolotl_bucket",
- "minecraft:tadpole_bucket",
- "minecraft:bundle",
- "minecraft:spyglass",
- "minecraft:cake",
- "minecraft:white_bed",
- "minecraft:orange_bed",
- "minecraft:magenta_bed",
- "minecraft:light_blue_bed",
- "minecraft:yellow_bed",
- "minecraft:lime_bed",
- "minecraft:pink_bed",
- "minecraft:gray_bed",
- "minecraft:light_gray_bed",
- "minecraft:cyan_bed",
- "minecraft:purple_bed",
- "minecraft:blue_bed",
- "minecraft:brown_bed",
- "minecraft:green_bed",
- "minecraft:red_bed",
- "minecraft:black_bed",
- "minecraft:potion",
- "minecraft:writable_book",
- "minecraft:enchanted_book",
- "minecraft:rabbit_stew",
- "minecraft:iron_horse_armor",
- "minecraft:golden_horse_armor",
- "minecraft:diamond_horse_armor",
- "minecraft:leather_horse_armor",
- "minecraft:command_block_minecart",
- "minecraft:beetroot_soup",
- "minecraft:splash_potion",
- "minecraft:lingering_potion",
- "minecraft:totem_of_undying",
- "minecraft:knowledge_book",
- "minecraft:debug_stick",
- "minecraft:music_disc_13",
- "minecraft:music_disc_cat",
- "minecraft:music_disc_blocks",
- "minecraft:music_disc_chirp",
- "minecraft:music_disc_far",
- "minecraft:music_disc_mall",
- "minecraft:music_disc_mellohi",
- "minecraft:music_disc_stal",
- "minecraft:music_disc_strad",
- "minecraft:music_disc_ward",
- "minecraft:music_disc_11",
- "minecraft:music_disc_wait",
- "minecraft:music_disc_otherside",
- "minecraft:music_disc_pigstep",
- "minecraft:crossbow",
- "minecraft:suspicious_stew",
- "minecraft:flower_banner_pattern",
- "minecraft:creeper_banner_pattern",
- "minecraft:skull_banner_pattern",
- "minecraft:mojang_banner_pattern",
- "minecraft:globe_banner_pattern",
- "minecraft:piglin_banner_pattern",
- "minecraft:carrot_on_a_stick",
- "minecraft:warped_fungus_on_a_stick", # durability
- "minecraft:elytra",
- "minecraft:flint_and_steel",
- "minecraft:bow",
- "minecraft:fishing_rod",
- "minecraft:shears",
- "minecraft:shield",
- "minecraft:trident",
- "minecraft:wooden_sword", # SwordItem
- "minecraft:stone_sword",
- "minecraft:golden_sword",
- "minecraft:iron_sword",
- "minecraft:diamond_sword",
- "minecraft:netherite_sword",
- "minecraft:wooden_axe", # AxeItem
- "minecraft:stone_axe",
- "minecraft:golden_axe",
- "minecraft:iron_axe",
- "minecraft:diamond_axe",
- "minecraft:netherite_axe",
- "minecraft:wooden_hoe", # HoeItem
- "minecraft:stone_hoe",
- "minecraft:golden_hoe",
- "minecraft:iron_hoe",
- "minecraft:diamond_hoe",
- "minecraft:netherite_hoe",
- "minecraft:wooden_pickaxe", # PickaxeItem
- "minecraft:stone_pickaxe",
- "minecraft:golden_pickaxe",
- "minecraft:iron_pickaxe",
- "minecraft:diamond_pickaxe",
- "minecraft:netherite_pickaxe",
- "minecraft:wooden_shovel", # ShovelItem
- "minecraft:stone_shovel",
- "minecraft:golden_shovel",
- "minecraft:iron_shovel",
- "minecraft:diamond_shovel",
- "minecraft:netherite_shovel"
- "minecraft:turtle_helmet", # ArmorItem
- "minecraft:leather_helmet",
- "minecraft:leather_chestplate",
- "minecraft:leather_leggings",
- "minecraft:leather_boots",
- "minecraft:chainmail_helmet",
- "minecraft:chainmail_chestplate",
- "minecraft:chainmail_leggings",
- "minecraft:chainmail_boots",
- "minecraft:iron_helmet",
- "minecraft:iron_chestplate",
- "minecraft:iron_leggings",
- "minecraft:iron_boots",
- "minecraft:diamond_helmet",
- "minecraft:diamond_chestplate",
- "minecraft:diamond_leggings",
- "minecraft:diamond_boots",
- "minecraft:golden_helmet",
- "minecraft:golden_chestplate",
- "minecraft:golden_leggings",
- "minecraft:golden_boots",
- "minecraft:netherite_helmet",
- "minecraft:netherite_chestplate",
- "minecraft:netherite_leggings",
- "minecraft:netherite_boots"
-]
-
-## DO NOT CHANGE ORDER OF THIS LIST
-stackable_16 = [
- "minecraft:oak_sign",
- "minecraft:spruce_sign",
- "minecraft:birch_sign",
- "minecraft:jungle_sign",
- "minecraft:acacia_sign",
- "minecraft:dark_oak_sign",
- "minecraft:mangrove_sign",
- "minecraft:crimson_sign",
- "minecraft:warped_sign"
- "minecraft:bucket",
- "minecraft:snowball",
- "minecraft:egg",
- "minecraft:ender_pearl",
- "minecraft:written_book",
- "minecraft:armor_stand",
- "minecraft:white_banner",
- "minecraft:white_banner",
- "minecraft:orange_banner",
- "minecraft:magenta_banner",
- "minecraft:light_blue_banner",
- "minecraft:yellow_banner",
- "minecraft:lime_banner",
- "minecraft:pink_banner",
- "minecraft:gray_banner",
- "minecraft:light_gray_banner",
- "minecraft:cyan_banner",
- "minecraft:purple_banner",
- "minecraft:blue_banner",
- "minecraft:brown_banner",
- "minecraft:green_banner",
- "minecraft:red_banner",
- "minecraft:black_banner",
- "minecraft:honey_bottle"
-]
-
-
-@dataclass
-class RecipeResult:
- name: str
- count: int = 1
- rolls: int = 1
-
-
-@dataclass
-class RecipeShape:
- ingredients: list[str]
- result: list[RecipeResult]
- shapeless: bool
- mirror: bool = False
-
-
-@dataclass
-class RecipeData:
- name: str
- recipe: RecipeShape
- slot_count: int
- total_length: int
-
- def copy(self):
- return RecipeData(self.name, self.recipe, self.slot_count, self.total_length)
-
-
-@dataclass
-class TagData:
- name: str
- values: list[Any]
-
-
-def beet_default(ctx: Context):
- vanilla = ctx.inject(Vanilla)
- # Intentionally left at 1.21.3, not supporting new crafting recipes
- vanilla.minecraft_version = '1.21.3'
-
- recipes: list[RecipeData] = []
-
- for id, recipe in vanilla.data.recipes.items():
- name = id.split(':')[1]
- contents = recipe.data
- if contents["type"] == "minecraft:crafting_shaped":
- recipe = analyze_shaped_recipe(ctx, contents, name)
- elif contents["type"] == "minecraft:crafting_shapeless":
- recipe = analyze_shapeless_recipe(ctx, contents, name)
- else:
- continue
-
- # create loot table file for recipe output
- generate_crafting_loot_table(ctx, recipe.result, name)
-
- # gets the two parameters (slot_count and total_length) used for the search tree
- all_items = [i for i in recipe.ingredients if i != "minecraft:air"]
- has_tag = "#" in "".join(all_items)
- total_length = -1 if has_tag else sum([len(i) for i in all_items])
-
- recipes.append(RecipeData(name, recipe, len(all_items), total_length))
-
- # create the search tree functions
- generate_trees(ctx, recipes)
-
-
-def analyze_shaped_recipe(ctx: Context, recipe: dict[str, Any], name: str) -> RecipeShape:
- """
- analyzes the contents of the shaped recipe json
- """
- pattern: list[str] = []
- result: list[RecipeResult] = []
- list_symbols: list[str] = []
-
- while len(recipe["pattern"]) < 3:
- recipe["pattern"].append(" ")
- # convert pattern to array with items
- for row in recipe["pattern"]:
- pattern_row: list[str] = []
- row = row.ljust(3)
-
- # check each ingredient
- for symbol in row:
- if symbol == " ":
- item = "minecraft:air"
- else:
- ingredient: Any = recipe["key"][symbol]
- if isinstance(ingredient, list):
- if symbol not in list_symbols:
- generate_custom_item_tag(ctx, TagData(f"#{NAMESPACE}:{name}_ingredient_{len(list_symbols) + 1}", ingredient)) #type: ignore
- list_symbols.append(symbol)
- item = f"#{NAMESPACE}:{name}_ingredient_{list_symbols.index(symbol) + 1}"
- else:
- item = ingredient
- pattern_row.append(item)
-
- def add_result(item: str):
- if len(result) and result[-1].name == item:
- result[-1].rolls += 1
- else:
- result.append(RecipeResult(item))
- if item in buckets:
- add_result("minecraft:bucket")
- elif item in bottles:
- add_result("minecraft:glass_bottle")
- else:
- add_result("minecraft:air")
-
- # add the input row to the pattern list
- pattern.extend(pattern_row)
-
- # left align the pattern
- while pattern[0] == "minecraft:air" and pattern[3] == "minecraft:air" and pattern[6] == "minecraft:air":
- pattern[0] = pattern[1]
- pattern[1] = pattern[2]
- pattern[2] = "minecraft:air"
- pattern[3] = pattern[4]
- pattern[4] = pattern[5]
- pattern[5] = "minecraft:air"
- pattern[6] = pattern[7]
- pattern[7] = pattern[8]
- pattern[8] = "minecraft:air"
- # top align the pattern
- while pattern[0] == "minecraft:air" and pattern[1] == "minecraft:air" and pattern[2] == "minecraft:air":
- pattern[0] = pattern[3]
- pattern[1] = pattern[4]
- pattern[2] = pattern[5]
- pattern[3] = pattern[6]
- pattern[4] = pattern[7]
- pattern[5] = pattern[8]
- pattern[6] = "minecraft:air"
- pattern[7] = "minecraft:air"
- pattern[8] = "minecraft:air"
-
-
- # mark mirror-able recipes
- mirror = False
- if (pattern[2] == "minecraft:air" and pattern[5] == "minecraft:air" and pattern[8] == "minecraft:air"):
- if (pattern[0] != pattern[1] != "minecraft:air" or pattern[3] != pattern[4] != "minecraft:air" or pattern[6] != pattern[7] != "minecraft:air"):
- mirror = True
- elif (pattern[0] != pattern[2] or pattern[3] != pattern[5] or pattern[6] != pattern[8]):
- mirror = True
-
- # get what the last output item was
- last_output = result[-1].name
- # remove the last output item from result
- result[-1].rolls -= 1
- if result[-1].rolls == 0:
- result.pop()
- # if last output item was not air, move it somewhere else
- if last_output != "minecraft:air":
- found_match = False
- # check if the last item is the same as another item in the output loot table
- for i, r in enumerate(result):
- # if a matching item is found, merge them
- if r.name == last_output:
- # if there's only one instance, just increase the count
- if r.rolls == 1:
- r.count += 1
- # if there's multiple instances, increase the count for only one of the rolls
- else:
- r.rolls -= 1
- result.insert(i, RecipeResult(r.name, count=2))
- found_match = True
- break
- # if there's no matching item in the output loot table, put the item in the first empty output slot
- if not found_match:
- for i, r in enumerate(result):
- # find the first instance of an air roll
- if r.name == "minecraft:air":
- # decrease the number of air rolls, and add a roll for the last output item before that
- r.rolls -= 1
- result.insert(i, RecipeResult(last_output))
- found_match = True
- break
- # if the entire thing is full, just print the recipe for manual correction
- # if it gets here the last bottle/bucket will be voided
- if not found_match:
- print("FULL: " + recipe["result"]["id"] + " -> " + last_output)
-
- # set the last slot to the recipe result
- result_id = recipe["result"]["id"]
- result_count = recipe["result"].get("count", 1)
- result.append(RecipeResult(result_id, count=result_count))
- # return the new formatted recipe
- return RecipeShape(pattern, result, shapeless=False, mirror=mirror)
-
-
-
-def analyze_shapeless_recipe(ctx: Context, recipe: dict[str, Any], name: str) -> RecipeShape:
- """
- analyzes the contents of the shapeless recipe json
- """
- tag_count = 0
- ingredients: list[str] = []
- result: list[RecipeResult] = []
- bucket_count = 0
- bottle_count = 0
- for entry in recipe["ingredients"]:
- if isinstance(entry, list):
- tag_count += 1
- item = f"#{NAMESPACE}:{name}_ingredient_{tag_count}"
- generate_custom_item_tag(ctx, TagData(item, entry)) # type: ignore
- else:
- item = entry
- # special case: check if the item is a bucket or bottle type (used for output)
- if item in buckets:
- bucket_count += 1
- elif item in bottles:
- bottle_count += 1
- ingredients.append(item)
-
- # if there were (non-empty) buckets in the recipe, return empty buckets
- if bucket_count > 0:
- result.append(RecipeResult("minecraft:bucket", count=bucket_count))
- # if there were (non-empty) bottles in the recipe, return empty bottles
- if bottle_count > 0:
- result.append(RecipeResult("minecraft:glass_bottle", count=bottle_count))
- # fill the slots with air, up until the last slot
- air_count = 8 - bucket_count - bottle_count
- result.append(RecipeResult("minecraft:air", rolls=air_count))
- # set the last slot to the recipe result
- result_id = recipe["result"]["id"]
- result_count = recipe["result"].get("count", 1)
- result.append(RecipeResult(result_id, count=result_count))
- # return the new formatted recipe
- return RecipeShape(ingredients, result, shapeless=True)
-
-
-
-def generate_custom_item_tag(ctx: Context, data: TagData) -> str:
- """
- creates a custom item tag for a list of items
- """
- # get prefix and name of item tag
- name = data.name.removeprefix(f"#{NAMESPACE}:")
- json: Any = {"values": []}
- # move values to the json
- for value in data.values:
- # if there's a nested list, combine them into a single values list
- # (just a failsafe; this makes no sense, but neither does Mojang)
- if type(value) is list[Any]:
- for item in value:
- if "item" in item:
- # if it's an item, just append the item
- json["values"].append(item["item"])
- elif "tag" in item:
- # if it's an (actual) item tag, add '#' before the value
- json["values"].append("#" + item["tag"])
- else:
- if "item" in value:
- # if it's an item, just append the item
- json["values"].append(value["item"])
- elif "tag" in value:
- # if it's an (actual) item tag, add '#' before the value
- json["values"].append("#" + value["tag"])
- # create item tag file
- ctx.data[f"{NAMESPACE}:{name}"] = ItemTag(json)
-
- # write the function that checks the predicates
- fn_name = f"{NAMESPACE}:check_item_tags"
- if fn_name not in ctx.data.functions:
- ctx.data.functions[fn_name] = Function([
- "# checks each slot for item tags",
- "# @s = crafter armor stand\n# located at the center of the block",
- "# run from gm4_custom_crafters-3.0:process_input/check_item_tags via #gm4_custom_crafters:custom_item_checks",
- "",
- ])
- ctx.data.functions[fn_name].append(f"execute if predicate {NAMESPACE}:custom_item_tags/{name} run data modify storage gm4_custom_crafters:temp/crafter item.item_tags.{NAMESPACE}.{name} set value 1b")
-
- # create predicate file for the item tag check
- json: Any = {"condition":"minecraft:entity_properties","entity":"this","predicate":{"equipment":{"mainhand":{"items": f"#{NAMESPACE}:{name}"}}}}
- ctx.data[f"{NAMESPACE}:custom_item_tags/{name}"] = Predicate(json)
-
- # return the name of the item tag just created
- return data.name[1:]
-
-
-
-def generate_crafting_loot_table(ctx: Context, result: list[RecipeResult], target: str):
- """
- creates a loot table for the output result of the custom crafting recipe
- """
- # create initial loot table
- json: Any = {"type": "minecraft:generic","pools": []}
- for r in result:
- # populate pools
- if r.name == "minecraft:air":
- entry = {"type":"minecraft:loot_table","value":"gm4:air"}
- else:
- entry = {"type":"minecraft:item","name":r.name}
- pool: Any = {"rolls":r.rolls,"entries":[entry]}
- # set count
- if r.count > 1:
- pool["entries"][0]["functions"] = [{"function":"minecraft:set_count","count":r.count}]
- json["pools"].append(pool)
-
- # write loot table file
- ctx.data[f"{NAMESPACE}:{LOOT_PATH}/{target}"] = LootTable(json)
-
-
-
-def generate_trees(ctx: Context, recipes: list[RecipeData]) -> None:
- """
- generates the search tree functions
- """
- # separate recipes list into lists of same slot_count, sorted by total_length
- recipes_by_slot_count = {
- k: sorted([r for r in recipes if r.slot_count == k], key=lambda d: d.total_length)
- for k in range(1, 10)
- }
-
- def on_slot_leaf(value: int, path: str):
- recipes = recipes_by_slot_count[value]
-
- # turn recipes list into dict w/ total_length as key
- recipes_by_total_length = {
- k: list(g)
- for k, g in groupby(recipes, key=lambda r: r.total_length)
- if k != -1
- }
- recipes_using_tags = [r for r in recipes if r.total_length == -1]
-
- # get the maximum length, this works because recipes was sorted by total_length
- max_length = max(0, recipes[-1].total_length)
-
- def on_length_leaf(value: int, path: str):
- generate_recipe_function(ctx, recipes_by_total_length[value], path)
-
- # create a search tree based on the total length
- generate_search_tree(ctx, dict(recipes_by_total_length), 0, max_length, path, "$id_total gm4_crafting", on_length_leaf)
-
- # if this slot_count has recipes that use tags, then create a function that doesn't check total_length
- if recipes_using_tags:
- path_uses_tags = f"{path}/uses_tags"
- ctx.data.functions[f"{NAMESPACE}:{path}/search"].append(f"execute if score $crafted gm4_crafting matches 0 run function {NAMESPACE}:{path_uses_tags}")
- generate_recipe_function(ctx, recipes_using_tags, path_uses_tags)
-
- # create a search tree based on the slot_count
- generate_search_tree(ctx, recipes_by_slot_count, 0, 9, BRANCH_PATH, "$slot_count gm4_crafting", on_slot_leaf, "/search")
-
-
-
-def generate_search_tree(ctx: Context, entries: dict[int, list[RecipeData]], start: int, end: int, path: str, score: str, on_leaf: Callable[[int, str], None], leaf_suffix: str = ""):
- completed: set[int] = set()
-
- def in_range(low: int, high: int):
- """
- returns the indices of entries between low and high
- """
- return [i for i in range(low, high + 1) if i in entries]
-
- def create_leaves(low: int, high: int, path: str, fn: Function):
- """
- creates the leaves for entries between low and high need a function
- """
- # for all entries between low and high
- for i in in_range(low, high):
- # only generate if that slot_count exists and doesn't yet have a function
- if i in completed:
- continue
- # add i to list of completed functions
- completed.add(i)
- # write function file for this slot_count
- leaf_path = f"{path}/{i}"
- fn.append(f"execute if score $crafted gm4_crafting matches 0 if score {score} matches {i} run function {NAMESPACE}:{leaf_path}{leaf_suffix}")
- # call any specific leaf function
- on_leaf(i, leaf_path)
-
- def find_middle(low: int, high: int) -> int:
- """
- get weighted middle between min and max
- """
- # count the total number of values between min and max
- total = sum([len(entries[i]) for i in range(low, high) if i in entries])
- # get halfway point
- target = total // 2
- i = low
- count = 0
- # count the number of values until halfway is reached
- while i < high and count < target:
- if i in entries:
- count += len(entries[i])
- i += 1
- return i
-
- def update_range(low: int, high: int) -> tuple[int, int]:
- """
- move low and high to values that exist in dict
- """
- if low < high:
- low = min([i for i in entries if i >= low])
- high = max([i for i in entries if i <= high])
- return low, high
-
- def branch(start: int, end: int, path: str, fn: Function):
- """
- creates two branches of the search tree
- """
- # get halfway point
- half = find_middle(start, end)
-
- # get first half
- low, high = update_range(start, half - 1)
- # if count(high - low) <= 1
- if len(in_range(low, high)) <= 1:
- # create functions for the values between low and high
- create_leaves(low, high, path, fn)
- else:
- # branch again
- new_path = f"{path}/{low}_{high}"
- fn.append(f"execute if score $crafted gm4_crafting matches 0 if score {score} matches {low}..{high} run function {NAMESPACE}:{new_path}/search")
- generate_tree(low, high, new_path)
-
- # get second half
- low, high = update_range(half, end)
- # if count(high - low) <= 1
- if len(in_range(low, high)) <= 1:
- # create functions for the values between low and high
- create_leaves(low, high, path, fn)
- else:
- # branch again
- new_path = f"{path}/{low}_{high}"
- fn.append(f"execute if score $crafted gm4_crafting matches 0 if score {score} matches {low}..{high} run function {NAMESPACE}:{new_path}/search")
- generate_tree(low, high, new_path)
-
- def generate_tree(start: int, end: int, path: str):
- fn = Function()
-
- if len(in_range(start, end)) <= 4:
- create_leaves(start, end, path, fn)
- else:
- # get halfway point
- half = find_middle(start, end)
-
- # branch the first half into two branches
- low, high = update_range(start, half - 1)
- branch(low, high, path, fn)
-
- # branch the second half into two branches
- low, high = update_range(half, end)
- branch(low, high, path, fn)
-
- ctx.data[f"{NAMESPACE}:{path}/search"] = fn
-
- generate_tree(start, end, path)
-
-
-
-def generate_recipe_function(ctx: Context, recipes: list[RecipeData], path: str) -> None:
- """
- create recipe function for the specific slot_count and total_length
- """
- def stack_size(recipe: RecipeShape) -> str:
- """
- get max stack size of items based on result stackability and count
- """
- result = recipe.result[-1]
- item = result.name
- count = result.count
- # stack_size should be less than or equal to stack_count // result_count
- if item in unstackables:
- return "1"
- elif item in stackable_16:
- return f"..{16 // count}"
- else:
- return f"..{64 // count}"
-
- fn = Function()
-
- for r in recipes:
- recipe = r.recipe
- # get max stack size for recipe
- max_stack = stack_size(recipe)
- name = r.name
- # set initial checks
- checks = f"if score $crafted gm4_crafting matches 0 store success score $crafted gm4_crafting if score $stack_size gm4_crafting matches {max_stack}"
-
- items: list[str] = []
- recipe_data = ""
- # if shapeless recipe
- if recipe.shapeless:
- duplicates: list[Any] = []
- counted: list[Any] = []
- for item in recipe.ingredients:
- # check for duplicates in recipe
- if recipe.ingredients.count(item) > 1:
- # add each duplicate items to a list with the number of duplicates
- if item not in counted:
- counted.append(item)
- duplicates.append({"item": item, "count": recipe.ingredients.count(item)})
- else:
- # check if it's an item tag or a normal item
- if "#" in item:
- item = item[1:]
- [prefix, tag] = item.split(":")
- # construct special nbt for checking item tags
- s = "{item_tags:{" + prefix + ":{" + tag + ":1b}}}"
- items.append(s)
- else:
- # construct nbt for checking item id
- s = "{id:\"" + item + "\"}"
- items.append(s)
- # if there are duplicates in the recipe, add some commands to check the count of slots with that item
- if len(duplicates) > 0:
- # reset scoreboard in case a previous function checked the same items
- fn.append("scoreboard players reset * gm4_craft_shapeless")
- # modify the checks to not do 'store result score $crafted gm4_crafting'; must be moved to end
- checks = f"if score $crafted gm4_crafting matches 0 if score $stack_size gm4_crafting matches {max_stack}"
- # for each type of duplicate item, check the count
- while len(duplicates) > 0:
- # get the item and number of required slots
- item = duplicates[0]["item"]
- count = duplicates[0]["count"]
- # check if it's an item tag or normal item
- if "#" in item:
- item = item[1:]
- [prefix, tag] = item.split(":")
- # construct special nbt for checking item tags
- s = "{item_tags:{" + prefix + ":{" + tag + ":1b}}}"
- item = "#" + item
- else:
- # construct nbt for checking item id
- s = "{id:\"" + item + "\"}"
- # write command to check item count
- command = f"execute {checks} store result score ${item} gm4_craft_shapeless if data storage gm4_custom_crafters:temp/crafter Items[" + s + "]"
- checks = f"if score ${item} gm4_craft_shapeless matches {count}"
- fn.append(command)
- duplicates.pop(0)
- # re-add the 'store result score...' to end of the checks
- checks = f"{checks} store result score $crafted gm4_crafting"
-
- # if shaped recipe
- else:
- # keep track of the slot number
- i = 0
- for item in recipe.ingredients:
- if "#" in item:
- item = item[1:]
- [prefix, tag] = item.split(":")
- # construct special nbt for checking item tags
- s = "{Slot:" + str(i) + "b,item_tags:{" + prefix + ":{" + tag + ":1b}}}"
- items.append(s)
- elif item != "minecraft:air":
- # construct nbt for checking item id
- s = "{Slot:" + str(i) + "b,id:\"" + item + "\"}"
- items.append(s)
- i += 1
- # if mirrorable
- if recipe.mirror:
- # mirror recipe
- pattern: Any = recipe.ingredients
- # if 2 columns
- if (pattern[2] == "minecraft:air" and (len(pattern) < 6 or pattern[5] == "minecraft:air") and (len(pattern) < 9 or pattern[8] == "minecraft:air")):
- # flip columns 1 and 2
- if (len(pattern) >= 3):
- if (pattern[2] == "minecraft:air"):
- temp = pattern[0]
- pattern[0] = pattern[1]
- pattern[1] = temp
- else:
- temp = pattern[0]
- pattern[0] = pattern[2]
- pattern[2] = temp
- if (len(pattern) >= 6):
- temp = pattern[3]
- pattern[3] = pattern[4]
- pattern[4] = temp
- if (len(pattern) == 9):
- temp = pattern[6]
- pattern[6] = pattern[7]
- pattern[7] = temp
- # if 3 columns
- else:
- # flip columsn 1 and 3
- if (len(pattern) >= 3):
- temp = pattern[0]
- pattern[0] = pattern[2]
- pattern[2] = temp
- if (len(pattern) >= 6):
- temp = pattern[3]
- pattern[3] = pattern[5]
- pattern[5] = temp
- if (len(pattern) == 9):
- temp = pattern[6]
- pattern[6] = pattern[8]
- pattern[8] = temp
- # add mirrored recipe
- new_recipe = r.copy()
- # the copy is only shallow so changing mirror also modifies the old recipe,
- # but this is not a problem since the old recipe is already processed and
- # we are adding to the end of the list
- new_recipe.recipe.mirror = False
- recipes.append(new_recipe)
-
- # add final item check (used for shapeless recipes with both duplicate items and non-duplicate items)
- if len(items) != 0:
- recipe_data += "if data storage gm4_custom_crafters:temp/crafter {Items:[" + ",".join(items) + "]} "
-
- # write final command to check if recipe is valid
- fn.append(f"execute {checks} {recipe_data}run loot replace block ~ ~ ~ container.0 loot {NAMESPACE}:{LOOT_PATH}/{name}")
-
- ctx.data[f"{NAMESPACE}:{path}"] = fn
diff --git a/gm4_auto_crafting/images/auto_crafter.webp b/gm4_auto_crafting/images/auto_crafter.webp
deleted file mode 100644
index 859e8e0829..0000000000
Binary files a/gm4_auto_crafting/images/auto_crafter.webp and /dev/null differ
diff --git a/gm4_auto_crafting/images/crafting_recipe.png b/gm4_auto_crafting/images/crafting_recipe.png
deleted file mode 100644
index 66a3fe1c2e..0000000000
Binary files a/gm4_auto_crafting/images/crafting_recipe.png and /dev/null differ
diff --git a/gm4_auto_crafting/images/setting-up-a-crafter.webp b/gm4_auto_crafting/images/setting-up-a-crafter.webp
deleted file mode 100644
index 4bfeefe8c6..0000000000
Binary files a/gm4_auto_crafting/images/setting-up-a-crafter.webp and /dev/null differ
diff --git a/gm4_auto_crafting/pack.png b/gm4_auto_crafting/pack.png
deleted file mode 100644
index 8327c8909a..0000000000
Binary files a/gm4_auto_crafting/pack.png and /dev/null differ
diff --git a/gm4_auto_crafting/pack.svg b/gm4_auto_crafting/pack.svg
deleted file mode 100644
index 823a4dabf2..0000000000
--- a/gm4_auto_crafting/pack.svg
+++ /dev/null
@@ -1,34 +0,0 @@
-
-
-
diff --git a/gm4_balloon_animals/animals.csv b/gm4_balloon_animals/animals.csv
index dc454d5587..b2fb512202 100644
--- a/gm4_balloon_animals/animals.csv
+++ b/gm4_balloon_animals/animals.csv
@@ -1,6 +1,6 @@
type,id,rare,function,names
-Cow,minecraft:cow,FALSE,init_animal,"Abigail,Beef,Belle,Bessie,Clarabell,Delilah,Duchess,Maggie,Moo,Wellington,Wendy"
-Pig,minecraft:pig,FALSE,init_animal,"Bacon,Betty,Hamm,Hoagie,Piglet,Pua,Pumbaa,Sharla,Swinton"
+Cow,minecraft:cow,FALSE,init_farm,"Abigail,Beef,Belle,Bessie,Clarabell,Delilah,Duchess,Maggie,Moo,Wellington,Wendy"
+Pig,minecraft:pig,FALSE,init_farm,"Bacon,Betty,Hamm,Hoagie,Piglet,Pua,Pumbaa,Sharla,Swinton"
Sheep,minecraft:sheep,FALSE,init_animal,"Baabra,Bellwether,Blackie,Doug,Gruff,Lamb,Lambie,Sheera,Woolensworth,Woolter"
Horse,minecraft:horse,FALSE,init_animal,"Achilles,Buck,Bullseye,Galahad,Khan,Lancelot,Major,Maximus,Pearl,Shadow"
Rabbit,minecraft:rabbit,FALSE,init_animal,"Berry,Bouncy,Bushy,Clover,Houdini,Jack,Judy,March,Nibbles,Oswald,Roger,Squirt,Thumper"
diff --git a/gm4_balloon_animals/beet.yaml b/gm4_balloon_animals/beet.yaml
index 09198452db..4c088e64ce 100644
--- a/gm4_balloon_animals/beet.yaml
+++ b/gm4_balloon_animals/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_balloon_animals
name: Balloon Animals
-version: 1.2.X
+version: 1.3.X
data_pack:
load: .
@@ -17,7 +17,7 @@ meta:
gm4:
versioning:
required:
- lib_trades: 1.5.0
+ lib_trades: 1.6.0
schedule_loops: [main]
website:
description: Looking for exotic animals? This module makes some Wandering Traders sell cute baby animals!
diff --git a/gm4_balloon_animals/data/gm4_balloon_animals/function/wandering_trader/trade/add_bee_nest.mcfunction b/gm4_balloon_animals/data/gm4_balloon_animals/function/wandering_trader/trade/add_bee_nest.mcfunction
index 242b5a6ed5..41100bbdf7 100644
--- a/gm4_balloon_animals/data/gm4_balloon_animals/function/wandering_trader/trade/add_bee_nest.mcfunction
+++ b/gm4_balloon_animals/data/gm4_balloon_animals/function/wandering_trader/trade/add_bee_nest.mcfunction
@@ -4,6 +4,6 @@
tp @s ~ 0 ~
-data merge entity @s {Silent:1b,NoGravity:1b,Invulnerable:1b,ChestedHorse:1b,Variant:0,Strength:1,DespawnDelay:1,Tags:["gm4_trade_option"],Items:[{},{id:"minecraft:emerald",count:8,Slot:1b},{}],body_armor_item:{id:"minecraft:light_blue_carpet",count:1,components:{"minecraft:custom_data":{gm4_trades:{options:{maxUses:1,rewardXp:1b,xp:1,priceMultiplier:0.05f}}}}}}
+data merge entity @s {Silent:1b,NoGravity:1b,Invulnerable:1b,ChestedHorse:1b,Variant:0,Strength:1,DespawnDelay:1,Tags:["gm4_trade_option"],Items:[{},{id:"minecraft:emerald",count:8,Slot:1b},{}],equipment:{body:{id:"minecraft:light_blue_carpet",count:1,components:{"minecraft:custom_data":{gm4_trades:{options:{maxUses:1,rewardXp:1b,xp:1,priceMultiplier:0.05f}}}}}}}
loot replace entity @s horse.0 loot gm4_balloon_animals:bee_nest
diff --git a/gm4_balloon_animals/data/gm4_balloon_animals/function/wandering_trader/trade/add_chicken_egg.mcfunction b/gm4_balloon_animals/data/gm4_balloon_animals/function/wandering_trader/trade/add_chicken_egg.mcfunction
index 83f787185c..c1ae267360 100644
--- a/gm4_balloon_animals/data/gm4_balloon_animals/function/wandering_trader/trade/add_chicken_egg.mcfunction
+++ b/gm4_balloon_animals/data/gm4_balloon_animals/function/wandering_trader/trade/add_chicken_egg.mcfunction
@@ -4,6 +4,10 @@
tp @s ~ 0 ~
-data merge entity @s {Silent:1b,NoGravity:1b,Invulnerable:1b,ChestedHorse:1b,Variant:0,Strength:1,DespawnDelay:1,Tags:["gm4_trade_option"],Items:[{},{id:"minecraft:emerald",count:2,Slot:1b},{}],body_armor_item:{id:"minecraft:light_blue_carpet",count:1b,components:{"minecraft:custom_data":{gm4_trades:{options:{maxUses:4,rewardXp:1b,xp:1,priceMultiplier:0.05f}}}}}}
+data merge entity @s {Silent:1b,NoGravity:1b,Invulnerable:1b,ChestedHorse:1b,Variant:0,Strength:1,DespawnDelay:1,Tags:["gm4_trade_option"],Items:[{},{id:"minecraft:emerald",count:2,Slot:1b},{}],equipment:{body:{id:"minecraft:light_blue_carpet",count:1b,components:{"minecraft:custom_data":{gm4_trades:{options:{maxUses:4,rewardXp:1b,xp:1,priceMultiplier:0.05f}}}}}}}
-loot replace entity @s horse.0 loot gm4_balloon_animals:chicken_egg
+
+execute store result score $variant_id gm4_balloon_animals_data run random value 0..2
+
+for index, egg_variant in enumerate(ctx.meta['chicken_eggs']):
+ execute if score $variant_id gm4_balloon_animals_data matches index run loot replace entity @s horse.0 loot f"gm4_balloon_animals:chicken_egg/{egg_variant}"
diff --git a/gm4_balloon_animals/data/gm4_balloon_animals/function/wandering_trader/trade/add_turtle_egg.mcfunction b/gm4_balloon_animals/data/gm4_balloon_animals/function/wandering_trader/trade/add_turtle_egg.mcfunction
index dd9a32986b..75bdc40d9b 100644
--- a/gm4_balloon_animals/data/gm4_balloon_animals/function/wandering_trader/trade/add_turtle_egg.mcfunction
+++ b/gm4_balloon_animals/data/gm4_balloon_animals/function/wandering_trader/trade/add_turtle_egg.mcfunction
@@ -4,6 +4,6 @@
tp @s ~ 0 ~
-data merge entity @s {Silent:1b,NoGravity:1b,Invulnerable:1b,ChestedHorse:1b,Variant:0,Strength:1,DespawnDelay:1,Tags:["gm4_trade_option"],Items:[{},{id:"minecraft:emerald",count:8,Slot:1b},{}],body_armor_item:{id:"minecraft:light_blue_carpet",count:1,components:{"minecraft:custom_data":{gm4_trades:{options:{maxUses:1,rewardXp:1b,xp:1,priceMultiplier:0.05f}}}}}}
+data merge entity @s {Silent:1b,NoGravity:1b,Invulnerable:1b,ChestedHorse:1b,Variant:0,Strength:1,DespawnDelay:1,Tags:["gm4_trade_option"],Items:[{},{id:"minecraft:emerald",count:8,Slot:1b},{}],equipment:{body:{id:"minecraft:light_blue_carpet",count:1,components:{"minecraft:custom_data":{gm4_trades:{options:{maxUses:1,rewardXp:1b,xp:1,priceMultiplier:0.05f}}}}}}}
loot replace entity @s horse.0 loot gm4_balloon_animals:turtle_egg
diff --git a/gm4_balloon_animals/data/gm4_balloon_animals/function/wandering_trader/trade/init_animal.mcfunction b/gm4_balloon_animals/data/gm4_balloon_animals/function/wandering_trader/trade/init_animal.mcfunction
index 15eec9469d..f2db719efe 100644
--- a/gm4_balloon_animals/data/gm4_balloon_animals/function/wandering_trader/trade/init_animal.mcfunction
+++ b/gm4_balloon_animals/data/gm4_balloon_animals/function/wandering_trader/trade/init_animal.mcfunction
@@ -17,4 +17,4 @@ execute store result storage gm4_balloon_animals:temp gm4_balloon_animals.id int
execute summon trader_llama run function gm4_balloon_animals:wandering_trader/trade/spawn_trade_llama
-data modify entity @s CustomName set from storage gm4_balloon_animals:temp name_spliced
+data modify entity @s CustomName set from storage gm4_balloon_animals:temp CustomName
diff --git a/gm4_balloon_animals/data/gm4_balloon_animals/function/wandering_trader/trade/init_farm.mcfunction b/gm4_balloon_animals/data/gm4_balloon_animals/function/wandering_trader/trade/init_farm.mcfunction
new file mode 100644
index 0000000000..1ebdd10287
--- /dev/null
+++ b/gm4_balloon_animals/data/gm4_balloon_animals/function/wandering_trader/trade/init_farm.mcfunction
@@ -0,0 +1,24 @@
+# @s = farm animal to be attached to trader, type=#gm4_balloon_animals:balloon_animal
+# at wandering trader with no llamas, tag=gm4_balloon_animal_trader,tag=gm4_balloon_animal_trader_new
+# run from wandering_trader/trade/pick_animal
+
+tag @s add gm4_balloon_animal
+
+effect give @s levitation infinite 0 true
+effect give @s slow_falling infinite 0 true
+effect give @s resistance infinite 4 true
+
+data modify entity @s Age set value -2147483648
+data modify entity @s leash.UUID set from storage gm4_balloon_animals:temp trader.uuid
+
+execute store result score $variant_id gm4_balloon_animals_data run random value 0..2
+for index, farm_variant in enumerate(ctx.meta['farm_variants']):
+ execute if score $variant_id gm4_balloon_animals_data matches index run data modify entity @s variant set value f"{farm_variant}"
+
+scoreboard players add $id gm4_balloon_animals_id 1
+scoreboard players operation @s gm4_balloon_animals_id = $id gm4_balloon_animals_id
+execute store result storage gm4_balloon_animals:temp gm4_balloon_animals.id int 1 run scoreboard players get $id gm4_balloon_animals_id
+
+execute summon trader_llama run function gm4_balloon_animals:wandering_trader/trade/spawn_trade_llama
+
+data modify entity @s CustomName set from storage gm4_balloon_animals:temp CustomName
diff --git a/gm4_balloon_animals/data/gm4_balloon_animals/function/wandering_trader/trade/init_wolf.mcfunction b/gm4_balloon_animals/data/gm4_balloon_animals/function/wandering_trader/trade/init_wolf.mcfunction
index 108b00921d..48a76fe9df 100644
--- a/gm4_balloon_animals/data/gm4_balloon_animals/function/wandering_trader/trade/init_wolf.mcfunction
+++ b/gm4_balloon_animals/data/gm4_balloon_animals/function/wandering_trader/trade/init_wolf.mcfunction
@@ -21,4 +21,4 @@ execute store result storage gm4_balloon_animals:temp gm4_balloon_animals.id int
execute summon trader_llama run function gm4_balloon_animals:wandering_trader/trade/spawn_trade_llama
-data modify entity @s CustomName set from storage gm4_balloon_animals:temp name_spliced
+data modify entity @s CustomName set from storage gm4_balloon_animals:temp CustomName
diff --git a/gm4_balloon_animals/data/gm4_balloon_animals/function/wandering_trader/trade/pick_animal.mcfunction b/gm4_balloon_animals/data/gm4_balloon_animals/function/wandering_trader/trade/pick_animal.mcfunction
index 7cbd9dbd59..95e600c723 100644
--- a/gm4_balloon_animals/data/gm4_balloon_animals/function/wandering_trader/trade/pick_animal.mcfunction
+++ b/gm4_balloon_animals/data/gm4_balloon_animals/function/wandering_trader/trade/pick_animal.mcfunction
@@ -5,7 +5,7 @@
execute store result score $animal_id gm4_balloon_animals_data run loot spawn ~ ~-4096 ~ loot gm4_balloon_animals:technical/random/enumeration_value
for animal in ctx.meta['animals']:
- if animal['function'] not in ['init_animal', 'init_wolf']:
+ if animal['function'] not in ['init_animal', 'init_wolf','init_farm']:
execute if score $animal_id gm4_balloon_animals_data matches ctx.meta['enumeration'].index(animal['id']) summon minecraft:trader_llama run function f"gm4_balloon_animals:wandering_trader/trade/{animal['function']}"
continue
diff --git a/gm4_balloon_animals/data/gm4_balloon_animals/function/wandering_trader/trade/spawn_trade_llama.mcfunction b/gm4_balloon_animals/data/gm4_balloon_animals/function/wandering_trader/trade/spawn_trade_llama.mcfunction
index 1b5b34d1c2..352f203d0c 100644
--- a/gm4_balloon_animals/data/gm4_balloon_animals/function/wandering_trader/trade/spawn_trade_llama.mcfunction
+++ b/gm4_balloon_animals/data/gm4_balloon_animals/function/wandering_trader/trade/spawn_trade_llama.mcfunction
@@ -1,15 +1,10 @@
# @s = trader llama
# at wandering trader with no llamas, tag=gm4_balloon_animal_trader,tag=gm4_balloon_animal_trader_new
-# run from wandering_trader/trade/init_[animal|wolf]
+# run from wandering_trader/trade/init_[animal|wolf|farm]
tp @s ~ 0 ~
-data merge entity @s {Silent:1b,NoGravity:1b,Invulnerable:1b,ChestedHorse:1b,Variant:0,Strength:1,DespawnDelay:1,Tags:["gm4_trade_option"],Items:[{},{id:"minecraft:emerald",count:12,Slot:1b},{}],body_armor_item:{id:"minecraft:light_blue_carpet",count:1,components:{"minecraft:custom_data":{gm4_trades:{options:{maxUses:1,rewardXp:1b,xp:1,priceMultiplier:0.05f}}}}}}
+data merge entity @s {Silent:1b,NoGravity:1b,Invulnerable:1b,ChestedHorse:1b,Variant:0,Strength:1,DespawnDelay:1,Tags:["gm4_trade_option"],Items:[{},{id:"minecraft:emerald",count:12,Slot:1b},{}],equipment:{body:{id:"minecraft:light_blue_carpet",count:1,components:{"minecraft:custom_data":{gm4_trades:{options:{maxUses:1,rewardXp:1b,xp:1,priceMultiplier:0.05f}}}}}}}
loot replace entity @s horse.0 loot gm4_balloon_animals:lead
-data modify storage gm4_balloon_animals:temp name_json set from entity @s Items[0].components."minecraft:lore"[0]
-data modify storage gm4_balloon_animals:temp name_spliced set string storage gm4_balloon_animals:temp name_json 24 -2
-
-# Example Lead display components:
-# item_name: "Cow"
-# lore[0]: {"color":"gray","text":"Abigail"}
+data modify storage gm4_balloon_animals:temp CustomName set from entity @s Items[0].components."minecraft:lore"[0].text
diff --git a/gm4_balloon_animals/data/gm4_balloon_animals/loot_table/chicken_egg/blue_egg.json b/gm4_balloon_animals/data/gm4_balloon_animals/loot_table/chicken_egg/blue_egg.json
new file mode 100644
index 0000000000..20e46c0072
--- /dev/null
+++ b/gm4_balloon_animals/data/gm4_balloon_animals/loot_table/chicken_egg/blue_egg.json
@@ -0,0 +1,19 @@
+{
+ "pools": [
+ {
+ "rolls": 1,
+ "entries": [
+ {
+ "type": "minecraft:item",
+ "name": "minecraft:blue_egg",
+ "functions": [
+ {
+ "function": "minecraft:set_count",
+ "count": 8
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/gm4_balloon_animals/data/gm4_balloon_animals/loot_table/chicken_egg/brown_egg.json b/gm4_balloon_animals/data/gm4_balloon_animals/loot_table/chicken_egg/brown_egg.json
new file mode 100644
index 0000000000..35b1d8fb68
--- /dev/null
+++ b/gm4_balloon_animals/data/gm4_balloon_animals/loot_table/chicken_egg/brown_egg.json
@@ -0,0 +1,19 @@
+{
+ "pools": [
+ {
+ "rolls": 1,
+ "entries": [
+ {
+ "type": "minecraft:item",
+ "name": "minecraft:brown_egg",
+ "functions": [
+ {
+ "function": "minecraft:set_count",
+ "count": 8
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/gm4_balloon_animals/data/gm4_balloon_animals/loot_table/chicken_egg.json b/gm4_balloon_animals/data/gm4_balloon_animals/loot_table/chicken_egg/egg.json
similarity index 100%
rename from gm4_balloon_animals/data/gm4_balloon_animals/loot_table/chicken_egg.json
rename to gm4_balloon_animals/data/gm4_balloon_animals/loot_table/chicken_egg/egg.json
diff --git a/gm4_balloon_animals/data/gm4_balloon_animals/loot_table/lead.json b/gm4_balloon_animals/data/gm4_balloon_animals/loot_table/lead.json
index eff9b55b80..23e52a94f5 100644
--- a/gm4_balloon_animals/data/gm4_balloon_animals/loot_table/lead.json
+++ b/gm4_balloon_animals/data/gm4_balloon_animals/loot_table/lead.json
@@ -1,6 +1,6 @@
entries = []
for animal in ctx.meta['animals']:
- if animal['function'] not in ["init_animal", "init_wolf"]:
+ if animal['function'] not in ["init_animal", "init_wolf", "init_farm"]:
continue
for name in map(str.strip, animal['names'].split(',')):
diff --git a/gm4_balloon_animals/generate.py b/gm4_balloon_animals/generate.py
index de21a2f95a..b9bec7cc71 100644
--- a/gm4_balloon_animals/generate.py
+++ b/gm4_balloon_animals/generate.py
@@ -24,11 +24,15 @@ def beet_default(ctx: Context):
rare_animals.sort()
common_animals.sort()
- # set wolf variants
+ # set variants
wolf_variants = ["minecraft:pale", "minecraft:ashen", "minecraft:black", "minecraft:chestnut", "minecraft:rusty", "minecraft:snowy", "minecraft:spotted", "minecraft:striped", "minecraft:woods"]
+ farm_variants = ["minecraft:warm", "minecraft:temperate","minecraft:cold"]
+ chicken_eggs = ["egg", "blue_egg", "brown_egg"]
# store to meta
ctx.meta['animals'] = animals
ctx.meta['enumeration'] = [*common_animals, *rare_animals]
ctx.meta['rare_start'] = len(common_animals)
ctx.meta['wolf_variants'] = wolf_variants
+ ctx.meta['farm_variants'] = farm_variants
+ ctx.meta['chicken_eggs'] = chicken_eggs
diff --git a/gm4_bat_grenades/beet.yaml b/gm4_bat_grenades/beet.yaml
index c7686dcfe9..7d0008cd0a 100644
--- a/gm4_bat_grenades/beet.yaml
+++ b/gm4_bat_grenades/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_bat_grenades
name: Bat Grenades
-version: 1.5.X
+version: 1.6.X
data_pack:
load: .
diff --git a/gm4_bat_grenades/data/gm4_bat_grenades/function/explode.mcfunction b/gm4_bat_grenades/data/gm4_bat_grenades/function/explode.mcfunction
index c4941a1ec8..c0fb3a97e5 100644
--- a/gm4_bat_grenades/data/gm4_bat_grenades/function/explode.mcfunction
+++ b/gm4_bat_grenades/data/gm4_bat_grenades/function/explode.mcfunction
@@ -1,3 +1,3 @@
-summon creeper ~ ~ ~ {CustomName:'{"translate": "entity.minecraft.bat"}',ExplosionRadius:1b,ignited:1b,Fuse:0s,Tags:["gm4_bat_grenade"]}
+summon creeper ~ ~ ~ {CustomName:{"translate": "entity.minecraft.bat"},ExplosionRadius:1b,ignited:1b,Fuse:0s,Tags:["gm4_bat_grenade"]}
teleport @s ~ -1000 ~
data merge entity @s {DeathTime:19,Health:0.0f}
diff --git a/gm4_beehive_inspector/README.md b/gm4_beehive_inspector/README.md
deleted file mode 100644
index 1ab7fe0c61..0000000000
--- a/gm4_beehive_inspector/README.md
+++ /dev/null
@@ -1,10 +0,0 @@
-# Beehive Inspector
-
-See the contents of your bee's nests!
-
-
-
-### Features
-- Displays the count of bees and level of honey in both nests and hives
-- This data is viewable via the lore-tag on any nest/hive
-- Beehives still have to be collected with Silk Touch to not break - as is standard in the base game
diff --git a/gm4_beehive_inspector/assets/translations.csv b/gm4_beehive_inspector/assets/translations.csv
deleted file mode 100644
index 9f7d955462..0000000000
--- a/gm4_beehive_inspector/assets/translations.csv
+++ /dev/null
@@ -1,5 +0,0 @@
-key,en_us
-text.gm4.beehive_inspector.bees,Bees
-text.gm4.beehive_inspector.honey,Honey
-text.gm4.guidebook.module_desc.beehive_inspector,"Adds a handy tooltip to Beehive items, telling you exactly how many bees and how much honey is stored inside! A beekeepers' dream!"
-text.gm4.guidebook.beehive_inspector.description,"Mining beehives and bee nests causes the block to display the honey level and bee count.\n\nOther forms of destruction, such as explosions, do not yield the same results."
diff --git a/gm4_beehive_inspector/beet.yaml b/gm4_beehive_inspector/beet.yaml
deleted file mode 100644
index 4c21904f68..0000000000
--- a/gm4_beehive_inspector/beet.yaml
+++ /dev/null
@@ -1,26 +0,0 @@
-id: gm4_beehive_inspector
-name: Beehive Inspector
-version: 1.4.X
-
-data_pack:
- load: .
-
-pipeline:
- - gm4.plugins.extend.module
-
-meta:
- gm4:
- minecraft: ['1.21', '1.21.1']
- website:
- description: Adds a handy tooltip to Beehive items, telling you exactly how many bees and how much honey is stored inside! A beekeepers' dream!
- recommended: []
- notes: []
- modrinth:
- project_id: m5Qr50rW
- video: null
- wiki: https://wiki.gm4.co/wiki/Beehive_Inspector
- credits:
- Creator:
- - Misode
- Icon Design:
- - BPR
diff --git a/gm4_beehive_inspector/data/gm4_beehive_inspector/advancement/break.json b/gm4_beehive_inspector/data/gm4_beehive_inspector/advancement/break.json
deleted file mode 100644
index 59745f629c..0000000000
--- a/gm4_beehive_inspector/data/gm4_beehive_inspector/advancement/break.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "criteria": {
- "break": {
- "trigger": "minecraft:bee_nest_destroyed"
- }
- },
- "rewards": {
- "function": "gm4_beehive_inspector:find_item"
- }
-}
diff --git a/gm4_beehive_inspector/data/gm4_beehive_inspector/function/find_item.mcfunction b/gm4_beehive_inspector/data/gm4_beehive_inspector/function/find_item.mcfunction
deleted file mode 100644
index 85d35c9268..0000000000
--- a/gm4_beehive_inspector/data/gm4_beehive_inspector/function/find_item.mcfunction
+++ /dev/null
@@ -1,7 +0,0 @@
-# @s = player breaking beehive or bee_nest
-# at @s
-# run from advancement break
-
-advancement revoke @s only gm4_beehive_inspector:break
-
-execute as @e[type=item,nbt={Age:0s},distance=..6,sort=furthest,limit=1] at @s run function gm4_beehive_inspector:inspect
diff --git a/gm4_beehive_inspector/data/gm4_beehive_inspector/function/init.mcfunction b/gm4_beehive_inspector/data/gm4_beehive_inspector/function/init.mcfunction
deleted file mode 100644
index 1520b73957..0000000000
--- a/gm4_beehive_inspector/data/gm4_beehive_inspector/function/init.mcfunction
+++ /dev/null
@@ -1,7 +0,0 @@
-scoreboard objectives add gm4_beehive_insp dummy
-
-execute unless score beehive_inspector gm4_modules matches 1 run data modify storage gm4:log queue append value {type:"install",module:"Beehive Inspector"}
-execute unless score beehive_inspector gm4_earliest_version < beehive_inspector gm4_modules run scoreboard players operation beehive_inspector gm4_earliest_version = beehive_inspector gm4_modules
-scoreboard players set beehive_inspector gm4_modules 1
-
-#$moduleUpdateList
diff --git a/gm4_beehive_inspector/data/gm4_beehive_inspector/function/inspect.mcfunction b/gm4_beehive_inspector/data/gm4_beehive_inspector/function/inspect.mcfunction
deleted file mode 100644
index 553ee07e9a..0000000000
--- a/gm4_beehive_inspector/data/gm4_beehive_inspector/function/inspect.mcfunction
+++ /dev/null
@@ -1,12 +0,0 @@
-# @s = beehive item, Age:0
-# at @s
-# run from find_item
-
-# store bee count in scoreboard
-execute store result score $bees gm4_beehive_insp run data get entity @s Item.components."minecraft:bees"
-
-# set component if broken without silk touch
-execute unless items entity @s contents *[block_state] run data modify entity @s Item.components."minecraft:block_state" set value {honey_level:"0"}
-
-# set bee/honey amount as lore
-item modify entity @s contents gm4_beehive_inspector:set_tooltips
diff --git a/gm4_beehive_inspector/data/gm4_beehive_inspector/guidebook/beehive_inspector.json b/gm4_beehive_inspector/data/gm4_beehive_inspector/guidebook/beehive_inspector.json
deleted file mode 100644
index 90295827da..0000000000
--- a/gm4_beehive_inspector/data/gm4_beehive_inspector/guidebook/beehive_inspector.json
+++ /dev/null
@@ -1,45 +0,0 @@
-{
- "id": "beehive_inspector",
- "name": "Beehive Inspector",
- "module_type": "module",
- "icon": {
- "id": "minecraft:beehive"
- },
- "criteria": {
- "obtain_beehive": {
- "trigger": "minecraft:inventory_changed",
- "conditions": {
- "items": [
- {
- "items": [
- "minecraft:beehive",
- "minecraft:bee_nest"
- ]
- }
- ]
- }
- }
- },
- "sections": [
- {
- "name": "display",
- "enable": [],
- "requirements": [
- [
- "obtain_beehive"
- ]
- ],
- "pages": [
- [
- {
- "insert": "title"
- },
- {
- "translate": "text.gm4.guidebook.beehive_inspector.description",
- "fallback": "Mining beehives and bee nests causes the block to display the honey level and bee count.\n\nOther forms of destruction, such as explosions, do not yield the same results."
- }
- ]
- ]
- }
- ]
-}
diff --git a/gm4_beehive_inspector/data/gm4_beehive_inspector/item_modifier/set_tooltips.json b/gm4_beehive_inspector/data/gm4_beehive_inspector/item_modifier/set_tooltips.json
deleted file mode 100644
index 523e0a99b4..0000000000
--- a/gm4_beehive_inspector/data/gm4_beehive_inspector/item_modifier/set_tooltips.json
+++ /dev/null
@@ -1,37 +0,0 @@
-{
- "function": "minecraft:set_lore",
- "entity": "this",
- "mode": "append",
- "lore": [
- [
- {
- "translate": "text.gm4.beehive_inspector.bees",
- "fallback": "Bees",
- "color": "gray",
- "italic": false
- },
- ": ",
- {
- "score": {
- "objective": "gm4_beehive_insp",
- "name": "$bees"
- },
- "color": "gray"
- }
- ],
- [
- {
- "translate": "text.gm4.beehive_inspector.honey",
- "fallback": "Honey",
- "color": "gray",
- "italic": false
- },
- ": ",
- {
- "nbt": "Item.components.'minecraft:block_state'.honey_level",
- "entity": "@s",
- "color": "gray"
- }
- ]
- ]
-}
diff --git a/gm4_beehive_inspector/data/gm4_beehive_inspector/test/destroy_nest.mcfunction b/gm4_beehive_inspector/data/gm4_beehive_inspector/test/destroy_nest.mcfunction
deleted file mode 100644
index e3f8ecd6b7..0000000000
--- a/gm4_beehive_inspector/data/gm4_beehive_inspector/test/destroy_nest.mcfunction
+++ /dev/null
@@ -1,12 +0,0 @@
-# @template gm4:test_platform
-# @dummy ~ ~1 ~
-
-setblock ~1 ~1 ~1 bee_nest[honey_level=3]{bees:[{min_ticks_in_hive:100,ticks_in_hive:0,entity_data:{id:"minecraft:bee"}}]}
-give @s diamond_axe
-enchant @s silk_touch
-
-dummy @s mine ~1 ~1 ~1
-
-tp @e[type=item,distance=..4] @s
-
-await items entity @s container.* bee_nest[lore=['{"translate":"text.gm4.beehive_inspector.bees","fallback":"Bees","extra":[": ",{"text":"1","color":"gray"}],"italic":false,"color":"gray"}','{"translate":"text.gm4.beehive_inspector.honey","fallback":"Honey","extra":[": ",{"text":"3","color":"gray"}],"italic":false,"color":"gray"}']]
diff --git a/gm4_beehive_inspector/images/beehive_inspector.webp b/gm4_beehive_inspector/images/beehive_inspector.webp
deleted file mode 100644
index 53ec466999..0000000000
Binary files a/gm4_beehive_inspector/images/beehive_inspector.webp and /dev/null differ
diff --git a/gm4_beehive_inspector/pack.png b/gm4_beehive_inspector/pack.png
deleted file mode 100644
index 627cc5a5d3..0000000000
Binary files a/gm4_beehive_inspector/pack.png and /dev/null differ
diff --git a/gm4_beehive_inspector/pack.svg b/gm4_beehive_inspector/pack.svg
deleted file mode 100644
index 4e57d653c2..0000000000
--- a/gm4_beehive_inspector/pack.svg
+++ /dev/null
@@ -1,50 +0,0 @@
-
-
-
diff --git a/gm4_better_armour_stands/beet.yaml b/gm4_better_armour_stands/beet.yaml
index 8bab2fe7f9..6e830d8816 100644
--- a/gm4_better_armour_stands/beet.yaml
+++ b/gm4_better_armour_stands/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_better_armour_stands
name: Better Armour Stands
-version: 2.4.X
+version: 2.5.X
data_pack:
load: .
@@ -38,6 +38,4 @@ meta:
model_data:
- item: armor_stand
reference: gui/advancement/better_armour_stands
- template:
- name: advancement
- forward: minecraft:item/armor_stand
+ template: advancement
diff --git a/gm4_better_armour_stands/data/gm4_better_armour_stands/function/book/process.mcfunction b/gm4_better_armour_stands/data/gm4_better_armour_stands/function/book/process.mcfunction
index 4527236dc6..54236a7ed0 100644
--- a/gm4_better_armour_stands/data/gm4_better_armour_stands/function/book/process.mcfunction
+++ b/gm4_better_armour_stands/data/gm4_better_armour_stands/function/book/process.mcfunction
@@ -3,7 +3,7 @@
# run from book/use
# get book pages
-data modify storage gm4_better_armour_stands:temp pages set from entity @s HandItems[0].components."minecraft:writable_book_content".pages
+data modify storage gm4_better_armour_stands:temp pages set from entity @s equipment.mainhand.components."minecraft:writable_book_content".pages
# restore item held by armor stand and book from player
item replace entity @a[tag=gm4_bas_active,limit=1,gamemode=creative,predicate=gm4_better_armour_stands:holding/mainhand/book_and_quill,predicate=!gm4_better_armour_stands:holding/mainhand/book_ignore] weapon.mainhand with minecraft:air
diff --git a/gm4_better_armour_stands/data/gm4_better_armour_stands/function/equip/select/small.mcfunction b/gm4_better_armour_stands/data/gm4_better_armour_stands/function/equip/select/small.mcfunction
index 4bba69bc96..17882f3b38 100644
--- a/gm4_better_armour_stands/data/gm4_better_armour_stands/function/equip/select/small.mcfunction
+++ b/gm4_better_armour_stands/data/gm4_better_armour_stands/function/equip/select/small.mcfunction
@@ -3,8 +3,8 @@
# run from equip/select
# head
-summon minecraft:area_effect_cloud ~ ~.45 ~ {Radius:.08f,Tags:["gm4_bas_head"],Particle:{type:"minecraft:item",item:"minecraft:armor_stand"}}
+summon minecraft:area_effect_cloud ~ ~.45 ~ {Radius:.08f,Tags:["gm4_bas_head"],Duration:0,WaitTime:2,Particle:{type:"minecraft:item",item:"minecraft:armor_stand"}}
# arms
-summon minecraft:area_effect_cloud ^.18 ^ ^ {Radius:.09f,Tags:["gm4_bas_left_arm"],Particle:{type:"minecraft:item",item:"minecraft:armor_stand"}}
-summon minecraft:area_effect_cloud ^-.18 ^ ^ {Radius:.09f,Tags:["gm4_bas_right_arm"],Particle:{type:"minecraft:item",item:"minecraft:armor_stand"}}
+summon minecraft:area_effect_cloud ^.18 ^ ^ {Radius:.09f,Tags:["gm4_bas_left_arm"],Duration:0,WaitTime:2,Particle:{type:"minecraft:item",item:"minecraft:armor_stand"}}
+summon minecraft:area_effect_cloud ^-.18 ^ ^ {Radius:.09f,Tags:["gm4_bas_right_arm"],Duration:0,WaitTime:2,Particle:{type:"minecraft:item",item:"minecraft:armor_stand"}}
diff --git a/gm4_better_armour_stands/data/gm4_better_armour_stands/function/equip/select/tall.mcfunction b/gm4_better_armour_stands/data/gm4_better_armour_stands/function/equip/select/tall.mcfunction
index 48f62a6a1f..0d615ea5b5 100644
--- a/gm4_better_armour_stands/data/gm4_better_armour_stands/function/equip/select/tall.mcfunction
+++ b/gm4_better_armour_stands/data/gm4_better_armour_stands/function/equip/select/tall.mcfunction
@@ -3,8 +3,8 @@
# run from equip/select
# head
-summon minecraft:area_effect_cloud ~ ~.5 ~ {Radius:.1f,Tags:["gm4_bas_head"],Particle:{type:"minecraft:item",item:"minecraft:armor_stand"}}
+summon minecraft:area_effect_cloud ~ ~.5 ~ {Radius:.1f,Tags:["gm4_bas_head"],Duration:0,WaitTime:2,Particle:{type:"minecraft:item",item:"minecraft:armor_stand"}}
# arms
-summon minecraft:area_effect_cloud ^.3 ^ ^ {Radius:.15f,Tags:["gm4_bas_left_arm"],Particle:{type:"minecraft:item",item:"minecraft:armor_stand"}}
-summon minecraft:area_effect_cloud ^-.3 ^ ^ {Radius:.15f,Tags:["gm4_bas_right_arm"],Particle:{type:"minecraft:item",item:"minecraft:armor_stand"}}
+summon minecraft:area_effect_cloud ^.3 ^ ^ {Radius:.15f,Tags:["gm4_bas_left_arm"],Duration:0,WaitTime:2,Particle:{type:"minecraft:item",item:"minecraft:armor_stand"}}
+summon minecraft:area_effect_cloud ^-.3 ^ ^ {Radius:.15f,Tags:["gm4_bas_right_arm"],Duration:0,WaitTime:2,Particle:{type:"minecraft:item",item:"minecraft:armor_stand"}}
diff --git a/gm4_better_armour_stands/data/gm4_better_armour_stands/function/pose/paste.mcfunction b/gm4_better_armour_stands/data/gm4_better_armour_stands/function/pose/paste.mcfunction
index 9e6356020e..052bdf9414 100644
--- a/gm4_better_armour_stands/data/gm4_better_armour_stands/function/pose/paste.mcfunction
+++ b/gm4_better_armour_stands/data/gm4_better_armour_stands/function/pose/paste.mcfunction
@@ -5,7 +5,7 @@
scoreboard players set $valid_code gm4_bas_data 1
# copy item data to armor_stand
-data modify entity @s {} merge from entity @a[tag=gm4_bas_active,limit=1] Inventory[-1].components."minecraft:entity_data"
+data modify entity @s {} merge from entity @a[tag=gm4_bas_active,limit=1] equipment.offhand.components."minecraft:entity_data"
# play a sound to confirm
playsound minecraft:entity.armor_stand.fall block @a[distance=..6] ~ ~ ~ 0.5 1
diff --git a/gm4_better_armour_stands/data/gm4_better_armour_stands/function/pose/select/arm_left.mcfunction b/gm4_better_armour_stands/data/gm4_better_armour_stands/function/pose/select/arm_left.mcfunction
index 44b799f242..223f1123d3 100644
--- a/gm4_better_armour_stands/data/gm4_better_armour_stands/function/pose/select/arm_left.mcfunction
+++ b/gm4_better_armour_stands/data/gm4_better_armour_stands/function/pose/select/arm_left.mcfunction
@@ -5,8 +5,8 @@
scoreboard players set @s gm4_bas_mode 3
# spawn markers
-execute if score $size gm4_bas_data matches 0 positioned ~ ~1.4 ~ run summon marker ^.3 ^ ^ {CustomName:'"gm4_bas_left_arm"',Tags:["smithed.entity","smithed.strict","gm4_bas_joint","gm4_bas_left_arm","gm4_bas_marker","gm4_bas_new","gm4_bas_temp"]}
-execute if score $size gm4_bas_data matches 1 positioned ~ ~.7 ~ run summon marker ^.15 ^ ^ {CustomName:'"gm4_bas_left_arm"',Tags:["smithed.entity","smithed.strict","gm4_bas_joint","gm4_bas_left_arm","gm4_bas_marker","gm4_bas_new","gm4_bas_temp"]}
+execute if score $size gm4_bas_data matches 0 positioned ~ ~1.4 ~ run summon marker ^.3 ^ ^ {CustomName:"gm4_bas_left_arm",Tags:["smithed.entity","smithed.strict","gm4_bas_joint","gm4_bas_left_arm","gm4_bas_marker","gm4_bas_new","gm4_bas_temp"]}
+execute if score $size gm4_bas_data matches 1 positioned ~ ~.7 ~ run summon marker ^.15 ^ ^ {CustomName:"gm4_bas_left_arm",Tags:["smithed.entity","smithed.strict","gm4_bas_joint","gm4_bas_left_arm","gm4_bas_marker","gm4_bas_new","gm4_bas_temp"]}
# store current data
data modify storage gm4_better_armour_stands:temp Data.Pose.LeftArm set from entity @s Pose.LeftArm
diff --git a/gm4_better_armour_stands/data/gm4_better_armour_stands/function/pose/select/arm_right.mcfunction b/gm4_better_armour_stands/data/gm4_better_armour_stands/function/pose/select/arm_right.mcfunction
index 955384aab8..748d0e8f7c 100644
--- a/gm4_better_armour_stands/data/gm4_better_armour_stands/function/pose/select/arm_right.mcfunction
+++ b/gm4_better_armour_stands/data/gm4_better_armour_stands/function/pose/select/arm_right.mcfunction
@@ -5,8 +5,8 @@
scoreboard players set @s gm4_bas_mode 4
# spawn markers
-execute if score $size gm4_bas_data matches 0 positioned ~ ~1.4 ~ run summon marker ^-.3 ^ ^ {CustomName:'"gm4_bas_right_arm"',Tags:["smithed.entity","smithed.strict","gm4_bas_joint","gm4_bas_right_arm","gm4_bas_marker","gm4_bas_new","gm4_bas_temp"]}
-execute if score $size gm4_bas_data matches 1 positioned ~ ~.7 ~ run summon marker ^-.15 ^ ^ {CustomName:'"gm4_bas_right_arm"',Tags:["smithed.entity","smithed.strict","gm4_bas_joint","gm4_bas_right_arm","gm4_bas_marker","gm4_bas_new","gm4_bas_temp"]}
+execute if score $size gm4_bas_data matches 0 positioned ~ ~1.4 ~ run summon marker ^-.3 ^ ^ {CustomName:"gm4_bas_right_arm",Tags:["smithed.entity","smithed.strict","gm4_bas_joint","gm4_bas_right_arm","gm4_bas_marker","gm4_bas_new","gm4_bas_temp"]}
+execute if score $size gm4_bas_data matches 1 positioned ~ ~.7 ~ run summon marker ^-.15 ^ ^ {CustomName:"gm4_bas_right_arm",Tags:["smithed.entity","smithed.strict","gm4_bas_joint","gm4_bas_right_arm","gm4_bas_marker","gm4_bas_new","gm4_bas_temp"]}
# store current data
data modify storage gm4_better_armour_stands:temp Data.Pose.RightArm set from entity @s Pose.RightArm
diff --git a/gm4_better_armour_stands/data/gm4_better_armour_stands/function/pose/select/body.mcfunction b/gm4_better_armour_stands/data/gm4_better_armour_stands/function/pose/select/body.mcfunction
index f2fd90bba6..9bccaddf27 100644
--- a/gm4_better_armour_stands/data/gm4_better_armour_stands/function/pose/select/body.mcfunction
+++ b/gm4_better_armour_stands/data/gm4_better_armour_stands/function/pose/select/body.mcfunction
@@ -5,8 +5,8 @@
scoreboard players set @s gm4_bas_mode 2
# spawn markers
-execute if score $size gm4_bas_data matches 0 run summon marker ~ ~1.5 ~ {CustomName:'"gm4_bas_body"',Tags:["smithed.entity","smithed.strict","gm4_bas_joint","gm4_bas_body","gm4_bas_marker","gm4_bas_new","gm4_bas_temp"]}
-execute if score $size gm4_bas_data matches 1 run summon marker ~ ~.7 ~ {CustomName:'"gm4_bas_body"',Tags:["smithed.entity","smithed.strict","gm4_bas_joint","gm4_bas_body","gm4_bas_marker","gm4_bas_new","gm4_bas_temp"]}
+execute if score $size gm4_bas_data matches 0 run summon marker ~ ~1.5 ~ {CustomName:"gm4_bas_body",Tags:["smithed.entity","smithed.strict","gm4_bas_joint","gm4_bas_body","gm4_bas_marker","gm4_bas_new","gm4_bas_temp"]}
+execute if score $size gm4_bas_data matches 1 run summon marker ~ ~.7 ~ {CustomName:"gm4_bas_body",Tags:["smithed.entity","smithed.strict","gm4_bas_joint","gm4_bas_body","gm4_bas_marker","gm4_bas_new","gm4_bas_temp"]}
# store current data
data modify storage gm4_better_armour_stands:temp Data.Pose.Body set from entity @s Pose.Body
diff --git a/gm4_better_armour_stands/data/gm4_better_armour_stands/function/pose/select/head.mcfunction b/gm4_better_armour_stands/data/gm4_better_armour_stands/function/pose/select/head.mcfunction
index 9f29c5b611..de2408ca81 100644
--- a/gm4_better_armour_stands/data/gm4_better_armour_stands/function/pose/select/head.mcfunction
+++ b/gm4_better_armour_stands/data/gm4_better_armour_stands/function/pose/select/head.mcfunction
@@ -5,8 +5,8 @@
scoreboard players set @s gm4_bas_mode 1
# spawn markers
-execute if score $size gm4_bas_data matches 0 run summon marker ~ ~1.4 ~ {CustomName:'"gm4_bas_head"',Tags:["smithed.entity","smithed.strict","gm4_bas_joint","gm4_bas_head","gm4_bas_marker","gm4_bas_new","gm4_bas_temp"]}
-execute if score $size gm4_bas_data matches 1 run summon marker ~ ~.7 ~ {CustomName:'"gm4_bas_head"',Tags:["smithed.entity","smithed.strict","gm4_bas_joint","gm4_bas_head","gm4_bas_marker","gm4_bas_new","gm4_bas_temp"]}
+execute if score $size gm4_bas_data matches 0 run summon marker ~ ~1.4 ~ {CustomName:"gm4_bas_head",Tags:["smithed.entity","smithed.strict","gm4_bas_joint","gm4_bas_head","gm4_bas_marker","gm4_bas_new","gm4_bas_temp"]}
+execute if score $size gm4_bas_data matches 1 run summon marker ~ ~.7 ~ {CustomName:"gm4_bas_head",Tags:["smithed.entity","smithed.strict","gm4_bas_joint","gm4_bas_head","gm4_bas_marker","gm4_bas_new","gm4_bas_temp"]}
# store current data
data modify storage gm4_better_armour_stands:temp Data.Pose.Head set from entity @s Pose.Head
diff --git a/gm4_better_armour_stands/data/gm4_better_armour_stands/function/pose/select/leg_left.mcfunction b/gm4_better_armour_stands/data/gm4_better_armour_stands/function/pose/select/leg_left.mcfunction
index 7fbe23fb71..775130630d 100644
--- a/gm4_better_armour_stands/data/gm4_better_armour_stands/function/pose/select/leg_left.mcfunction
+++ b/gm4_better_armour_stands/data/gm4_better_armour_stands/function/pose/select/leg_left.mcfunction
@@ -5,8 +5,8 @@
scoreboard players set @s gm4_bas_mode 5
# spawn markers
-execute if score $size gm4_bas_data matches 0 positioned ~ ~.8 ~ run summon marker ^.15 ^ ^ {CustomName:'"gm4_bas_left_leg"',Tags:["smithed.entity","smithed.strict","gm4_bas_joint","gm4_bas_left_leg","gm4_bas_marker","gm4_bas_new","gm4_bas_temp"]}
-execute if score $size gm4_bas_data matches 1 positioned ~ ~.4 ~ run summon marker ^.05 ^ ^ {CustomName:'"gm4_bas_left_leg"',Tags:["smithed.entity","smithed.strict","gm4_bas_joint","gm4_bas_left_leg","gm4_bas_marker","gm4_bas_new","gm4_bas_temp"]}
+execute if score $size gm4_bas_data matches 0 positioned ~ ~.8 ~ run summon marker ^.15 ^ ^ {CustomName:"gm4_bas_left_leg",Tags:["smithed.entity","smithed.strict","gm4_bas_joint","gm4_bas_left_leg","gm4_bas_marker","gm4_bas_new","gm4_bas_temp"]}
+execute if score $size gm4_bas_data matches 1 positioned ~ ~.4 ~ run summon marker ^.05 ^ ^ {CustomName:"gm4_bas_left_leg",Tags:["smithed.entity","smithed.strict","gm4_bas_joint","gm4_bas_left_leg","gm4_bas_marker","gm4_bas_new","gm4_bas_temp"]}
# store current data
data modify storage gm4_better_armour_stands:temp Data.Pose.LeftLeg set from entity @s Pose.LeftLeg
diff --git a/gm4_better_armour_stands/data/gm4_better_armour_stands/function/pose/select/leg_right.mcfunction b/gm4_better_armour_stands/data/gm4_better_armour_stands/function/pose/select/leg_right.mcfunction
index 9d405e0944..790bb32fc2 100644
--- a/gm4_better_armour_stands/data/gm4_better_armour_stands/function/pose/select/leg_right.mcfunction
+++ b/gm4_better_armour_stands/data/gm4_better_armour_stands/function/pose/select/leg_right.mcfunction
@@ -5,8 +5,8 @@
scoreboard players set @s gm4_bas_mode 6
# spawn markers
-execute if score $size gm4_bas_data matches 0 positioned ~ ~.8 ~ run summon marker ^-.15 ^ ^ {CustomName:'"gm4_bas_right_leg"',Tags:["smithed.entity","smithed.strict","gm4_bas_joint","gm4_bas_right_leg","gm4_bas_marker","gm4_bas_new","gm4_bas_temp"]}
-execute if score $size gm4_bas_data matches 1 positioned ~ ~.4 ~ run summon marker ^-.05 ^ ^ {CustomName:'"gm4_bas_right_leg"',Tags:["smithed.entity","smithed.strict","gm4_bas_joint","gm4_bas_right_leg","gm4_bas_marker","gm4_bas_new","gm4_bas_temp"]}
+execute if score $size gm4_bas_data matches 0 positioned ~ ~.8 ~ run summon marker ^-.15 ^ ^ {CustomName:"gm4_bas_right_leg",Tags:["smithed.entity","smithed.strict","gm4_bas_joint","gm4_bas_right_leg","gm4_bas_marker","gm4_bas_new","gm4_bas_temp"]}
+execute if score $size gm4_bas_data matches 1 positioned ~ ~.4 ~ run summon marker ^-.05 ^ ^ {CustomName:"gm4_bas_right_leg",Tags:["smithed.entity","smithed.strict","gm4_bas_joint","gm4_bas_right_leg","gm4_bas_marker","gm4_bas_new","gm4_bas_temp"]}
# store current data
data modify storage gm4_better_armour_stands:temp Data.Pose.RightLeg set from entity @s Pose.RightLeg
diff --git a/gm4_better_armour_stands/data/gm4_better_armour_stands/function/pose/select/small.mcfunction b/gm4_better_armour_stands/data/gm4_better_armour_stands/function/pose/select/small.mcfunction
index 71463f2ed2..f30b4317e2 100644
--- a/gm4_better_armour_stands/data/gm4_better_armour_stands/function/pose/select/small.mcfunction
+++ b/gm4_better_armour_stands/data/gm4_better_armour_stands/function/pose/select/small.mcfunction
@@ -3,18 +3,18 @@
# run from pose/select and default/part
# base
-summon minecraft:area_effect_cloud ~ ~-.25 ~ {Radius:.2f,Tags:["gm4_bas_base"],Particle:{type:"minecraft:item",item:"minecraft:armor_stand"}}
+summon minecraft:area_effect_cloud ~ ~-.25 ~ {Radius:.2f,Tags:["gm4_bas_base"],Duration:0,WaitTime:2,Particle:{type:"minecraft:item",item:"minecraft:armor_stand"}}
# head
-summon minecraft:area_effect_cloud ~ ~.75 ~ {Radius:.08f,Tags:["gm4_bas_head"],Particle:{type:"minecraft:item",item:"minecraft:armor_stand"}}
+summon minecraft:area_effect_cloud ~ ~.75 ~ {Radius:.08f,Tags:["gm4_bas_head"],Duration:0,WaitTime:2,Particle:{type:"minecraft:item",item:"minecraft:armor_stand"}}
# body
-summon minecraft:area_effect_cloud ~ ~.25 ~ {Radius:.09f,Tags:["gm4_bas_body"],Particle:{type:"minecraft:item",item:"minecraft:armor_stand"}}
+summon minecraft:area_effect_cloud ~ ~.25 ~ {Radius:.09f,Tags:["gm4_bas_body"],Duration:0,WaitTime:2,Particle:{type:"minecraft:item",item:"minecraft:armor_stand"}}
# arms
-execute positioned ~ ~.3 ~ run summon minecraft:area_effect_cloud ^.18 ^ ^ {Radius:.09f,Tags:["gm4_bas_left_arm"],Particle:{type:"minecraft:item",item:"minecraft:armor_stand"}}
-execute positioned ~ ~.3 ~ run summon minecraft:area_effect_cloud ^-.18 ^ ^ {Radius:.09f,Tags:["gm4_bas_right_arm"],Particle:{type:"minecraft:item",item:"minecraft:armor_stand"}}
+execute positioned ~ ~.3 ~ run summon minecraft:area_effect_cloud ^.18 ^ ^ {Radius:.09f,Tags:["gm4_bas_left_arm"],Duration:0,WaitTime:2,Particle:{type:"minecraft:item",item:"minecraft:armor_stand"}}
+execute positioned ~ ~.3 ~ run summon minecraft:area_effect_cloud ^-.18 ^ ^ {Radius:.09f,Tags:["gm4_bas_right_arm"],Duration:0,WaitTime:2,Particle:{type:"minecraft:item",item:"minecraft:armor_stand"}}
# legs
-summon minecraft:area_effect_cloud ^.1 ^ ^ {Radius:.1f,Tags:["gm4_bas_left_leg"],Particle:{type:"minecraft:item",item:"minecraft:armor_stand"}}
-summon minecraft:area_effect_cloud ^-.1 ^ ^ {Radius:.1f,Tags:["gm4_bas_right_leg"],Particle:{type:"minecraft:item",item:"minecraft:armor_stand"}}
+summon minecraft:area_effect_cloud ^.1 ^ ^ {Radius:.1f,Tags:["gm4_bas_left_leg"],Duration:0,WaitTime:2,Particle:{type:"minecraft:item",item:"minecraft:armor_stand"}}
+summon minecraft:area_effect_cloud ^-.1 ^ ^ {Radius:.1f,Tags:["gm4_bas_right_leg"],Duration:0,WaitTime:2,Particle:{type:"minecraft:item",item:"minecraft:armor_stand"}}
diff --git a/gm4_better_armour_stands/data/gm4_better_armour_stands/function/pose/select/success.mcfunction b/gm4_better_armour_stands/data/gm4_better_armour_stands/function/pose/select/success.mcfunction
index be2e43ae2b..7f33e5613b 100644
--- a/gm4_better_armour_stands/data/gm4_better_armour_stands/function/pose/select/success.mcfunction
+++ b/gm4_better_armour_stands/data/gm4_better_armour_stands/function/pose/select/success.mcfunction
@@ -14,7 +14,7 @@ data modify entity @s[nbt={Invisible:1b}] Glowing set value 1
summon minecraft:interaction ~ ~ ~ {Tags:["smithed.entity","smithed.strict","gm4_bas_detect","gm4_bas_new","gm4_bas_temp"],height:2,width:1}
# spawn marker for player offset and current armour stand data
-summon marker ~ ~ ~ {CustomName:'"gm4_bas_player_offset"',Tags:["smithed.entity","smithed.strict","gm4_bas_player_offset","gm4_bas_marker","gm4_bas_new","gm4_bas_temp"]}
+summon marker ~ ~ ~ {CustomName:"gm4_bas_player_offset",Tags:["smithed.entity","smithed.strict","gm4_bas_player_offset","gm4_bas_marker","gm4_bas_new","gm4_bas_temp"]}
data modify entity @e[type=minecraft:marker,tag=gm4_bas_player_offset,tag=gm4_bas_new,distance=..1,limit=1] data set from storage gm4_better_armour_stands:temp Data
data remove storage gm4_better_armour_stands:temp Data
diff --git a/gm4_better_armour_stands/data/gm4_better_armour_stands/function/pose/select/tall.mcfunction b/gm4_better_armour_stands/data/gm4_better_armour_stands/function/pose/select/tall.mcfunction
index ff4d1ce0bd..fb32f72183 100644
--- a/gm4_better_armour_stands/data/gm4_better_armour_stands/function/pose/select/tall.mcfunction
+++ b/gm4_better_armour_stands/data/gm4_better_armour_stands/function/pose/select/tall.mcfunction
@@ -3,18 +3,18 @@
# run from pose/select and default/part
# base
-summon minecraft:area_effect_cloud ~ ~-.4 ~ {Radius:.375f,Tags:["gm4_bas_base"],Particle:{type:"minecraft:item",item:"minecraft:armor_stand"}}
+summon minecraft:area_effect_cloud ~ ~-.4 ~ {Radius:.375f,Tags:["gm4_bas_base"],Duration:0,WaitTime:2,Particle:{type:"minecraft:item",item:"minecraft:armor_stand"}}
# head
-summon minecraft:area_effect_cloud ~ ~1.5 ~ {Radius:.1f,Tags:["gm4_bas_head"],Particle:{type:"minecraft:item",item:"minecraft:armor_stand"}}
+summon minecraft:area_effect_cloud ~ ~1.5 ~ {Radius:.1f,Tags:["gm4_bas_head"],Duration:0,WaitTime:2,Particle:{type:"minecraft:item",item:"minecraft:armor_stand"}}
# body
-summon minecraft:area_effect_cloud ~ ~1 ~ {Radius:.15f,Tags:["gm4_bas_body"],Particle:{type:"minecraft:item",item:"minecraft:armor_stand"}}
+summon minecraft:area_effect_cloud ~ ~1 ~ {Radius:.15f,Tags:["gm4_bas_body"],Duration:0,WaitTime:2,Particle:{type:"minecraft:item",item:"minecraft:armor_stand"}}
# arms
-execute positioned ~ ~1 ~ run summon minecraft:area_effect_cloud ^.3 ^ ^ {Radius:.15f,Tags:["gm4_bas_left_arm"],Particle:{type:"minecraft:item",item:"minecraft:armor_stand"}}
-execute positioned ~ ~1 ~ run summon minecraft:area_effect_cloud ^-.3 ^ ^ {Radius:.15f,Tags:["gm4_bas_right_arm"],Particle:{type:"minecraft:item",item:"minecraft:armor_stand"}}
+execute positioned ~ ~1 ~ run summon minecraft:area_effect_cloud ^.3 ^ ^ {Radius:.15f,Tags:["gm4_bas_left_arm"],Duration:0,WaitTime:2,Particle:{type:"minecraft:item",item:"minecraft:armor_stand"}}
+execute positioned ~ ~1 ~ run summon minecraft:area_effect_cloud ^-.3 ^ ^ {Radius:.15f,Tags:["gm4_bas_right_arm"],Duration:0,WaitTime:2,Particle:{type:"minecraft:item",item:"minecraft:armor_stand"}}
# legs
-execute positioned ~ ~.4 ~ run summon minecraft:area_effect_cloud ^.15 ^ ^ {Radius:.15f,Tags:["gm4_bas_left_leg"],Particle:{type:"minecraft:item",item:"minecraft:armor_stand"}}
-execute positioned ~ ~.4 ~ run summon minecraft:area_effect_cloud ^-.15 ^ ^ {Radius:.15f,Tags:["gm4_bas_right_leg"],Particle:{type:"minecraft:item",item:"minecraft:armor_stand"}}
+execute positioned ~ ~.4 ~ run summon minecraft:area_effect_cloud ^.15 ^ ^ {Radius:.15f,Tags:["gm4_bas_left_leg"],Duration:0,WaitTime:2,Particle:{type:"minecraft:item",item:"minecraft:armor_stand"}}
+execute positioned ~ ~.4 ~ run summon minecraft:area_effect_cloud ^-.15 ^ ^ {Radius:.15f,Tags:["gm4_bas_right_leg"],Duration:0,WaitTime:2,Particle:{type:"minecraft:item",item:"minecraft:armor_stand"}}
diff --git a/gm4_better_armour_stands/data/gm4_better_armour_stands/guidebook/better_armour_stands.json b/gm4_better_armour_stands/data/gm4_better_armour_stands/guidebook/better_armour_stands.json
index 25eedb5bf8..e9a408f9b7 100644
--- a/gm4_better_armour_stands/data/gm4_better_armour_stands/guidebook/better_armour_stands.json
+++ b/gm4_better_armour_stands/data/gm4_better_armour_stands/guidebook/better_armour_stands.json
@@ -80,9 +80,9 @@
},
{
"text": "arms",
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.better_armour_stands.arms",
"fallback": "Toggle the arms of the armour stand",
@@ -97,7 +97,7 @@
}
]
},
- "clickEvent": {
+ "click_event": {
"action": "copy_to_clipboard",
"value": "arms"
}
@@ -107,9 +107,9 @@
},
{
"text": "base",
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.better_armour_stands.base",
"fallback": "Toggle the base plate of the armour stand",
@@ -124,7 +124,7 @@
}
]
},
- "clickEvent": {
+ "click_event": {
"action": "copy_to_clipboard",
"value": "base"
}
@@ -134,9 +134,9 @@
},
{
"text": "size",
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.better_armour_stands.size",
"fallback": "Toggle the size of the armour stand",
@@ -151,7 +151,7 @@
}
]
},
- "clickEvent": {
+ "click_event": {
"action": "copy_to_clipboard",
"value": "size"
}
@@ -161,9 +161,9 @@
},
{
"text": "gravity",
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.better_armour_stands.gravity",
"fallback": "Toggle the gravity of the armour stand",
@@ -178,7 +178,7 @@
}
]
},
- "clickEvent": {
+ "click_event": {
"action": "copy_to_clipboard",
"value": "gravity"
}
@@ -188,9 +188,9 @@
},
{
"text": "visible",
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.better_armour_stands.visible",
"fallback": "Toggle the visibility of the armour stand.\nHolding a book with this code will reveal\nnearby invisible armour stands.",
@@ -205,7 +205,7 @@
}
]
},
- "clickEvent": {
+ "click_event": {
"action": "copy_to_clipboard",
"value": "visible"
}
@@ -215,9 +215,9 @@
},
{
"text": "turn",
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.better_armour_stands.turn",
"fallback": "Toggle rotating of the armour stand",
@@ -232,7 +232,7 @@
}
]
},
- "clickEvent": {
+ "click_event": {
"action": "copy_to_clipboard",
"value": "turn"
}
@@ -242,9 +242,9 @@
},
{
"text": "lock",
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.better_armour_stands.lock",
"fallback": "Disable interactions with the armour stand",
@@ -259,7 +259,7 @@
}
]
},
- "clickEvent": {
+ "click_event": {
"action": "copy_to_clipboard",
"value": "lock"
}
@@ -269,9 +269,9 @@
},
{
"text": "unlock",
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.better_armour_stands.unlock",
"fallback": "Enable interactions with the armour stand.\nHolding a book with this code will reveal\nnearby locked armour stands.",
@@ -286,7 +286,7 @@
}
]
},
- "clickEvent": {
+ "click_event": {
"action": "copy_to_clipboard",
"value": "unlock"
}
@@ -302,9 +302,9 @@
},
{
"text": "pose",
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.better_armour_stands.pose",
"fallback": "Edit a part of the armour stand by looking at its \"joint\".\n- Hold sneak to enable \"snapping\"\n- Left click to invert this pose\n- Right click to stop editing",
@@ -319,7 +319,7 @@
}
]
},
- "clickEvent": {
+ "click_event": {
"action": "copy_to_clipboard",
"value": "pose"
}
@@ -329,9 +329,9 @@
},
{
"text": "pose mirror",
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.better_armour_stands.pose_mirror",
"fallback": "Edit a part of the armour stand by looking at its \"joint\".\nIf an arm/leg is selected, the other arm/leg pose is mirrored.\n- Hold sneak to enable \"snapping\"\n- Left click to invert this pose\n- Right click to stop editing",
@@ -346,7 +346,7 @@
}
]
},
- "clickEvent": {
+ "click_event": {
"action": "copy_to_clipboard",
"value": "pose mirror"
}
@@ -356,9 +356,9 @@
},
{
"text": "move",
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.better_armour_stands.move",
"fallback": "Move the armour stand around you.\n- Hold sneak to enable \"snapping\"\n- Right click to stop editing",
@@ -373,7 +373,7 @@
}
]
},
- "clickEvent": {
+ "click_event": {
"action": "copy_to_clipboard",
"value": "move"
}
@@ -383,9 +383,9 @@
},
{
"text": "rotate",
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.better_armour_stands.rotate",
"fallback": "Rotate the armour stand.\n- Hold sneak to enable \"snapping\"\n- Right click to stop editing",
@@ -400,7 +400,7 @@
}
]
},
- "clickEvent": {
+ "click_event": {
"action": "copy_to_clipboard",
"value": "rotate"
}
@@ -410,9 +410,9 @@
},
{
"text": "flip",
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.better_armour_stands.flip",
"fallback": "Flip the full pose of the armour stand",
@@ -427,7 +427,7 @@
}
]
},
- "clickEvent": {
+ "click_event": {
"action": "copy_to_clipboard",
"value": "flip"
}
@@ -437,9 +437,9 @@
},
{
"text": "default",
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.better_armour_stands.default",
"fallback": "- Look at a part of the armour stand to reset this pose.\n- Sneak to fully reset the armour stand.",
@@ -454,7 +454,7 @@
}
]
},
- "clickEvent": {
+ "click_event": {
"action": "copy_to_clipboard",
"value": "default"
}
@@ -470,9 +470,9 @@
},
{
"text": "equip",
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.better_armour_stands.equip",
"fallback": "Look at the head or shoulders of the armour stand to place an item from the offhand into this slot.",
@@ -487,7 +487,7 @@
}
]
},
- "clickEvent": {
+ "click_event": {
"action": "copy_to_clipboard",
"value": "equip"
}
@@ -504,9 +504,9 @@
},
{
"text": "copy",
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.better_armour_stands.copy",
"fallback": "Copy modified features onto the armour stand items in your offhand.",
@@ -521,7 +521,7 @@
}
]
},
- "clickEvent": {
+ "click_event": {
"action": "copy_to_clipboard",
"value": "copy"
}
@@ -531,9 +531,9 @@
},
{
"text": "paste",
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.better_armour_stands.paste",
"fallback": "Copy features from the copied armour stand items in your offhand to the armour stand.",
@@ -548,7 +548,7 @@
}
]
},
- "clickEvent": {
+ "click_event": {
"action": "copy_to_clipboard",
"value": "paste"
}
diff --git a/gm4_better_fire/beet.yaml b/gm4_better_fire/beet.yaml
index ffdd8d3b08..173a6f5896 100644
--- a/gm4_better_fire/beet.yaml
+++ b/gm4_better_fire/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_better_fire
name: Better Fire
-version: 1.5.X
+version: 1.6.X
data_pack:
load: .
@@ -39,6 +39,4 @@ meta:
template: generated
- item: bow
reference: gui/advancement/better_fire
- template:
- name: advancement
- forward: minecraft:item/bow
+ template: advancement
diff --git a/gm4_block_compressors/beet.yaml b/gm4_block_compressors/beet.yaml
index f5c53614d1..1709d61c90 100644
--- a/gm4_block_compressors/beet.yaml
+++ b/gm4_block_compressors/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_block_compressors
name: Block Compressors
-version: 1.5.X
+version: 1.6.X
data_pack:
load: .
@@ -18,8 +18,8 @@ meta:
gm4:
versioning:
required:
- lib_custom_crafters: 3.2.0
- lib_machines: 1.3.0
+ lib_custom_crafters: 3.4.0
+ lib_machines: 1.4.0
schedule_loops: [main]
model_data:
- item: purpur_block
@@ -59,8 +59,6 @@ meta:
- gm4_resource_pack
- gm4_relocators
- gm4_standard_crafting
- - gm4_auto_crafting
- - gm4_record_crafting
- gm4_ender_hoppers
- gm4_enchantment_extractors
- gm4_forming_press
diff --git a/gm4_block_compressors/data/gm4_block_compressors/function/item/compress.mcfunction b/gm4_block_compressors/data/gm4_block_compressors/function/item/compress.mcfunction
index 7bd8b959d1..5680ea69b8 100644
--- a/gm4_block_compressors/data/gm4_block_compressors/function/item/compress.mcfunction
+++ b/gm4_block_compressors/data/gm4_block_compressors/function/item/compress.mcfunction
@@ -13,8 +13,9 @@ execute store result storage gm4_block_compressors:temp/item_stack Item.componen
# set count to 1 and add compressed item visuals
data merge storage gm4_block_compressors:temp/item_stack {Item:{count:1,components:{"minecraft:enchantment_glint_override":true}}}
execute as 344d47-4-4-4-f04ce104d run loot replace entity @s weapon.offhand loot gm4_block_compressors:technical/compressed_lore
-execute as 344d47-4-4-4-f04ce104d run data modify storage gm4_block_compressors:temp/item_stack Item.components."minecraft:lore" append from entity @s HandItems[1].components."minecraft:custom_name"
-data merge entity 344d47-4-4-4-f04ce104d {HandItems:[{},{}]}
+execute as 344d47-4-4-4-f04ce104d run data modify storage gm4_block_compressors:temp/item_stack Item.components."minecraft:lore" append from entity @s equipment.offhand.components."minecraft:custom_name"
+data remove entity 344d47-4-4-4-f04ce104d equipment.mainhand
+data remove entity 344d47-4-4-4-f04ce104d equipment.offhand
# clone data to original item entity
data modify entity @s Item set from storage gm4_block_compressors:temp/item_stack Item
diff --git a/gm4_block_compressors/data/gm4_block_compressors/function/machine/create.mcfunction b/gm4_block_compressors/data/gm4_block_compressors/function/machine/create.mcfunction
index 33625f22c4..04469a2463 100644
--- a/gm4_block_compressors/data/gm4_block_compressors/function/machine/create.mcfunction
+++ b/gm4_block_compressors/data/gm4_block_compressors/function/machine/create.mcfunction
@@ -4,12 +4,12 @@
# run from gm4_block_compressors:machine/verify_place_down
# place dropper
-setblock ~ ~ ~ dropper[facing=down]{CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.block_compressor","fallback":"Compression Amount"},[{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.block_compressor","fallback":"Compression Amount","font":"gm4:half_invert"},{"translate":"container.gm4.block_compressor","fallback":"Compression Amount","font":"gm4:offscreen"},{"translate":"gui.gm4.block_compressor","fallback":"","font":"gm4:container_gui","color":"white"},{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.block_compressor","fallback":"Compression Amount","font":"gm4:half_invert"},{"translate":"container.gm4.block_compressor","fallback":"Compression Amount","font":"gm4:default","color":"#404040"}]]}'}
+setblock ~ ~ ~ dropper[facing=down]{CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.block_compressor","fallback":"Compression Amount"},[{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.block_compressor","fallback":"Compression Amount","font":"gm4:half_invert"},{"translate":"container.gm4.block_compressor","fallback":"Compression Amount","font":"gm4:offscreen"},{"translate":"gui.gm4.block_compressor","fallback":"","font":"gm4:container_gui","color":"white"},{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.block_compressor","fallback":"Compression Amount","font":"gm4:half_invert"},{"translate":"container.gm4.block_compressor","fallback":"Compression Amount","font":"gm4:default","color":"#404040"}]]}}
# summon display armor stand and marker entity
-summon item_display ~ ~ ~ {Tags:["gm4_block_compressor_plate","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_block_compressor_plate"',item:{id:"minecraft:purpur_block",count:1,components:{"minecraft:custom_model_data":"block/block_compressor_plate"}},transformation:{right_rotation:[0f,0f,0f,1f],left_rotation:[1f,0f,0f,0f],translation:[0.0,0.225,0.0],scale:[0.625,0.625,0.625]},brightness:{block:15,sky:15},item_display:"head"}
-summon item_display ~ ~ ~ {Tags:["gm4_block_compressor_display","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_block_compressor_display"',item:{id:"minecraft:stone",count:1,components:{"minecraft:custom_model_data":"block/block_compressor"}},transformation:{right_rotation:[0f,0f,0f,1f],left_rotation:[0f,0f,0f,1f],translation:[0f,0f,0f],scale:[0.5,0.5,0.5]},brightness:{block:15,sky:15},item_display:"head"}
-summon marker ~ ~ ~ {Tags:["gm4_block_compressor","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_block_compressor"',Rotation:[0.0f,0.0f]}
+summon item_display ~ ~ ~ {Tags:["gm4_block_compressor_plate","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:"gm4_block_compressor_plate",item:{id:"minecraft:purpur_block",count:1,components:{"minecraft:custom_model_data":"block/block_compressor_plate"}},transformation:{right_rotation:[0f,0f,0f,1f],left_rotation:[1f,0f,0f,0f],translation:[0.0,0.225,0.0],scale:[0.625,0.625,0.625]},brightness:{block:15,sky:15},item_display:"head"}
+summon item_display ~ ~ ~ {Tags:["gm4_block_compressor_display","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:"gm4_block_compressor_display",item:{id:"minecraft:stone",count:1,components:{"minecraft:custom_model_data":"block/block_compressor"}},transformation:{right_rotation:[0f,0f,0f,1f],left_rotation:[0f,0f,0f,1f],translation:[0f,0f,0f],scale:[0.5,0.5,0.5]},brightness:{block:15,sky:15},item_display:"head"}
+summon marker ~ ~ ~ {Tags:["gm4_block_compressor","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:"gm4_block_compressor",Rotation:[0.0f,0.0f]}
# mark block as placed
playsound minecraft:block.piston.contract block @a[distance=..5]
diff --git a/gm4_block_compressors/data/gm4_block_compressors/function/relocate/set_pick_up_data.mcfunction b/gm4_block_compressors/data/gm4_block_compressors/function/relocate/set_pick_up_data.mcfunction
index 193f43465c..01ce18dfad 100644
--- a/gm4_block_compressors/data/gm4_block_compressors/function/relocate/set_pick_up_data.mcfunction
+++ b/gm4_block_compressors/data/gm4_block_compressors/function/relocate/set_pick_up_data.mcfunction
@@ -3,7 +3,7 @@
# located at the center of the block to be picked up
# run from gm4_block_compressors:relocate/pick_up_check
-data modify storage gm4_relocators:temp merge_data set value {custom_block:"gm4_block_compressor",lore:'{"translate":"block.gm4.block_compressor","fallback":"Compressor","color":"gray","italic":true}'}
+data modify storage gm4_relocators:temp merge_data set value {custom_block:"gm4_block_compressor",lore:{"translate":"block.gm4.block_compressor","fallback":"Compressor","color":"gray","italic":true}}
execute positioned ~ ~ ~ run kill @e[type=item_display,tag=gm4_block_compressor_plate,limit=1,distance=..0.1]
execute positioned ~ ~ ~ run kill @e[type=item_display,tag=gm4_block_compressor_display,limit=1,distance=..0.1]
diff --git a/gm4_block_compressors/data/gm4_block_compressors/function/relocate/summon_block_markers.mcfunction b/gm4_block_compressors/data/gm4_block_compressors/function/relocate/summon_block_markers.mcfunction
index 0f8321457b..b4e046f81f 100644
--- a/gm4_block_compressors/data/gm4_block_compressors/function/relocate/summon_block_markers.mcfunction
+++ b/gm4_block_compressors/data/gm4_block_compressors/function/relocate/summon_block_markers.mcfunction
@@ -5,9 +5,9 @@
scoreboard players set $placed_block gm4_rl_data 1
-summon item_display ~ ~ ~ {Tags:["gm4_block_compressor_plate","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_block_compressor_plate"',item:{id:"minecraft:purpur_block",count:1,components:{"minecraft:custom_model_data":"block/block_compressor_plate"}},transformation:{right_rotation:[0f,0f,0f,1f],left_rotation:[1f,0f,0f,0f],translation:[0.0,0.225,0.0],scale:[0.625,0.625,0.625]},brightness:{block:15,sky:15},item_display:"head"}
-summon item_display ~ ~ ~ {Tags:["gm4_block_compressor_display","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_block_compressor_display"',item:{id:"minecraft:stone",count:1,components:{"minecraft:custom_model_data":"block/block_compressor"}},transformation:{right_rotation:[0f,0f,0f,1f],left_rotation:[0f,0f,0f,1f],translation:[0f,0f,0f],scale:[0.5,0.5,0.5]},brightness:{block:15,sky:15},item_display:"head"}
-summon marker ~ ~ ~ {Tags:["gm4_block_compressor","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_block_compressor"',Rotation:[0.0f,0.0f]}
+summon item_display ~ ~ ~ {Tags:["gm4_block_compressor_plate","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:"gm4_block_compressor_plate",item:{id:"minecraft:purpur_block",count:1,components:{"minecraft:custom_model_data":"block/block_compressor_plate"}},transformation:{right_rotation:[0f,0f,0f,1f],left_rotation:[1f,0f,0f,0f],translation:[0.0,0.225,0.0],scale:[0.625,0.625,0.625]},brightness:{block:15,sky:15},item_display:"head"}
+summon item_display ~ ~ ~ {Tags:["gm4_block_compressor_display","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:"gm4_block_compressor_display",item:{id:"minecraft:stone",count:1,components:{"minecraft:custom_model_data":"block/block_compressor"}},transformation:{right_rotation:[0f,0f,0f,1f],left_rotation:[0f,0f,0f,1f],translation:[0f,0f,0f],scale:[0.5,0.5,0.5]},brightness:{block:15,sky:15},item_display:"head"}
+summon marker ~ ~ ~ {Tags:["gm4_block_compressor","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:"gm4_block_compressor",Rotation:[0.0f,0.0f]}
scoreboard players set @e[distance=..2,tag=gm4_new_machine] gm4_entity_version 2
tag @e[distance=..2] remove gm4_new_machine
diff --git a/gm4_block_compressors/data/gm4_block_compressors/function/upgrade_paths/1.4.mcfunction b/gm4_block_compressors/data/gm4_block_compressors/function/upgrade_paths/1.4.mcfunction
index 1b220bad91..a93d22b061 100644
--- a/gm4_block_compressors/data/gm4_block_compressors/function/upgrade_paths/1.4.mcfunction
+++ b/gm4_block_compressors/data/gm4_block_compressors/function/upgrade_paths/1.4.mcfunction
@@ -1,5 +1,5 @@
-execute as @e[type=armor_stand,tag=gm4_block_compressor_stand] at @s positioned ~ ~0.965 ~ align y run summon item_display ~ ~0.5 ~ {Tags:["gm4_block_compressor_plate","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_block_compressor_plate"',item:{id:"minecraft:purpur_block",count:1,components:{"minecraft:custom_model_data":"block/block_compressor_plate"}},transformation:{right_rotation:[0f,0f,0f,1f],left_rotation:[1f,0f,0f,0f],translation:[0.0,0.225,0.0],scale:[0.625,0.625,0.625]},brightness:{block:15,sky:15},item_display:"head"}
-execute as @e[type=armor_stand,tag=gm4_block_compressor_display] at @s align y run summon item_display ~ ~0.5 ~ {Tags:["gm4_block_compressor_display","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_block_compressor_display"',item:{id:"minecraft:stone",count:1,components:{"minecraft:custom_model_data":"block/block_compressor"}},transformation:{right_rotation:[0f,0f,0f,1f],left_rotation:[0f,0f,0f,1f],translation:[0f,0f,0f],scale:[0.5,0.5,0.5]},brightness:{block:15,sky:15},item_display:"head"}
+execute as @e[type=armor_stand,tag=gm4_block_compressor_stand] at @s positioned ~ ~0.965 ~ align y run summon item_display ~ ~0.5 ~ {Tags:["gm4_block_compressor_plate","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:"gm4_block_compressor_plate",item:{id:"minecraft:purpur_block",count:1,components:{"minecraft:custom_model_data":"block/block_compressor_plate"}},transformation:{right_rotation:[0f,0f,0f,1f],left_rotation:[1f,0f,0f,0f],translation:[0.0,0.225,0.0],scale:[0.625,0.625,0.625]},brightness:{block:15,sky:15},item_display:"head"}
+execute as @e[type=armor_stand,tag=gm4_block_compressor_display] at @s align y run summon item_display ~ ~0.5 ~ {Tags:["gm4_block_compressor_display","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:"gm4_block_compressor_display",item:{id:"minecraft:stone",count:1,components:{"minecraft:custom_model_data":"block/block_compressor"}},transformation:{right_rotation:[0f,0f,0f,1f],left_rotation:[0f,0f,0f,1f],translation:[0f,0f,0f],scale:[0.5,0.5,0.5]},brightness:{block:15,sky:15},item_display:"head"}
execute as @e[type=armor_stand,tag=gm4_block_compressor_display] at @s run scoreboard players set @e[distance=..2,tag=gm4_new_machine] gm4_entity_version 2
execute as @e[type=armor_stand,tag=gm4_block_compressor_display] at @s run tag @e[distance=..2] remove gm4_new_machine
diff --git a/gm4_block_compressors/data/gm4_block_compressors/guidebook/block_compressors.json b/gm4_block_compressors/data/gm4_block_compressors/guidebook/block_compressors.json
index 9aff1c8e2a..f62dbbff4b 100644
--- a/gm4_block_compressors/data/gm4_block_compressors/guidebook/block_compressors.json
+++ b/gm4_block_compressors/data/gm4_block_compressors/guidebook/block_compressors.json
@@ -36,7 +36,7 @@
"blocks": [
"minecraft:dropper"
],
- "nbt": "{CustomName:'{\"translate\":\"gm4.second\",\"fallback\":\"%1$s\",\"with\":[{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\"},{\"text\":\" \",\"extra\":[{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:offscreen\"},{\"translate\":\"gui.gm4.custom_crafter\",\"fallback\":\"\",\"font\":\"gm4:container_gui\",\"color\":\"white\"},{\"text\":\" \",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:default\",\"color\":\"#404040\"}],\"font\":\"gm4:half_invert\"}]}'}"
+ "nbt": "{CustomName:{\"translate\":\"gm4.second\",\"fallback\":\"%1$s\",\"with\":[{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\"},{\"text\":\" \",\"extra\":[{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:offscreen\"},{\"translate\":\"gui.gm4.custom_crafter\",\"fallback\":\"\",\"font\":\"gm4:container_gui\",\"color\":\"white\"},{\"text\":\" \",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:default\",\"color\":\"#404040\"}],\"font\":\"gm4:half_invert\"}]}}"
}
}
}
@@ -93,7 +93,7 @@
"blocks": [
"minecraft:dropper"
],
- "nbt": "{CustomName:'{\"translate\":\"gm4.second\",\"fallback\":\"%1$s\",\"with\":[{\"translate\":\"container.gm4.block_compressor\",\"fallback\":\"Compression Amount\"},{\"text\":\" \",\"extra\":[{\"translate\":\"container.gm4.block_compressor\",\"fallback\":\"Compression Amount\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.block_compressor\",\"fallback\":\"Compression Amount\",\"font\":\"gm4:offscreen\"},{\"translate\":\"gui.gm4.block_compressor\",\"fallback\":\"\",\"font\":\"gm4:container_gui\",\"color\":\"white\"},{\"text\":\" \",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.block_compressor\",\"fallback\":\"Compression Amount\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.block_compressor\",\"fallback\":\"Compression Amount\",\"font\":\"gm4:default\",\"color\":\"#404040\"}],\"font\":\"gm4:half_invert\"}]}'}"
+ "nbt": "{CustomName:{\"translate\":\"gm4.second\",\"fallback\":\"%1$s\",\"with\":[{\"translate\":\"container.gm4.block_compressor\",\"fallback\":\"Compression Amount\"},{\"text\":\" \",\"extra\":[{\"translate\":\"container.gm4.block_compressor\",\"fallback\":\"Compression Amount\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.block_compressor\",\"fallback\":\"Compression Amount\",\"font\":\"gm4:offscreen\"},{\"translate\":\"gui.gm4.block_compressor\",\"fallback\":\"\",\"font\":\"gm4:container_gui\",\"color\":\"white\"},{\"text\":\" \",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.block_compressor\",\"fallback\":\"Compression Amount\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.block_compressor\",\"fallback\":\"Compression Amount\",\"font\":\"gm4:default\",\"color\":\"#404040\"}],\"font\":\"gm4:half_invert\"}]}}"
}
}
}
diff --git a/gm4_block_compressors/data/gm4_block_compressors/recipe/compressor.json b/gm4_block_compressors/data/gm4_block_compressors/recipe/compressor.json
index ff471b4e33..3f2ed7fab7 100644
--- a/gm4_block_compressors/data/gm4_block_compressors/recipe/compressor.json
+++ b/gm4_block_compressors/data/gm4_block_compressors/recipe/compressor.json
@@ -19,7 +19,7 @@
"minecraft:custom_model_data": "block/block_compressor_full",
"minecraft:profile": "$block_compressor",
"minecraft:custom_data": "{gm4_machines:{id:'block_compressor'}}",
- "minecraft:custom_name": "{\"translate\":\"block.gm4.block_compressor\",\"fallback\":\"Compressor\",\"color\":\"white\",\"italic\":false}"
+ "minecraft:custom_name": {"translate":"block.gm4.block_compressor","fallback":"Compressor","color":"white","italic":false}
}
}
}
diff --git a/gm4_block_compressors/data/gm4_block_compressors/test/compress_7.mcfunction b/gm4_block_compressors/data/gm4_block_compressors/test/compress_7.mcfunction
index cca7c18a16..4da09b10a2 100644
--- a/gm4_block_compressors/data/gm4_block_compressors/test/compress_7.mcfunction
+++ b/gm4_block_compressors/data/gm4_block_compressors/test/compress_7.mcfunction
@@ -3,7 +3,7 @@
# @optional
execute positioned ~1.5 ~1.5 ~1.5 run function gm4_block_compressors:machine/create
-item replace block ~1 ~1 ~1 container.0 with cobblestone
-summon item ~1.5 ~3 ~1.5 {Item:{id:"minecraft:diamond"}}
+item replace block ~1 ~1 ~1 container.0 with cobblestone 7
+summon item ~1.5 ~3 ~1.5 {Item:{id:"minecraft:diamond",count:7}}
await items entity @e[type=item,distance=..4] contents diamond[custom_data~{gm4_block_compressors:{compression_level:7}}]
diff --git a/gm4_blossoming_pots/beet.yaml b/gm4_blossoming_pots/beet.yaml
index 305025a4f2..f3458b6c71 100644
--- a/gm4_blossoming_pots/beet.yaml
+++ b/gm4_blossoming_pots/beet.yaml
@@ -1,14 +1,9 @@
id: gm4_blossoming_pots
name: Blossoming Pots
-version: 3.2.X
+version: 3.3.X
data_pack:
load: .
- overlays:
- - formats:
- min_inclusive: 61
- max_inclusive: 61
- directory: since_61
resource_pack:
load: .
diff --git a/gm4_blossoming_pots/data/gm4_blossoming_pots/function/decorated/in_decorated_pot.mcfunction b/gm4_blossoming_pots/data/gm4_blossoming_pots/function/decorated/in_decorated_pot.mcfunction
index c52da4580e..1331a474a6 100644
--- a/gm4_blossoming_pots/data/gm4_blossoming_pots/function/decorated/in_decorated_pot.mcfunction
+++ b/gm4_blossoming_pots/data/gm4_blossoming_pots/function/decorated/in_decorated_pot.mcfunction
@@ -4,7 +4,7 @@
# run from decorated/raycast
# merge marker data for if it doesn't get killed
-data merge entity @s {Tags:["gm4_blossoming_pots.temp.decorated_pot","smithed.strict","smithed.entity"],CustomName:'{"text":"gm4_blossoming_pots.temp_marker"}'}
+data merge entity @s {Tags:["gm4_blossoming_pots.temp.decorated_pot","smithed.strict","smithed.entity"],CustomName:{"text":"gm4_blossoming_pots.temp_marker"}}
# if temp marker in physical hit box, return 1
# dxdydz all 0 bc of MC-123441.
diff --git a/gm4_blossoming_pots/data/gm4_blossoming_pots/function/decorated/set_storage.mcfunction b/gm4_blossoming_pots/data/gm4_blossoming_pots/function/decorated/set_storage.mcfunction
index 9b287d7572..9f7e968d35 100644
--- a/gm4_blossoming_pots/data/gm4_blossoming_pots/function/decorated/set_storage.mcfunction
+++ b/gm4_blossoming_pots/data/gm4_blossoming_pots/function/decorated/set_storage.mcfunction
@@ -11,6 +11,101 @@
# 2:[] array of starting data for the all the block displays used in this stage, all data
# ......
+data modify storage gm4_blossoming_pots:decorated_pots minecraft:pale_hanging_moss set value {\
+ place_sound:"minecraft:block.moss_carpet.place",\
+ maximum:3,\
+ 1:[\
+ {\
+ block_state:{\
+ Name:"minecraft:pale_hanging_moss",\
+ Properties:{\
+ tip:"true"\
+ }\
+ },\
+ transformation:{\
+ translation:[-0.35f,1.443f,0.35f],\
+ left_rotation:[0.707f,0f,0f,0.707f],\
+ scale:[0.7f,0.7f,0.7f],\
+ right_rotation:[0.707f,0f,0f,0.707f]\
+ }\
+ }\
+ ],\
+ 2:[\
+ {\
+ block_state:{\
+ Name:"minecraft:pale_hanging_moss",\
+ Properties:{\
+ tip:"true"\
+ }\
+ },\
+ transformation:{\
+ translation:[-0.35f,2.1425f,0.35f],\
+ left_rotation:[0.707f,0f,0f,0.707f],\
+ scale:[0.7f,0.7f,0.7f],\
+ right_rotation:[0.707f,0f,0f,0.707f]\
+ }\
+ },\
+ {\
+ block_state:{\
+ Name:"minecraft:pale_hanging_moss",\
+ Properties:{\
+ tip:"false"\
+ }\
+ },\
+ transformation:{\
+ translation:[-0.35f,1.443f,0.35f],\
+ left_rotation:[0.707f,0f,0f,0.707f],\
+ scale:[0.7f,0.7f,0.7f],\
+ right_rotation:[0.707f,0f,0f,0.707f]\
+ }\
+ }\
+ ],\
+ 3:[\
+ {\
+ block_state:{\
+ Name:"minecraft:pale_hanging_moss",\
+ Properties:{\
+ tip:"true"\
+ }\
+ },\
+ transformation:{\
+ translation:[-0.35f,2.842f,0.35f],\
+ left_rotation:[0.707f,0f,0f,0.707f],\
+ scale:[0.7f,0.7f,0.7f],\
+ right_rotation:[0.707f,0f,0f,0.707f]\
+ }\
+ },\
+ {\
+ block_state:{\
+ Name:"minecraft:pale_hanging_moss",\
+ Properties:{\
+ tip:"false"\
+ }\
+ },\
+ transformation:{\
+ translation:[-0.35f,2.1425f,0.35f],\
+ left_rotation:[0.707f,0f,0f,0.707f],\
+ scale:[0.7f,0.7f,0.7f],\
+ right_rotation:[0.707f,0f,0f,0.707f]\
+ }\
+ },\
+ {\
+ block_state:{\
+ Name:"minecraft:pale_hanging_moss",\
+ Properties:{\
+ tip:"false"\
+ }\
+ },\
+ transformation:{\
+ translation:[-0.35f,1.443f,0.35f],\
+ left_rotation:[0.707f,0f,0f,0.707f],\
+ scale:[0.7f,0.7f,0.7f],\
+ right_rotation:[0.707f,0f,0f,0.707f]\
+ }\
+ }\
+ ]\
+}
+
data modify storage gm4_blossoming_pots:decorated_pots minecraft:pointed_dripstone set value {\
place_sound:"minecraft:block.pointed_dripstone.place",\
maximum:3,\
@@ -835,6 +930,82 @@ data modify storage gm4_blossoming_pots:decorated_pots minecraft:cherry_leaves s
}\
]\
}
+data modify storage gm4_blossoming_pots:decorated_pots minecraft:pale_oak_leaves set value {\
+ place_sound:"minecraft:block.grass.place",\
+ maximum:3,\
+ 1:[\
+ {\
+ block_state:{\
+ Name:"minecraft:pale_oak_leaves"\
+ },\
+ transformation:{\
+ translation:[-0.375f,0.7435f,-0.375f],\
+ left_rotation:[0f,0f,0f,1f],\
+ scale:[0.75f,0.75f,0.75f],\
+ right_rotation:[0f,0f,0f,1f]\
+ }\
+ }\
+ ],\
+ 2:[\
+ {\
+ block_state:{\
+ Name:"minecraft:pale_oak_leaves"\
+ },\
+ transformation:{\
+ translation:[-0.375f,0.7435f,-0.375f],\
+ left_rotation:[0f,0f,0f,1f],\
+ scale:[0.75f,0.75f,0.75f],\
+ right_rotation:[0f,0f,0f,1f]\
+ }\
+ },\
+ {\
+ block_state:{\
+ Name:"minecraft:pale_oak_leaves"\
+ },\
+ transformation:{\
+ translation:[-0.375f,1.4935f,-0.375f],\
+ left_rotation:[0f,0f,0f,1f],\
+ scale:[0.75f,0.75f,0.75f],\
+ right_rotation:[0f,0f,0f,1f]\
+ }\
+ }\
+ ],\
+ 3:[\
+ {\
+ block_state:{\
+ Name:"minecraft:pale_oak_leaves"\
+ },\
+ transformation:{\
+ translation:[-0.375f,0.7435f,-0.375f],\
+ left_rotation:[0f,0f,0f,1f],\
+ scale:[0.75f,0.75f,0.75f],\
+ right_rotation:[0f,0f,0f,1f]\
+ }\
+ },\
+ {\
+ block_state:{\
+ Name:"minecraft:pale_oak_leaves"\
+ },\
+ transformation:{\
+ translation:[-0.375f,1.4935f,-0.375f],\
+ left_rotation:[0f,0f,0f,1f],\
+ scale:[0.75f,0.75f,0.75f],\
+ right_rotation:[0f,0f,0f,1f]\
+ }\
+ },\
+ {\
+ block_state:{\
+ Name:"minecraft:pale_oak_leaves"\
+ },\
+ transformation:{\
+ translation:[-0.375f,2.2435f,-0.375f],\
+ left_rotation:[0f,0f,0f,1f],\
+ scale:[0.75f,0.75f,0.75f],\
+ right_rotation:[0f,0f,0f,1f]\
+ }\
+ }\
+ ]\
+}
data modify storage gm4_blossoming_pots:decorated_pots minecraft:azalea_leaves set value {\
place_sound:"minecraft:block.azalea_leaves.place",\
maximum:3,\
@@ -1264,6 +1435,40 @@ data modify storage gm4_blossoming_pots:decorated_pots minecraft:cherry_sapling
}\
]\
}
+data modify storage gm4_blossoming_pots:decorated_pots minecraft:pale_oak_sapling set value {\
+ place_sound:"minecraft:block.cherry_sapling.place",\
+ maximum:2,\
+ 1:[\
+ {\
+ block_state:{\
+ Name:"minecraft:pale_oak_sapling"\
+ },\
+ transformation:{\
+ translation:[-0.5f,0.681f,-0.5f],\
+ left_rotation:[0f,0f,0f,1f],\
+ scale:[1f,1f,1f],\
+ right_rotation:[0f,0f,0f,1f]\
+ }\
+ }\
+ ],\
+ 2:[\
+ {\
+ block_state:{\
+ Name:"minecraft:pale_oak_sapling",\
+ Properties:{\
+ stage:"1"\
+ }\
+ },\
+ transformation:{\
+ translation:[-0.5f,0.681f,-0.5f],\
+ left_rotation:[0f,0f,0f,1f],\
+ scale:[1f,1f,1f],\
+ right_rotation:[0f,0f,0f,1f]\
+ },\
+ Rotation:[0f,0f]\
+ }\
+ ]\
+}
data modify storage gm4_blossoming_pots:decorated_pots minecraft:azalea set value {\
place_sound:"minecraft:block.azalea.place",\
@@ -1455,6 +1660,40 @@ data modify storage gm4_blossoming_pots:decorated_pots minecraft:fern set value
}\
]\
}
+data modify storage gm4_blossoming_pots:decorated_pots minecraft:short_dry_grass set value {\
+ place_sound:"minecraft:item.bone_meal.use",\
+ maximum:1,\
+ 1:[\
+ {\
+ block_state:{\
+ Name:"minecraft:short_dry_grass"\
+ },\
+ transformation:{\
+ translation:[-0.4315f,0.6895625f,-0.4315f],\
+ left_rotation:[0f,0f,0f,1f],\
+ scale:[0.863f,0.863f,0.863f],\
+ right_rotation:[0f,0f,0f,1f]\
+ }\
+ }\
+ ]\
+}
+data modify storage gm4_blossoming_pots:decorated_pots minecraft:bush set value {\
+ place_sound:"minecraft:item.bone_meal.use",\
+ maximum:1,\
+ 1:[\
+ {\
+ block_state:{\
+ Name:"minecraft:bush"\
+ },\
+ transformation:{\
+ translation:[-0.5f,0.7435f,-0.5f],\
+ left_rotation:[0f,0f,0f,1f],\
+ scale:[1f,1f,1f],\
+ right_rotation:[0f,0f,0f,1f]\
+ }\
+ }\
+ ]\
+}
data modify storage gm4_blossoming_pots:decorated_pots minecraft:dead_bush set value {\
place_sound:"minecraft:item.bone_meal.use",\
maximum:1,\
@@ -1694,6 +1933,57 @@ data modify storage gm4_blossoming_pots:decorated_pots minecraft:torchflower set
}\
]\
}
+data modify storage gm4_blossoming_pots:decorated_pots minecraft:cactus_flower set value {\
+ place_sound:"minecraft:block.cactus_flower.place",\
+ maximum:1,\
+ 1:[\
+ {\
+ block_state:{\
+ Name:"minecraft:cactus_flower"\
+ },\
+ transformation:{\
+ translation:[-0.5f,0.681f,-0.5f],\
+ left_rotation:[0f,0f,0f,1f],\
+ scale:[1f,1f,1f],\
+ right_rotation:[0f,0f,0f,1f]\
+ }\
+ }\
+ ]\
+}
+data modify storage gm4_blossoming_pots:decorated_pots minecraft:closed_eyeblossom set value {\
+ place_sound:"minecraft:item.bone_meal.use",\
+ maximum:1,\
+ 1:[\
+ {\
+ block_state:{\
+ Name:"minecraft:closed_eyeblossom"\
+ },\
+ transformation:{\
+ translation:[-0.5f,0.681f,-0.5f],\
+ left_rotation:[0f,0f,0f,1f],\
+ scale:[1f,1f,1f],\
+ right_rotation:[0f,0f,0f,1f]\
+ }\
+ }\
+ ]\
+}
+data modify storage gm4_blossoming_pots:decorated_pots minecraft:open_eyeblossom set value {\
+ place_sound:"minecraft:item.bone_meal.use",\
+ maximum:1,\
+ 1:[\
+ {\
+ block_state:{\
+ Name:"minecraft:open_eyeblossom"\
+ },\
+ transformation:{\
+ translation:[-0.5f,0.681f,-0.5f],\
+ left_rotation:[0f,0f,0f,1f],\
+ scale:[1f,1f,1f],\
+ right_rotation:[0f,0f,0f,1f]\
+ }\
+ }\
+ ]\
+}
data modify storage gm4_blossoming_pots:decorated_pots minecraft:wither_rose set value {\
place_sound:"minecraft:item.bone_meal.use",\
maximum:1,\
@@ -1730,6 +2020,24 @@ data modify storage gm4_blossoming_pots:decorated_pots minecraft:spore_blossom s
]\
}
+data modify storage gm4_blossoming_pots:decorated_pots minecraft:firefly_bush set value {\
+ place_sound:"minecraft:item.bone_meal.use",\
+ maximum:1,\
+ 1:[\
+ {\
+ block_state:{\
+ Name:"minecraft:firefly_bush"\
+ },\
+ transformation:{\
+ translation:[-0.4325f,0.6895625f,-0.4325f],\
+ left_rotation:[0f,0f,0f,1f],\
+ scale:[0.863f,0.863f,0.863f],\
+ right_rotation:[0f,0f,0f,1f]\
+ }\
+ }\
+ ]\
+}
+
data modify storage gm4_blossoming_pots:decorated_pots minecraft:bamboo set value {\
place_sound:"minecraft:block.bamboo_sapling.place",\
maximum:3,\
@@ -2258,6 +2566,23 @@ data modify storage gm4_blossoming_pots:decorated_pots minecraft:large_fern set
}\
]\
}
+data modify storage gm4_blossoming_pots:decorated_pots minecraft:tall_dry_grass set value {\
+ place_sound:"minecraft:item.bone_meal.use",\
+ maximum:1,\
+ 1:[\
+ {\
+ block_state:{\
+ Name:"minecraft:tall_dry_grass"\
+ },\
+ transformation:{\
+ translation:[-0.4315f,0.6895626f,-0.4315f],\
+ left_rotation:[0f,0f,0f,1f],\
+ scale:[0.863f,0.863f,0.863f],\
+ right_rotation:[0f,0f,0f,1f]\
+ }\
+ }\
+ ]\
+}
# default sunflower rotation is sunflower facing east, player should be facing west
data modify storage gm4_blossoming_pots:decorated_pots minecraft:sunflower set value {\
diff --git a/gm4_blossoming_pots/data/gm4_blossoming_pots/function/flower/in_flower_pot.mcfunction b/gm4_blossoming_pots/data/gm4_blossoming_pots/function/flower/in_flower_pot.mcfunction
index f01d9da72a..5627a915b1 100644
--- a/gm4_blossoming_pots/data/gm4_blossoming_pots/function/flower/in_flower_pot.mcfunction
+++ b/gm4_blossoming_pots/data/gm4_blossoming_pots/function/flower/in_flower_pot.mcfunction
@@ -4,7 +4,7 @@
# run from flower/raycast
# merge marker data for if it doesn't get killed
-data merge entity @s {Tags:["gm4_blossoming_pots.temp.flower_pot","smithed.strict","smithed.entity"],CustomName:'{"text":"gm4_blossoming_pots.temp_marker"}'}
+data merge entity @s {Tags:["gm4_blossoming_pots.temp.flower_pot","smithed.strict","smithed.entity"],CustomName:{"text":"gm4_blossoming_pots.temp_marker"}}
# if temp marker in physical hit box, return 1
# dxdydz all 0 bc of MC-123441.
diff --git a/gm4_blossoming_pots/data/gm4_blossoming_pots/function/flower/prepare_data.mcfunction b/gm4_blossoming_pots/data/gm4_blossoming_pots/function/flower/prepare_data.mcfunction
index a20ce9202b..11806f9c1b 100644
--- a/gm4_blossoming_pots/data/gm4_blossoming_pots/function/flower/prepare_data.mcfunction
+++ b/gm4_blossoming_pots/data/gm4_blossoming_pots/function/flower/prepare_data.mcfunction
@@ -16,7 +16,7 @@ execute if data entity @e[type=minecraft:marker,tag=gm4_blossoming_pots.data.flo
# if no perma marker yet, summon it
$execute unless entity @e[type=minecraft:marker,tag=gm4_blossoming_pots.data.flower_pot,distance=..0.1,limit=1] \
- run summon minecraft:marker ~ ~ ~ {Tags:["gm4_blossoming_pots.data.flower_pot","smithed.strict","smithed.entity"],data:{gm4_blossoming_pots:{id:"$(id)",count:0,full:0}},CustomName:'{"text":"gm4_blossoming_pots.flower_pot"}'}
+ run summon minecraft:marker ~ ~ ~ {Tags:["gm4_blossoming_pots.data.flower_pot","smithed.strict","smithed.entity"],data:{gm4_blossoming_pots:{id:"$(id)",count:0,full:0}},CustomName:{"text":"gm4_blossoming_pots.flower_pot"}}
# signal player mainhand to be decremented by as_player
scoreboard players set $signal_item_decr gm4_blossoming_pots.misc 1
diff --git a/gm4_blossoming_pots/data/gm4_blossoming_pots/function/flower/set_storage.mcfunction b/gm4_blossoming_pots/data/gm4_blossoming_pots/function/flower/set_storage.mcfunction
index a06c7f1eb5..5995eee010 100644
--- a/gm4_blossoming_pots/data/gm4_blossoming_pots/function/flower/set_storage.mcfunction
+++ b/gm4_blossoming_pots/data/gm4_blossoming_pots/function/flower/set_storage.mcfunction
@@ -11,6 +11,41 @@
# 2:[] array of starting data for the all the block displays used in this stage, all data
# ......
+data modify storage gm4_blossoming_pots:flower_pots minecraft:pale_hanging_moss set value {\
+ place_sound:"minecraft:block.moss_carpet.place",\
+ maximum:1,\
+ 1:[\
+ {\
+ block_state:{\
+ Name:"minecraft:pale_hanging_moss",\
+ Properties:{\
+ tip:"false"\
+ }\
+ },\
+ transformation:{\
+ translation:[-0.25f,0.243f,0.25f],\
+ left_rotation:[0.707f,0f,0f,0.707f],\
+ scale:[0.5f,0.5f,0.5f],\
+ right_rotation:[0.707f,0f,0f,0.707f]\
+ }\
+ },\
+ {\
+ block_state:{\
+ Name:"minecraft:pale_hanging_moss",\
+ Properties:{\
+ tip:"true"\
+ }\
+ },\
+ transformation:{\
+ translation:[-0.25f,0.7425f,0.25f],\
+ left_rotation:[0.707f,0f,0f,0.707f],\
+ scale:[0.5f,0.5f,0.5f],\
+ right_rotation:[0.707f,0f,0f,0.707f]\
+ }\
+ }\
+ ]\
+}
+
data modify storage gm4_blossoming_pots:flower_pots minecraft:pointed_dripstone set value {\
place_sound:"minecraft:block.pointed_dripstone.place",\
maximum:1,\
@@ -253,6 +288,23 @@ data modify storage gm4_blossoming_pots:flower_pots minecraft:cherry_leaves set
}\
]\
}
+data modify storage gm4_blossoming_pots:flower_pots minecraft:pale_oak_leaves set value {\
+ place_sound:"minecraft:block.grass.place",\
+ maximum:1,\
+ 1:[\
+ {\
+ block_state:{\
+ Name:"minecraft:pale_oak_leaves"\
+ },\
+ transformation:{\
+ translation:[-0.25f,-0.125f,-0.25f],\
+ left_rotation:[0f,0f,0f,1f],\
+ scale:[0.5f,0.5f,0.5f],\
+ right_rotation:[0f,0f,0f,1f]\
+ }\
+ }\
+ ]\
+}
data modify storage gm4_blossoming_pots:flower_pots minecraft:azalea_leaves set value {\
place_sound:"minecraft:block.azalea_leaves.place",\
maximum:1,\
@@ -305,6 +357,58 @@ data modify storage gm4_blossoming_pots:flower_pots minecraft:short_grass set va
}\
]\
}
+data modify storage gm4_blossoming_pots:flower_pots minecraft:short_dry_grass set value {\
+ place_sound:"minecraft:item.bone_meal.use",\
+ maximum:1,\
+ 1:[\
+ {\
+ block_state:{\
+ Name:"minecraft:short_dry_grass"\
+ },\
+ transformation:{\
+ translation:[-0.325f,-0.2565f,-0.325f],\
+ left_rotation:[0f,0f,0f,1f],\
+ scale:[0.65f,0.65f,0.65f],\
+ right_rotation:[0f,0f,0f,1f]\
+ }\
+ }\
+ ]\
+}
+data modify storage gm4_blossoming_pots:flower_pots minecraft:bush set value {\
+ place_sound:"minecraft:item.bone_meal.use",\
+ maximum:1,\
+ 1:[\
+ {\
+ block_state:{\
+ Name:"minecraft:bush"\
+ },\
+ transformation:{\
+ translation:[-0.39f,-0.2565f,-0.39f],\
+ left_rotation:[0f,0f,0f,1f],\
+ scale:[0.78f,0.78f,0.78f],\
+ right_rotation:[0f,0f,0f,1f]\
+ }\
+ }\
+ ]\
+}
+
+data modify storage gm4_blossoming_pots:flower_pots minecraft:cactus_flower set value {\
+ place_sound:"minecraft:block.cactus_flower.place",\
+ maximum:1,\
+ 1:[\
+ {\
+ block_state:{\
+ Name:"minecraft:cactus_flower"\
+ },\
+ transformation:{\
+ translation:[-0.4f,-0.2565f,-0.4f],\
+ left_rotation:[0f,0f,0f,1f],\
+ scale:[0.8f,0.9f,0.8f],\
+ right_rotation:[0f,0f,0f,1f]\
+ }\
+ }\
+ ]\
+}
data modify storage gm4_blossoming_pots:flower_pots minecraft:spore_blossom set value {\
place_sound:"minecraft:block.spore_blossom.place",\
@@ -324,6 +428,24 @@ data modify storage gm4_blossoming_pots:flower_pots minecraft:spore_blossom set
]\
}
+data modify storage gm4_blossoming_pots:flower_pots minecraft:firefly_bush set value {\
+ place_sound:"minecraft:block.sweet_berry_bush.place",\
+ maximum:1,\
+ 1:[\
+ {\
+ block_state:{\
+ Name:"minecraft:firefly_bush"\
+ },\
+ transformation:{\
+ translation:[-0.3f,-0.2565f,-0.3f],\
+ left_rotation:[0f,0f,0f,1f],\
+ scale:[0.6f,0.6f,0.6f],\
+ right_rotation:[0f,0f,0f,1f]\
+ }\
+ }\
+ ]\
+}
+
data modify storage gm4_blossoming_pots:flower_pots minecraft:sugar_cane set value {\
place_sound:"minecraft:block.grass.place",\
maximum:1,\
@@ -478,6 +600,23 @@ data modify storage gm4_blossoming_pots:flower_pots minecraft:large_fern set val
}\
]\
}
+data modify storage gm4_blossoming_pots:flower_pots minecraft:tall_dry_grass set value {\
+ place_sound:"minecraft:item.bone_meal.use",\
+ maximum:1,\
+ 1:[\
+ {\
+ block_state:{\
+ Name:"minecraft:tall_dry_grass"\
+ },\
+ transformation:{\
+ translation:[-0.325f,-0.2565f,-0.325f],\
+ left_rotation:[0f,0f,0f,1f],\
+ scale:[0.65f,0.65f,0.65f],\
+ right_rotation:[0f,0f,0f,1f]\
+ }\
+ }\
+ ]\
+}
# default sunflower rotation is sunflower facing east, player should be facing west
data modify storage gm4_blossoming_pots:flower_pots minecraft:sunflower set value {\
diff --git a/gm4_blossoming_pots/data/gm4_blossoming_pots/function/vanilla_pot_handling/in_vanilla_flower_pot.mcfunction b/gm4_blossoming_pots/data/gm4_blossoming_pots/function/vanilla_pot_handling/in_vanilla_flower_pot.mcfunction
index 9970d98703..cc9e9d6875 100644
--- a/gm4_blossoming_pots/data/gm4_blossoming_pots/function/vanilla_pot_handling/in_vanilla_flower_pot.mcfunction
+++ b/gm4_blossoming_pots/data/gm4_blossoming_pots/function/vanilla_pot_handling/in_vanilla_flower_pot.mcfunction
@@ -4,7 +4,7 @@
# run from vanilla_pot_handling/raycast
# merge marker data for if it doesn't get killed
-data merge entity @s {Tags:["gm4_blossoming_pots.temp.vanilla_flower_pot","smithed.strict","smithed.entity"],CustomName:'{"text":"gm4_blossoming_pots.temp_marker"}'}
+data merge entity @s {Tags:["gm4_blossoming_pots.temp.vanilla_flower_pot","smithed.strict","smithed.entity"],CustomName:{"text":"gm4_blossoming_pots.temp_marker"}}
# if temp marker in physical hit box, return 1
# dxdydz all 0 bc of MC-123441.
diff --git a/gm4_blossoming_pots/data/gm4_blossoming_pots/guidebook/blossoming_pots.json b/gm4_blossoming_pots/data/gm4_blossoming_pots/guidebook/blossoming_pots.json
index fa517beca1..0ff22d9f02 100644
--- a/gm4_blossoming_pots/data/gm4_blossoming_pots/guidebook/blossoming_pots.json
+++ b/gm4_blossoming_pots/data/gm4_blossoming_pots/guidebook/blossoming_pots.json
@@ -42,13 +42,13 @@
[
{
"translate": "text.gm4.guidebook.blossoming_pots.item_list.1",
- "fallback": "§nSupported Items:§r\n\nVanilla Flower Pot\n plants\nPale hanging moss\nPointed dripstone\nAmethyst crystals\nLeaves\nShort & tall grass\nLush cave plants"
+ "fallback": "§nSupported Items:§r\n\nVanilla Flower Pot\n plants\nPale hanging moss\nPointed dripstone\nAmethyst crystals\nLeaves\nGrass plants\nLush cave plants"
}
],
[
{
"translate": "text.gm4.guidebook.blossoming_pots.item_list.2",
- "fallback": "§nSupported Items:§r\n\nSugar cane\nNether vines\n2 tall plants\nChorus flower\nNon-sniffer seeds\nNether wart\nSweet berries\nCoral reef plants"
+ "fallback": "§nSupported Items:§r\n\nSugar cane\nNether vines\n2 tall plants\nChorus flower\nNon-sniffer seeds\nNether wart\nBush plants\nCoral reef plants\nCactus Flower"
}
]
]
diff --git a/gm4_blossoming_pots/data/gm4_blossoming_pots/tags/block/potted_plants.json b/gm4_blossoming_pots/data/gm4_blossoming_pots/tags/block/potted_plants.json
index 1c0afd86e0..adf43db9b2 100644
--- a/gm4_blossoming_pots/data/gm4_blossoming_pots/tags/block/potted_plants.json
+++ b/gm4_blossoming_pots/data/gm4_blossoming_pots/tags/block/potted_plants.json
@@ -33,7 +33,10 @@
"minecraft:potted_warped_fungus",
"minecraft:potted_crimson_roots",
"minecraft:potted_warped_roots",
- "minecraft:potted_mangrove_propagule"
+ "minecraft:potted_mangrove_propagule",
+ "minecraft:potted_closed_eyeblossom",
+ "minecraft:potted_open_eyeblossom",
+ "minecraft:potted_pale_oak_sapling"
]
}
\ No newline at end of file
diff --git a/gm4_blossoming_pots/data/gm4_blossoming_pots/tags/item/potable_plants.json b/gm4_blossoming_pots/data/gm4_blossoming_pots/tags/item/potable_plants.json
index 688665b0b2..ef8adc1fb5 100644
--- a/gm4_blossoming_pots/data/gm4_blossoming_pots/tags/item/potable_plants.json
+++ b/gm4_blossoming_pots/data/gm4_blossoming_pots/tags/item/potable_plants.json
@@ -33,7 +33,10 @@
"minecraft:warped_fungus",
"minecraft:crimson_roots",
"minecraft:warped_roots",
- "minecraft:mangrove_propagule"
+ "minecraft:mangrove_propagule",
+ "minecraft:closed_eyeblossom",
+ "minecraft:open_eyeblossom",
+ "minecraft:pale_oak_sapling"
]
}
\ No newline at end of file
diff --git a/gm4_blossoming_pots/since_61/data/gm4_blossoming_pots/function/decorated/set_storage.mcfunction b/gm4_blossoming_pots/since_61/data/gm4_blossoming_pots/function/decorated/set_storage.mcfunction
deleted file mode 100644
index df09e1b6df..0000000000
--- a/gm4_blossoming_pots/since_61/data/gm4_blossoming_pots/function/decorated/set_storage.mcfunction
+++ /dev/null
@@ -1,4205 +0,0 @@
-# Sets command storage for decorated pot plants
-# @s = null
-# run from init
-
-
-# Data storage layout
- # gm4_blossoming_pots:decorated_pots :
- # place_sound: sound file to play when succesfully adding plant or changing stage, include namespace
- # maximum: the number of stages / arrays. The maximum number of items the pot can take
- # 1:[] array of starting data for the all the block displays used in this stage, all data
- # 2:[] array of starting data for the all the block displays used in this stage, all data
- # ......
-
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:pale_hanging_moss set value {\
- place_sound:"minecraft:block.moss_carpet.place",\
- maximum:3,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:pale_hanging_moss",\
- Properties:{\
- tip:"true"\
- }\
- },\
- transformation:{\
- translation:[-0.35f,1.443f,0.35f],\
- left_rotation:[0.707f,0f,0f,0.707f],\
- scale:[0.7f,0.7f,0.7f],\
- right_rotation:[0.707f,0f,0f,0.707f]\
- }\
- }\
- ],\
- 2:[\
- {\
- block_state:{\
- Name:"minecraft:pale_hanging_moss",\
- Properties:{\
- tip:"true"\
- }\
- },\
- transformation:{\
- translation:[-0.35f,2.1425f,0.35f],\
- left_rotation:[0.707f,0f,0f,0.707f],\
- scale:[0.7f,0.7f,0.7f],\
- right_rotation:[0.707f,0f,0f,0.707f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:pale_hanging_moss",\
- Properties:{\
- tip:"false"\
- }\
- },\
- transformation:{\
- translation:[-0.35f,1.443f,0.35f],\
- left_rotation:[0.707f,0f,0f,0.707f],\
- scale:[0.7f,0.7f,0.7f],\
- right_rotation:[0.707f,0f,0f,0.707f]\
- }\
- }\
- ],\
- 3:[\
- {\
- block_state:{\
- Name:"minecraft:pale_hanging_moss",\
- Properties:{\
- tip:"true"\
- }\
- },\
- transformation:{\
- translation:[-0.35f,2.842f,0.35f],\
- left_rotation:[0.707f,0f,0f,0.707f],\
- scale:[0.7f,0.7f,0.7f],\
- right_rotation:[0.707f,0f,0f,0.707f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:pale_hanging_moss",\
- Properties:{\
- tip:"false"\
- }\
- },\
- transformation:{\
- translation:[-0.35f,2.1425f,0.35f],\
- left_rotation:[0.707f,0f,0f,0.707f],\
- scale:[0.7f,0.7f,0.7f],\
- right_rotation:[0.707f,0f,0f,0.707f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:pale_hanging_moss",\
- Properties:{\
- tip:"false"\
- }\
- },\
- transformation:{\
- translation:[-0.35f,1.443f,0.35f],\
- left_rotation:[0.707f,0f,0f,0.707f],\
- scale:[0.7f,0.7f,0.7f],\
- right_rotation:[0.707f,0f,0f,0.707f]\
- }\
- }\
- ]\
-}
-
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:pointed_dripstone set value {\
- place_sound:"minecraft:block.pointed_dripstone.place",\
- maximum:3,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:pointed_dripstone",\
- Properties:{\
- vertical_direction:"down",\
- thickness:"frustum"\
- }\
- },\
- transformation:{\
- translation:[-0.35f,1.4435f,0.35f],\
- left_rotation:[0.707f,0f,0f,0.707f],\
- scale:[0.7f,0.7f,0.7f],\
- right_rotation:[0.707f,0f,0f,0.707f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:pointed_dripstone",\
- Properties:{\
- vertical_direction:"down",\
- thickness:"tip"\
- }\
- },\
- transformation:{\
- translation:[-0.35f,2.143f,0.35f],\
- left_rotation:[0.707f,0f,0f,0.707f],\
- scale:[0.7f,0.7f,0.7f],\
- right_rotation:[0.707f,0f,0f,0.707f]\
- }\
- }\
- ],\
- 2:[\
- {\
- block_state:{\
- Name:"minecraft:pointed_dripstone",\
- Properties:{\
- vertical_direction:"down",\
- thickness:"middle"\
- }\
- },\
- transformation:{\
- translation:[-0.35f,1.4435f,0.35f],\
- left_rotation:[0.707f,0f,0f,0.707f],\
- scale:[0.7f,0.7f,0.7f],\
- right_rotation:[0.707f,0f,0f,0.707f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:pointed_dripstone",\
- Properties:{\
- vertical_direction:"down",\
- thickness:"frustum"\
- }\
- },\
- transformation:{\
- translation:[-0.35f,2.143f,0.35f],\
- left_rotation:[0.707f,0f,0f,0.707f],\
- scale:[0.7f,0.7f,0.7f],\
- right_rotation:[0.707f,0f,0f,0.707f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:pointed_dripstone",\
- Properties:{\
- vertical_direction:"down",\
- thickness:"tip"\
- }\
- },\
- transformation:{\
- translation:[-0.35f,2.8425f,0.35f],\
- left_rotation:[0.707f,0f,0f,0.707f],\
- scale:[0.7f,0.7f,0.7f],\
- right_rotation:[0.707f,0f,0f,0.707f]\
- }\
- }\
- ],\
- 3:[\
- {\
- block_state:{\
- Name:"minecraft:pointed_dripstone",\
- Properties:{\
- vertical_direction:"down",\
- thickness:"middle"\
- }\
- },\
- transformation:{\
- translation:[-0.35f,1.4435f,0.35f],\
- left_rotation:[0.707f,0f,0f,0.707f],\
- scale:[0.7f,0.7f,0.7f],\
- right_rotation:[0.707f,0f,0f,0.707f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:pointed_dripstone",\
- Properties:{\
- vertical_direction:"down",\
- thickness:"middle"\
- }\
- },\
- transformation:{\
- translation:[-0.35f,2.143f,0.35f],\
- left_rotation:[0.707f,0f,0f,0.707f],\
- scale:[0.7f,0.7f,0.7f],\
- right_rotation:[0.707f,0f,0f,0.707f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:pointed_dripstone",\
- Properties:{\
- vertical_direction:"down",\
- thickness:"frustum"\
- }\
- },\
- transformation:{\
- translation:[-0.35f,2.8425f,0.35f],\
- left_rotation:[0.707f,0f,0f,0.707f],\
- scale:[0.7f,0.7f,0.7f],\
- right_rotation:[0.707f,0f,0f,0.707f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:pointed_dripstone",\
- Properties:{\
- vertical_direction:"down",\
- thickness:"tip"\
- }\
- },\
- transformation:{\
- translation:[-0.35f,3.542f,0.35f],\
- left_rotation:[0.707f,0f,0f,0.707f],\
- scale:[0.7f,0.7f,0.7f],\
- right_rotation:[0.707f,0f,0f,0.707f]\
- }\
- }\
- ]\
-}
-
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:small_amethyst_bud set value {\
- place_sound:"minecraft:block.small_amethyst_bud.place",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:small_amethyst_bud"\
- },\
- transformation:{\
- translation:[-0.4f,0.7435f,-0.4f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.8f,0.8f,0.8f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:medium_amethyst_bud set value {\
- place_sound:"minecraft:block.medium_amethyst_bud.place",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:medium_amethyst_bud"\
- },\
- transformation:{\
- translation:[-0.4f,0.7435f,-0.4f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.8f,0.8f,0.8f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:large_amethyst_bud set value {\
- place_sound:"minecraft:block.large_amethyst_bud.place",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:large_amethyst_bud"\
- },\
- transformation:{\
- translation:[-0.4f,0.7435f,-0.4f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.8f,0.8f,0.8f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:amethyst_cluster set value {\
- place_sound:"minecraft:block.amethyst_cluster.place",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:amethyst_cluster"\
- },\
- transformation:{\
- translation:[-0.4f,0.7435f,-0.4f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.8f,0.8f,0.8f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-
-# For all leaves, empty no rotated middle, no inverted
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:oak_leaves set value {\
- place_sound:"minecraft:item.bone_meal.use",\
- maximum:3,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:oak_leaves"\
- },\
- transformation:{\
- translation:[-0.375f,0.7435f,-0.375f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.75f,0.75f,0.75f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ],\
- 2:[\
- {\
- block_state:{\
- Name:"minecraft:oak_leaves"\
- },\
- transformation:{\
- translation:[-0.375f,0.7435f,-0.375f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.75f,0.75f,0.75f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:oak_leaves"\
- },\
- transformation:{\
- translation:[-0.375f,1.4935f,-0.375f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.75f,0.75f,0.75f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ],\
- 3:[\
- {\
- block_state:{\
- Name:"minecraft:oak_leaves"\
- },\
- transformation:{\
- translation:[-0.375f,0.7435f,-0.375f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.75f,0.75f,0.75f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:oak_leaves"\
- },\
- transformation:{\
- translation:[-0.375f,1.4935f,-0.375f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.75f,0.75f,0.75f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:oak_leaves"\
- },\
- transformation:{\
- translation:[-0.375f,2.2435f,-0.375f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.75f,0.75f,0.75f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:spruce_leaves set value {\
- place_sound:"minecraft:item.bone_meal.use",\
- maximum:3,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:spruce_leaves"\
- },\
- transformation:{\
- translation:[-0.375f,0.7435f,-0.375f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.75f,0.75f,0.75f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ],\
- 2:[\
- {\
- block_state:{\
- Name:"minecraft:spruce_leaves"\
- },\
- transformation:{\
- translation:[-0.375f,0.7435f,-0.375f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.75f,0.75f,0.75f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:spruce_leaves"\
- },\
- transformation:{\
- translation:[-0.375f,1.4935f,-0.375f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.75f,0.75f,0.75f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ],\
- 3:[\
- {\
- block_state:{\
- Name:"minecraft:spruce_leaves"\
- },\
- transformation:{\
- translation:[-0.375f,0.7435f,-0.375f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.75f,0.75f,0.75f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:spruce_leaves"\
- },\
- transformation:{\
- translation:[-0.375f,1.4935f,-0.375f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.75f,0.75f,0.75f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:spruce_leaves"\
- },\
- transformation:{\
- translation:[-0.375f,2.2435f,-0.375f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.75f,0.75f,0.75f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:birch_leaves set value {\
- place_sound:"minecraft:item.bone_meal.use",\
- maximum:3,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:birch_leaves"\
- },\
- transformation:{\
- translation:[-0.375f,0.7435f,-0.375f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.75f,0.75f,0.75f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ],\
- 2:[\
- {\
- block_state:{\
- Name:"minecraft:birch_leaves"\
- },\
- transformation:{\
- translation:[-0.375f,0.7435f,-0.375f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.75f,0.75f,0.75f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:birch_leaves"\
- },\
- transformation:{\
- translation:[-0.375f,1.4935f,-0.375f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.75f,0.75f,0.75f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ],\
- 3:[\
- {\
- block_state:{\
- Name:"minecraft:birch_leaves"\
- },\
- transformation:{\
- translation:[-0.375f,0.7435f,-0.375f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.75f,0.75f,0.75f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:birch_leaves"\
- },\
- transformation:{\
- translation:[-0.375f,1.4935f,-0.375f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.75f,0.75f,0.75f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:birch_leaves"\
- },\
- transformation:{\
- translation:[-0.375f,2.2435f,-0.375f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.75f,0.75f,0.75f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:jungle_leaves set value {\
- place_sound:"minecraft:item.bone_meal.use",\
- maximum:3,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:jungle_leaves"\
- },\
- transformation:{\
- translation:[-0.375f,0.7435f,-0.375f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.75f,0.75f,0.75f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ],\
- 2:[\
- {\
- block_state:{\
- Name:"minecraft:jungle_leaves"\
- },\
- transformation:{\
- translation:[-0.375f,0.7435f,-0.375f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.75f,0.75f,0.75f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:jungle_leaves"\
- },\
- transformation:{\
- translation:[-0.375f,1.4935f,-0.375f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.75f,0.75f,0.75f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ],\
- 3:[\
- {\
- block_state:{\
- Name:"minecraft:jungle_leaves"\
- },\
- transformation:{\
- translation:[-0.375f,0.7435f,-0.375f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.75f,0.75f,0.75f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:jungle_leaves"\
- },\
- transformation:{\
- translation:[-0.375f,1.4935f,-0.375f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.75f,0.75f,0.75f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:jungle_leaves"\
- },\
- transformation:{\
- translation:[-0.375f,2.2435f,-0.375f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.75f,0.75f,0.75f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:acacia_leaves set value {\
- place_sound:"minecraft:item.bone_meal.use",\
- maximum:3,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:acacia_leaves"\
- },\
- transformation:{\
- translation:[-0.375f,0.7435f,-0.375f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.75f,0.75f,0.75f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ],\
- 2:[\
- {\
- block_state:{\
- Name:"minecraft:acacia_leaves"\
- },\
- transformation:{\
- translation:[-0.375f,0.7435f,-0.375f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.75f,0.75f,0.75f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:acacia_leaves"\
- },\
- transformation:{\
- translation:[-0.375f,1.4935f,-0.375f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.75f,0.75f,0.75f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ],\
- 3:[\
- {\
- block_state:{\
- Name:"minecraft:acacia_leaves"\
- },\
- transformation:{\
- translation:[-0.375f,0.7435f,-0.375f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.75f,0.75f,0.75f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:acacia_leaves"\
- },\
- transformation:{\
- translation:[-0.375f,1.4935f,-0.375f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.75f,0.75f,0.75f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:acacia_leaves"\
- },\
- transformation:{\
- translation:[-0.375f,2.2435f,-0.375f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.75f,0.75f,0.75f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:dark_oak_leaves set value {\
- place_sound:"minecraft:item.bone_meal.use",\
- maximum:3,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:dark_oak_leaves"\
- },\
- transformation:{\
- translation:[-0.375f,0.7435f,-0.375f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.75f,0.75f,0.75f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ],\
- 2:[\
- {\
- block_state:{\
- Name:"minecraft:dark_oak_leaves"\
- },\
- transformation:{\
- translation:[-0.375f,0.7435f,-0.375f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.75f,0.75f,0.75f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:dark_oak_leaves"\
- },\
- transformation:{\
- translation:[-0.375f,1.4935f,-0.375f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.75f,0.75f,0.75f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ],\
- 3:[\
- {\
- block_state:{\
- Name:"minecraft:dark_oak_leaves"\
- },\
- transformation:{\
- translation:[-0.375f,0.7435f,-0.375f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.75f,0.75f,0.75f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:dark_oak_leaves"\
- },\
- transformation:{\
- translation:[-0.375f,1.4935f,-0.375f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.75f,0.75f,0.75f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:dark_oak_leaves"\
- },\
- transformation:{\
- translation:[-0.375f,2.2435f,-0.375f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.75f,0.75f,0.75f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:mangrove_leaves set value {\
- place_sound:"minecraft:item.bone_meal.use",\
- maximum:3,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:mangrove_leaves"\
- },\
- transformation:{\
- translation:[-0.375f,0.7435f,-0.375f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.75f,0.75f,0.75f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ],\
- 2:[\
- {\
- block_state:{\
- Name:"minecraft:mangrove_leaves"\
- },\
- transformation:{\
- translation:[-0.375f,0.7435f,-0.375f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.75f,0.75f,0.75f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:mangrove_leaves"\
- },\
- transformation:{\
- translation:[-0.375f,1.4935f,-0.375f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.75f,0.75f,0.75f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ],\
- 3:[\
- {\
- block_state:{\
- Name:"minecraft:mangrove_leaves"\
- },\
- transformation:{\
- translation:[-0.375f,0.7435f,-0.375f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.75f,0.75f,0.75f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:mangrove_leaves"\
- },\
- transformation:{\
- translation:[-0.375f,1.4935f,-0.375f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.75f,0.75f,0.75f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:mangrove_leaves"\
- },\
- transformation:{\
- translation:[-0.375f,2.2435f,-0.375f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.75f,0.75f,0.75f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:cherry_leaves set value {\
- place_sound:"minecraft:block.cherry_leaves.place",\
- maximum:3,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:cherry_leaves"\
- },\
- transformation:{\
- translation:[-0.375f,0.7435f,-0.375f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.75f,0.75f,0.75f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ],\
- 2:[\
- {\
- block_state:{\
- Name:"minecraft:cherry_leaves"\
- },\
- transformation:{\
- translation:[-0.375f,0.7435f,-0.375f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.75f,0.75f,0.75f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:cherry_leaves"\
- },\
- transformation:{\
- translation:[-0.375f,1.4935f,-0.375f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.75f,0.75f,0.75f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ],\
- 3:[\
- {\
- block_state:{\
- Name:"minecraft:cherry_leaves"\
- },\
- transformation:{\
- translation:[-0.375f,0.7435f,-0.375f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.75f,0.75f,0.75f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:cherry_leaves"\
- },\
- transformation:{\
- translation:[-0.375f,1.4935f,-0.375f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.75f,0.75f,0.75f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:cherry_leaves"\
- },\
- transformation:{\
- translation:[-0.375f,2.2435f,-0.375f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.75f,0.75f,0.75f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:pale_oak_leaves set value {\
- place_sound:"minecraft:block.grass.place",\
- maximum:3,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:pale_oak_leaves"\
- },\
- transformation:{\
- translation:[-0.375f,0.7435f,-0.375f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.75f,0.75f,0.75f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ],\
- 2:[\
- {\
- block_state:{\
- Name:"minecraft:pale_oak_leaves"\
- },\
- transformation:{\
- translation:[-0.375f,0.7435f,-0.375f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.75f,0.75f,0.75f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:pale_oak_leaves"\
- },\
- transformation:{\
- translation:[-0.375f,1.4935f,-0.375f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.75f,0.75f,0.75f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ],\
- 3:[\
- {\
- block_state:{\
- Name:"minecraft:pale_oak_leaves"\
- },\
- transformation:{\
- translation:[-0.375f,0.7435f,-0.375f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.75f,0.75f,0.75f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:pale_oak_leaves"\
- },\
- transformation:{\
- translation:[-0.375f,1.4935f,-0.375f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.75f,0.75f,0.75f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:pale_oak_leaves"\
- },\
- transformation:{\
- translation:[-0.375f,2.2435f,-0.375f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.75f,0.75f,0.75f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:azalea_leaves set value {\
- place_sound:"minecraft:block.azalea_leaves.place",\
- maximum:3,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:azalea_leaves"\
- },\
- transformation:{\
- translation:[-0.375f,0.7435f,-0.375f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.75f,0.75f,0.75f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ],\
- 2:[\
- {\
- block_state:{\
- Name:"minecraft:azalea_leaves"\
- },\
- transformation:{\
- translation:[-0.375f,0.7435f,-0.375f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.75f,0.75f,0.75f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:azalea_leaves"\
- },\
- transformation:{\
- translation:[-0.375f,1.4935f,-0.375f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.75f,0.75f,0.75f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ],\
- 3:[\
- {\
- block_state:{\
- Name:"minecraft:azalea_leaves"\
- },\
- transformation:{\
- translation:[-0.375f,0.7435f,-0.375f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.75f,0.75f,0.75f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:azalea_leaves"\
- },\
- transformation:{\
- translation:[-0.375f,1.4935f,-0.375f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.75f,0.75f,0.75f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:azalea_leaves"\
- },\
- transformation:{\
- translation:[-0.375f,2.2435f,-0.375f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.75f,0.75f,0.75f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:flowering_azalea_leaves set value {\
- place_sound:"minecraft:block.azalea_leaves.place",\
- maximum:3,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:flowering_azalea_leaves"\
- },\
- transformation:{\
- translation:[-0.375f,0.7435f,-0.375f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.75f,0.75f,0.75f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ],\
- 2:[\
- {\
- block_state:{\
- Name:"minecraft:flowering_azalea_leaves"\
- },\
- transformation:{\
- translation:[-0.375f,0.7435f,-0.375f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.75f,0.75f,0.75f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:flowering_azalea_leaves"\
- },\
- transformation:{\
- translation:[-0.375f,1.4935f,-0.375f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.75f,0.75f,0.75f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ],\
- 3:[\
- {\
- block_state:{\
- Name:"minecraft:flowering_azalea_leaves"\
- },\
- transformation:{\
- translation:[-0.375f,0.7435f,-0.375f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.75f,0.75f,0.75f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:flowering_azalea_leaves"\
- },\
- transformation:{\
- translation:[-0.375f,1.4935f,-0.375f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.75f,0.75f,0.75f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:flowering_azalea_leaves"\
- },\
- transformation:{\
- translation:[-0.375f,2.2435f,-0.375f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.75f,0.75f,0.75f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-
-# Sapling second stages with vanilla tweaks has a lighting bug at certain angles, so the second stage rotates it back to 0
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:oak_sapling set value {\
- place_sound:"minecraft:item.bone_meal.use",\
- maximum:2,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:oak_sapling"\
- },\
- transformation:{\
- translation:[-0.5f,0.681f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ],\
- 2:[\
- {\
- block_state:{\
- Name:"minecraft:oak_sapling",\
- Properties:{\
- stage:"1"\
- }\
- },\
- transformation:{\
- translation:[-0.5f,0.681f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- },\
- Rotation:[0f,0f]\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:spruce_sapling set value {\
- place_sound:"minecraft:item.bone_meal.use",\
- maximum:2,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:spruce_sapling"\
- },\
- transformation:{\
- translation:[-0.5f,0.681f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ],\
- 2:[\
- {\
- block_state:{\
- Name:"minecraft:spruce_sapling",\
- Properties:{\
- stage:"1"\
- }\
- },\
- transformation:{\
- translation:[-0.5f,0.681f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- },\
- Rotation:[0f,0f]\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:birch_sapling set value {\
- place_sound:"minecraft:item.bone_meal.use",\
- maximum:2,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:birch_sapling"\
- },\
- transformation:{\
- translation:[-0.5f,0.681f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ],\
- 2:[\
- {\
- block_state:{\
- Name:"minecraft:birch_sapling",\
- Properties:{\
- stage:"1"\
- }\
- },\
- transformation:{\
- translation:[-0.5f,0.681f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- },\
- Rotation:[0f,0f]\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:jungle_sapling set value {\
- place_sound:"minecraft:item.bone_meal.use",\
- maximum:2,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:jungle_sapling"\
- },\
- transformation:{\
- translation:[-0.5f,0.681f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ],\
- 2:[\
- {\
- block_state:{\
- Name:"minecraft:jungle_sapling",\
- Properties:{\
- stage:"1"\
- }\
- },\
- transformation:{\
- translation:[-0.5f,0.681f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- },\
- Rotation:[0f,0f]\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:acacia_sapling set value {\
- place_sound:"minecraft:item.bone_meal.use",\
- maximum:2,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:acacia_sapling"\
- },\
- transformation:{\
- translation:[-0.5f,0.681f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ],\
- 2:[\
- {\
- block_state:{\
- Name:"minecraft:acacia_sapling",\
- Properties:{\
- stage:"1"\
- }\
- },\
- transformation:{\
- translation:[-0.5f,0.681f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- },\
- Rotation:[0f,0f]\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:dark_oak_sapling set value {\
- place_sound:"minecraft:item.bone_meal.use",\
- maximum:2,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:dark_oak_sapling"\
- },\
- transformation:{\
- translation:[-0.5f,0.681f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ],\
- 2:[\
- {\
- block_state:{\
- Name:"minecraft:dark_oak_sapling",\
- Properties:{\
- stage:"1"\
- }\
- },\
- transformation:{\
- translation:[-0.5f,0.681f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- },\
- Rotation:[0f,0f]\
- }\
- ]\
-}
-# mangrove propagule doesn't have another stage for vanilla tweaks, but im adding support now incase VT adds it in the future
- # lighting bug also affects the default mangrove propagule, so it gets rotated immediately to 0
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:mangrove_propagule set value {\
- place_sound:"minecraft:item.bone_meal.use",\
- maximum:2,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:mangrove_propagule"\
- },\
- transformation:{\
- translation:[-0.5f,0.4935f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- },\
- Rotation:[0f,0f]\
- }\
- ],\
- 2:[\
- {\
- block_state:{\
- Name:"minecraft:mangrove_propagule",\
- Properties:{\
- stage:"1"\
- }\
- },\
- transformation:{\
- translation:[-0.5f,0.4935f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- },\
- Rotation:[0f,0f]\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:cherry_sapling set value {\
- place_sound:"minecraft:block.cherry_sapling.place",\
- maximum:2,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:cherry_sapling"\
- },\
- transformation:{\
- translation:[-0.5f,0.681f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ],\
- 2:[\
- {\
- block_state:{\
- Name:"minecraft:cherry_sapling",\
- Properties:{\
- stage:"1"\
- }\
- },\
- transformation:{\
- translation:[-0.5f,0.681f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- },\
- Rotation:[0f,0f]\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:pale_oak_sapling set value {\
- place_sound:"minecraft:block.cherry_sapling.place",\
- maximum:2,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:pale_oak_sapling"\
- },\
- transformation:{\
- translation:[-0.5f,0.681f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ],\
- 2:[\
- {\
- block_state:{\
- Name:"minecraft:pale_oak_sapling",\
- Properties:{\
- stage:"1"\
- }\
- },\
- transformation:{\
- translation:[-0.5f,0.681f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- },\
- Rotation:[0f,0f]\
- }\
- ]\
-}
-
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:azalea set value {\
- place_sound:"minecraft:block.azalea.place",\
- maximum:3,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:azalea"\
- },\
- transformation:{\
- translation:[-0.25f,0.7435f,-0.25f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ],\
- 2:[\
- {\
- block_state:{\
- Name:"minecraft:azalea"\
- },\
- transformation:{\
- translation:[-0.35f,0.7435f,-0.35f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.7f,0.7f,0.7f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ],\
- 3:[\
- {\
- block_state:{\
- Name:"minecraft:azalea"\
- },\
- transformation:{\
- translation:[-0.45f,0.7435f,-0.45f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.9f,0.9f,0.9f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:flowering_azalea set value {\
- place_sound:"minecraft:block.flowering_azalea.place",\
- maximum:3,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:flowering_azalea"\
- },\
- transformation:{\
- translation:[-0.25f,0.7435f,-0.25f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ],\
- 2:[\
- {\
- block_state:{\
- Name:"minecraft:flowering_azalea"\
- },\
- transformation:{\
- translation:[-0.35f,0.7435f,-0.35f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.7f,0.7f,0.7f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ],\
- 3:[\
- {\
- block_state:{\
- Name:"minecraft:flowering_azalea"\
- },\
- transformation:{\
- translation:[-0.45f,0.7435f,-0.45f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.9f,0.9f,0.9f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ],\
-}
-
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:brown_mushroom set value {\
- place_sound:"minecraft:item.bone_meal.use",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:brown_mushroom"\
- },\
- transformation:{\
- translation:[-0.5f,0.7435f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:red_mushroom set value {\
- place_sound:"minecraft:item.bone_meal.use",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:red_mushroom"\
- },\
- transformation:{\
- translation:[-0.5f,0.7435f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:crimson_fungus set value {\
- place_sound:"minecraft:block.fungus.place",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:crimson_fungus"\
- },\
- transformation:{\
- translation:[-0.5f,0.681f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:warped_fungus set value {\
- place_sound:"minecraft:block.fungus.place",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:warped_fungus"\
- },\
- transformation:{\
- translation:[-0.5f,0.681f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:short_grass set value {\
- place_sound:"minecraft:item.bone_meal.use",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:short_grass"\
- },\
- transformation:{\
- translation:[-0.361f,0.65325f,-0.361f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.722f,0.722f,0.722f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:fern set value {\
- place_sound:"minecraft:item.bone_meal.use",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:fern"\
- },\
- transformation:{\
- translation:[-0.5f,0.4935f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:dead_bush set value {\
- place_sound:"minecraft:item.bone_meal.use",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:dead_bush"\
- },\
- transformation:{\
- translation:[-0.5f,0.7435f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:dandelion set value {\
- place_sound:"minecraft:item.bone_meal.use",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:dandelion"\
- },\
- transformation:{\
- translation:[-0.5f,0.681f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:poppy set value {\
- place_sound:"minecraft:item.bone_meal.use",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:poppy"\
- },\
- transformation:{\
- translation:[-0.5f,0.681f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:blue_orchid set value {\
- place_sound:"minecraft:item.bone_meal.use",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:blue_orchid"\
- },\
- transformation:{\
- translation:[-0.5f,0.681f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:allium set value {\
- place_sound:"minecraft:item.bone_meal.use",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:allium"\
- },\
- transformation:{\
- translation:[-0.5f,0.6185f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:azure_bluet set value {\
- place_sound:"minecraft:item.bone_meal.use",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:azure_bluet"\
- },\
- transformation:{\
- translation:[-0.5f,0.681f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:red_tulip set value {\
- place_sound:"minecraft:item.bone_meal.use",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:red_tulip"\
- },\
- transformation:{\
- translation:[-0.5f,0.681f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:orange_tulip set value {\
- place_sound:"minecraft:item.bone_meal.use",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:orange_tulip"\
- },\
- transformation:{\
- translation:[-0.5f,0.681f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:white_tulip set value {\
- place_sound:"minecraft:item.bone_meal.use",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:white_tulip"\
- },\
- transformation:{\
- translation:[-0.5f,0.681f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:pink_tulip set value {\
- place_sound:"minecraft:item.bone_meal.use",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:pink_tulip"\
- },\
- transformation:{\
- translation:[-0.5f,0.681f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:oxeye_daisy set value {\
- place_sound:"minecraft:item.bone_meal.use",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:oxeye_daisy"\
- },\
- transformation:{\
- translation:[-0.5f,0.681f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:cornflower set value {\
- place_sound:"minecraft:item.bone_meal.use",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:cornflower"\
- },\
- transformation:{\
- translation:[-0.5f,0.681f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:lily_of_the_valley set value {\
- place_sound:"minecraft:item.bone_meal.use",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:lily_of_the_valley"\
- },\
- transformation:{\
- translation:[-0.5f,0.681f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:torchflower set value {\
- place_sound:"minecraft:item.bone_meal.use",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:torchflower"\
- },\
- transformation:{\
- translation:[-0.5f,0.681f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:closed_eyeblossom set value {\
- place_sound:"minecraft:item.bone_meal.use",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:closed_eyeblossom"\
- },\
- transformation:{\
- translation:[-0.5f,0.681f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:open_eyeblossom set value {\
- place_sound:"minecraft:item.bone_meal.use",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:open_eyeblossom"\
- },\
- transformation:{\
- translation:[-0.5f,0.681f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:wither_rose set value {\
- place_sound:"minecraft:item.bone_meal.use",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:wither_rose"\
- },\
- transformation:{\
- translation:[-0.5f,0.681f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:spore_blossom set value {\
- place_sound:"minecraft:block.spore_blossom.place",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:spore_blossom"\
- },\
- transformation:{\
- translation:[-0.4f,1.54f,0.4f],\
- left_rotation:[0.707f,0f,0f,0.707f],\
- scale:[0.8f,0.8f,0.8f],\
- right_rotation:[0.707f,0f,0f,0.707f]\
- }\
- }\
- ]\
-}
-
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:bamboo set value {\
- place_sound:"minecraft:block.bamboo_sapling.place",\
- maximum:3,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:bamboo_sapling"\
- },\
- transformation:{\
- translation:[-0.5f,0.7435f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ],\
- 2:[\
- {\
- block_state:{\
- Name:"minecraft:bamboo",\
- Properties:{\
- leaves:"none"\
- }\
- },\
- transformation:{\
- translation:[-0.5f,0.7435f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:bamboo",\
- Properties:{\
- leaves:"small"\
- }\
- },\
- transformation:{\
- translation:[-0.5f,1.7435f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ],\
- 3:[\
- {\
- block_state:{\
- Name:"minecraft:bamboo",\
- Properties:{\
- leaves:"none",\
- age:"1"\
- }\
- },\
- transformation:{\
- translation:[-0.5f,0.7435f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:bamboo",\
- Properties:{\
- leaves:"small",\
- age:"1"\
- }\
- },\
- transformation:{\
- translation:[-0.5f,1.7435f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:bamboo",\
- Properties:{\
- leaves:"small",\
- age:"1"\
- }\
- },\
- transformation:{\
- translation:[-0.5f,2.7435f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:bamboo",\
- Properties:{\
- leaves:"large",\
- age:"1"\
- }\
- },\
- transformation:{\
- translation:[-0.5f,3.7435f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:sugar_cane set value {\
- place_sound:"minecraft:block.grass.place",\
- maximum:3,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:sugar_cane"\
- },\
- transformation:{\
- translation:[-0.25f,0.7435f,-0.25f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ],\
- 2:[\
- {\
- block_state:{\
- Name:"minecraft:sugar_cane"\
- },\
- transformation:{\
- translation:[-0.25f,0.7435f,-0.25f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:sugar_cane"\
- },\
- transformation:{\
- translation:[-0.25f,1.2435f,-0.25f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ],\
- 3:[\
- {\
- block_state:{\
- Name:"minecraft:sugar_cane"\
- },\
- transformation:{\
- translation:[-0.25f,0.7435f,-0.25f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:sugar_cane"\
- },\
- transformation:{\
- translation:[-0.25f,1.2435f,-0.25f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:sugar_cane"\
- },\
- transformation:{\
- translation:[-0.25f,1.7435f,-0.25f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-# Cactus
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:cactus set value {\
- place_sound:"minecraft:block.wool.place",\
- maximum:2,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:potted_cactus"\
- },\
- transformation:{\
- translation:[-0.5f,0.3684f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ],\
- 2:[\
- {\
- block_state:{\
- Name:"minecraft:potted_cactus"\
- },\
- transformation:{\
- translation:[-0.5f,0.3684f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:potted_cactus"\
- },\
- transformation:{\
- translation:[-0.2f,1.05f,-0.2f],\
- left_rotation:[0.328f,0f,0f,0.945f],\
- scale:[0.4f,0.4f,0.4f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:potted_cactus"\
- },\
- transformation:{\
- translation:[-0.2f,0.7f,-0.05f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.4f,0.4f,0.4f],\
- right_rotation:[-0.445f,0f,0f,0.895f]\
- }\
- }\
- ]\
-}
-
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:crimson_roots set value {\
- place_sound:"minecraft:block.roots.place",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:potted_crimson_roots"\
- },\
- transformation:{\
- translation:[-0.5f,0.353f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:warped_roots set value {\
- place_sound:"minecraft:block.roots.place",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:potted_warped_roots"\
- },\
- transformation:{\
- translation:[-0.5f,0.353f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:weeping_vines set value {\
- place_sound:"minecraft:block.weeping_vines.place",\
- maximum:3,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:weeping_vines"\
- },\
- transformation:{\
- translation:[-0.35f,2.1429f,0.35f],\
- left_rotation:[0.707f,0f,0f,0.707f],\
- scale:[0.7f,0.7f,0.7f],\
- right_rotation:[0.707f,0f,0f,0.707f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:weeping_vines_plant"\
- },\
- transformation:{\
- translation:[-0.35f,1.4434f,0.35f],\
- left_rotation:[0.707f,0f,0f,0.707f],\
- scale:[0.7f,0.7f,0.7f],\
- right_rotation:[0.707f,0f,0f,0.707f]\
- }\
- }\
- ],\
- 2:[\
- {\
- block_state:{\
- Name:"minecraft:weeping_vines"\
- },\
- transformation:{\
- translation:[-0.35f,2.8424f,0.35f],\
- left_rotation:[0.707f,0f,0f,0.707f],\
- scale:[0.7f,0.7f,0.7f],\
- right_rotation:[0.707f,0f,0f,0.707f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:weeping_vines_plant"\
- },\
- transformation:{\
- translation:[-0.35f,2.1429f,0.35f],\
- left_rotation:[0.707f,0f,0f,0.707f],\
- scale:[0.7f,0.7f,0.7f],\
- right_rotation:[0.707f,0f,0f,0.707f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:weeping_vines_plant"\
- },\
- transformation:{\
- translation:[-0.35f,1.4434f,0.35f],\
- left_rotation:[0.707f,0f,0f,0.707f],\
- scale:[0.7f,0.7f,0.7f],\
- right_rotation:[0.707f,0f,0f,0.707f]\
- }\
- }\
- ],\
- 3:[\
- {\
- block_state:{\
- Name:"minecraft:weeping_vines"\
- },\
- transformation:{\
- translation:[-0.35f,3.5419f,0.35f],\
- left_rotation:[0.707f,0f,0f,0.707f],\
- scale:[0.7f,0.7f,0.7f],\
- right_rotation:[0.707f,0f,0f,0.707f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:weeping_vines_plant"\
- },\
- transformation:{\
- translation:[-0.35f,2.8424f,0.35f],\
- left_rotation:[0.707f,0f,0f,0.707f],\
- scale:[0.7f,0.7f,0.7f],\
- right_rotation:[0.707f,0f,0f,0.707f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:weeping_vines_plant"\
- },\
- transformation:{\
- translation:[-0.35f,2.1429f,0.35f],\
- left_rotation:[0.707f,0f,0f,0.707f],\
- scale:[0.7f,0.7f,0.7f],\
- right_rotation:[0.707f,0f,0f,0.707f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:weeping_vines_plant"\
- },\
- transformation:{\
- translation:[-0.35f,1.4434f,0.35f],\
- left_rotation:[0.707f,0f,0f,0.707f],\
- scale:[0.7f,0.7f,0.7f],\
- right_rotation:[0.707f,0f,0f,0.707f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:twisting_vines set value {\
- place_sound:"minecraft:block.weeping_vines.place",\
- maximum:3,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:twisting_vines"\
- },\
- transformation:{\
- translation:[-0.375f,0.7435f,-0.375f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.75f,0.75f,0.75f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ],\
- 2:[\
- {\
- block_state:{\
- Name:"minecraft:twisting_vines"\
- },\
- transformation:{\
- translation:[-0.375f,1.4935f,-0.375f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.75f,0.75f,0.75f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:twisting_vines_plant"\
- },\
- transformation:{\
- translation:[-0.375f,0.7435f,-0.375f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.75f,0.75f,0.75f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ],\
- 3:[\
- {\
- block_state:{\
- Name:"minecraft:twisting_vines"\
- },\
- transformation:{\
- translation:[-0.375f,2.2435f,-0.375f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.75f,0.75f,0.75f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:twisting_vines_plant"\
- },\
- transformation:{\
- translation:[-0.375f,1.4935f,-0.375f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.75f,0.75f,0.75f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:twisting_vines_plant"\
- },\
- transformation:{\
- translation:[-0.375f,0.7435f,-0.375f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.75f,0.75f,0.75f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:tall_grass set value {\
- place_sound:"minecraft:item.bone_meal.use",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:tall_grass",\
- Properties:{\
- half:"lower"\
- }\
- },\
- transformation:{\
- translation:[-0.361f,0.65325f,-0.361f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.722f,0.722f,0.722f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:tall_grass",\
- Properties:{\
- half:"upper"\
- }\
- },\
- transformation:{\
- translation:[-0.361f,1.37525f,-0.361f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.722f,0.722f,0.722f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:large_fern set value {\
- place_sound:"minecraft:item.bone_meal.use",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:large_fern",\
- Properties:{\
- half:"lower"\
- }\
- },\
- transformation:{\
- translation:[-0.5f,0.6185f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:large_fern",\
- Properties:{\
- half:"upper"\
- }\
- },\
- transformation:{\
- translation:[-0.5f,1.6185f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-
-# default sunflower rotation is sunflower facing east, player should be facing west
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:sunflower set value {\
- place_sound:"minecraft:item.bone_meal.use",\
- maximum:2,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:sunflower",\
- Properties:{\
- half:"upper"\
- }\
- },\
- transformation:{\
- translation:[-0.5f,0.7435f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ],\
- 2:[\
- {\
- block_state:{\
- Name:"minecraft:sunflower",\
- Properties:{\
- half:"lower"\
- }\
- },\
- transformation:{\
- translation:[-0.5f,0.6185f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:sunflower",\
- Properties:{\
- half:"upper"\
- }\
- },\
- transformation:{\
- translation:[-0.5f,1.6185f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:lilac set value {\
- place_sound:"minecraft:item.bone_meal.use",\
- maximum:2,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:lilac",\
- Properties:{\
- half:"upper"\
- }\
- },\
- transformation:{\
- translation:[-0.5f,0.7435f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ],\
- 2:[\
- {\
- block_state:{\
- Name:"minecraft:lilac",\
- Properties:{\
- half:"lower"\
- }\
- },\
- transformation:{\
- translation:[-0.5f,0.6185f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:lilac",\
- Properties:{\
- half:"upper"\
- }\
- },\
- transformation:{\
- translation:[-0.5f,1.6185f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:rose_bush set value {\
- place_sound:"minecraft:item.bone_meal.use",\
- maximum:2,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:rose_bush",\
- Properties:{\
- half:"upper"\
- }\
- },\
- transformation:{\
- translation:[-0.5f,0.745f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ],\
- 2:[\
- {\
- block_state:{\
- Name:"minecraft:rose_bush",\
- Properties:{\
- half:"lower"\
- }\
- },\
- transformation:{\
- translation:[-0.5f,0.6185f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:rose_bush",\
- Properties:{\
- half:"upper"\
- }\
- },\
- transformation:{\
- translation:[-0.5f,1.6185f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:peony set value {\
- place_sound:"minecraft:item.bone_meal.use",\
- maximum:2,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:peony",\
- Properties:{\
- half:"upper"\
- }\
- },\
- transformation:{\
- translation:[-0.5f,0.745f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ],\
- 2:[\
- {\
- block_state:{\
- Name:"minecraft:peony",\
- Properties:{\
- half:"lower"\
- }\
- },\
- transformation:{\
- translation:[-0.5f,0.556f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:peony",\
- Properties:{\
- half:"upper"\
- }\
- },\
- transformation:{\
- translation:[-0.5f,1.556f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:pitcher_plant set value {\
- place_sound:"minecraft:item.crop.plant",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:pitcher_plant",\
- Properties:{\
- half:"lower"\
- }\
- },\
- transformation:{\
- translation:[-0.5f,0.6185f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:pitcher_plant",\
- Properties:{\
- half:"upper"\
- }\
- },\
- transformation:{\
- translation:[-0.5f,1.6185f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:big_dripleaf set value {\
- place_sound:"minecraft:block.big_dripleaf.place",\
- maximum:3,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:big_dripleaf",\
- Properties:{\
- facing:"east"\
- }\
- },\
- transformation:{\
- translation:[-0.25f,-0.019f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ],\
- 2:[\
- {\
- block_state:{\
- Name:"minecraft:big_dripleaf",\
- Properties:{\
- facing:"east"\
- }\
- },\
- transformation:{\
- translation:[-0.25f,0.271f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ],\
- 3:[\
- {\
- block_state:{\
- Name:"minecraft:big_dripleaf",\
- Properties:{\
- facing:"east"\
- }\
- },\
- transformation:{\
- translation:[-0.25f,0.56855f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:small_dripleaf set value {\
- place_sound:"minecraft:block.small_dripleaf.place",\
- maximum:2,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:small_dripleaf",\
- Properties:{\
- facing:"east",\
- half:"upper"\
- }\
- },\
- transformation:{\
- translation:[-0.5f,0.681f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ],\
- 2:[\
- {\
- block_state:{\
- Name:"minecraft:small_dripleaf",\
- Properties:{\
- facing:"east",\
- half:"lower"\
- }\
- },\
- transformation:{\
- translation:[-0.5f,0.306f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:small_dripleaf",\
- Properties:{\
- facing:"east",\
- half:"upper"\
- }\
- },\
- transformation:{\
- translation:[-0.5f,1.306f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:chorus_flower set value {\
- place_sound:"minecraft:block.chorus_flower.grow",\
- maximum:3,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:chorus_flower"\
- },\
- transformation:{\
- translation:[-0.25f,1.2435f,-0.75f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:chorus_flower"\
- },\
- transformation:{\
- translation:[-0.25f,1.7435f,0.25f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:chorus_plant",\
- Properties:{\
- down:"true",\
- up:"true"\
- }\
- },\
- transformation:{\
- translation:[-0.25f,0.7435f,-0.25f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:chorus_plant",\
- Properties:{\
- down:"true",\
- north:"true",\
- south:"true"\
- }\
- },\
- transformation:{\
- translation:[-0.25f,1.2435f,-0.25f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:chorus_plant",\
- Properties:{\
- up:"true",\
- north:"true"\
- }\
- },\
- transformation:{\
- translation:[-0.25f,1.2435f,0.25f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ],\
- 2:[\
- {\
- block_state:{\
- Name:"minecraft:chorus_flower"\
- },\
- transformation:{\
- translation:[-0.25f,2.2435f,-0.75f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:chorus_flower"\
- },\
- transformation:{\
- translation:[-0.25f,2.7435f,0.25f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:chorus_plant",\
- Properties:{\
- down:"true",\
- up:"true"\
- }\
- },\
- transformation:{\
- translation:[-0.25f,0.7435f,-0.25f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:chorus_plant",\
- Properties:{\
- down:"true",\
- north:"true",\
- south:"true"\
- }\
- },\
- transformation:{\
- translation:[-0.25f,1.2435f,-0.25f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:chorus_plant",\
- Properties:{\
- up:"true",\
- north:"true"\
- }\
- },\
- transformation:{\
- translation:[-0.25f,1.2435f,0.25f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:chorus_plant",\
- Properties:{\
- down:"true",\
- up:"true"\
- }\
- },\
- transformation:{\
- translation:[-0.25f,2.2435f,0.25f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:chorus_plant",\
- Properties:{\
- down:"true",\
- up:"true"\
- }\
- },\
- transformation:{\
- translation:[-0.25f,1.7435f,0.25f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:chorus_plant",\
- Properties:{\
- up:"true",\
- south:"true"\
- }\
- },\
- transformation:{\
- translation:[-0.25f,1.2435f,-0.75f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:chorus_plant",\
- Properties:{\
- down:"true",\
- up:"true"\
- }\
- },\
- transformation:{\
- translation:[-0.25f,1.7435f,-0.75f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ],\
- 3:[\
- {\
- block_state:{\
- Name:"minecraft:chorus_flower"\
- },\
- transformation:{\
- translation:[0.25f,3.2435f,-0.75f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:chorus_flower"\
- },\
- transformation:{\
- translation:[-0.75f,2.2435f,-0.75f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:chorus_plant",\
- Properties:{\
- down:"true",\
- up:"true"\
- }\
- },\
- transformation:{\
- translation:[-0.25f,0.7435f,-0.25f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:chorus_plant",\
- Properties:{\
- down:"true",\
- north:"true",\
- south:"true"\
- }\
- },\
- transformation:{\
- translation:[-0.25f,1.2435f,-0.25f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:chorus_plant",\
- Properties:{\
- up:"true",\
- north:"true"\
- }\
- },\
- transformation:{\
- translation:[-0.25f,1.2435f,0.25f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:chorus_plant",\
- Properties:{\
- down:"true",\
- up:"true"\
- }\
- },\
- transformation:{\
- translation:[-0.25f,2.2435f,0.25f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:chorus_plant",\
- Properties:{\
- down:"true",\
- up:"true"\
- }\
- },\
- transformation:{\
- translation:[-0.25f,1.7435f,0.25f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:chorus_plant",\
- Properties:{\
- up:"true",\
- south:"true"\
- }\
- },\
- transformation:{\
- translation:[-0.25f,1.2435f,-0.75f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:chorus_plant",\
- Properties:{\
- down:"true",\
- up:"true"\
- }\
- },\
- transformation:{\
- translation:[-0.25f,1.7435f,-0.75f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:chorus_plant",\
- Properties:{\
- down:"true",\
- north:"true",\
- south:"true"\
- }\
- },\
- transformation:{\
- translation:[-0.25f,2.7435f,0.25f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:chorus_plant",\
- Properties:{\
- up:"true",\
- north:"true"\
- }\
- },\
- transformation:{\
- translation:[-0.25f,2.7435f,0.75f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:chorus_plant",\
- Properties:{\
- up:"true",\
- south:"true"\
- }\
- },\
- transformation:{\
- translation:[-0.25f,2.7435f,-0.25f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:chorus_plant",\
- Properties:{\
- down:"true",\
- up:"true"\
- }\
- },\
- transformation:{\
- translation:[-0.25f,3.2435f,-0.25f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:chorus_plant",\
- Properties:{\
- down:"true",\
- west:"true",\
- east:"true"\
- }\
- },\
- transformation:{\
- translation:[-0.25f,2.2435f,-0.75f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:chorus_plant",\
- Properties:{\
- up:"true",\
- west:"true"\
- }\
- },\
- transformation:{\
- translation:[0.25f,2.2435f,-0.75f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:chorus_plant",\
- Properties:{\
- down:"true",\
- up:"true"\
- }\
- },\
- transformation:{\
- translation:[0.25f,2.7435f,-0.75f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:chorus_flower"\
- },\
- transformation:{\
- translation:[-0.25f,3.2435f,0.75f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:chorus_flower"\
- },\
- transformation:{\
- translation:[-0.25f,3.7435f,-0.25f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:hanging_roots set value {\
- place_sound:"minecraft:block.hanging_roots.place",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:hanging_roots"\
- },\
- transformation:{\
- translation:[-0.361f,1.37525f,0.361f],\
- left_rotation:[0.707f,0f,0f,0.707f],\
- scale:[0.722f,0.722f,0.722f],\
- right_rotation:[0.707f,0f,0f,0.707f]\
- }\
- }\
- ]\
-}
-
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:wheat_seeds set value {\
- place_sound:"minecraft:item.crop.plant",\
- maximum:3,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:wheat",\
- Properties:{\
- age:"2"\
- }\
- },\
- transformation:{\
- translation:[-0.25f,0.77475f,-0.25f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ],\
- 2:[\
- {\
- block_state:{\
- Name:"minecraft:wheat",\
- Properties:{\
- age:"5"\
- }\
- },\
- transformation:{\
- translation:[-0.25f,0.77475f,-0.25f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ],\
- 3:[\
- {\
- block_state:{\
- Name:"minecraft:wheat",\
- Properties:{\
- age:"7"\
- }\
- },\
- transformation:{\
- translation:[-0.25f,0.77475f,-0.25f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:pumpkin_seeds set value {\
- place_sound:"minecraft:item.crop.plant",\
- maximum:3,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:pumpkin_stem",\
- Properties:{\
- age:"4"\
- }\
- },\
- transformation:{\
- translation:[-0.5f,0.806f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ],\
- 2:[\
- {\
- block_state:{\
- Name:"minecraft:pumpkin_stem",\
- Properties:{\
- age:"7"\
- }\
- },\
- transformation:{\
- translation:[-0.5f,0.681f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ],\
- 3:[\
- {\
- block_state:{\
- Name:"attached_pumpkin_stem",\
- Properties:{\
- facing:"north"\
- }\
- },\
- transformation:{\
- translation:[-0.5f,0.681f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:melon_seeds set value {\
- place_sound:"minecraft:item.crop.plant",\
- maximum:3,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:melon_stem",\
- Properties:{\
- age:"4"\
- }\
- },\
- transformation:{\
- translation:[-0.5f,0.806f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ],\
- 2:[\
- {\
- block_state:{\
- Name:"minecraft:melon_stem",\
- Properties:{\
- age:"7"\
- }\
- },\
- transformation:{\
- translation:[-0.5f,0.681f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ],\
- 3:[\
- {\
- block_state:{\
- Name:"attached_melon_stem",\
- Properties:{\
- facing:"north"\
- }\
- },\
- transformation:{\
- translation:[-0.5f,0.681f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:beetroot_seeds set value {\
- place_sound:"minecraft:item.crop.plant",\
- maximum:3,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:beetroots",\
- Properties:{\
- age:"1"\
- }\
- },\
- transformation:{\
- translation:[-0.25f,0.77475f,-0.25f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ],\
- 2:[\
- {\
- block_state:{\
- Name:"minecraft:beetroots",\
- Properties:{\
- age:"2"\
- }\
- },\
- transformation:{\
- translation:[-0.25f,0.77475f,-0.25f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ],\
- 3:[\
- {\
- block_state:{\
- Name:"minecraft:beetroots",\
- Properties:{\
- age:"3"\
- }\
- },\
- transformation:{\
- translation:[-0.25f,0.77475f,-0.25f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:glow_berries set value {\
- place_sound:"minecraft:block.cave_vines.place",\
- maximum:3,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:cave_vines",\
- Properties:{\
- berries:"false"\
- }\
- },\
- transformation:{\
- translation:[-0.35f,1.443f,0.35f],\
- left_rotation:[0.707f,0f,0f,0.707f],\
- scale:[0.7f,0.7f,0.7f],\
- right_rotation:[0.707f,0f,0f,0.707f]\
- }\
- }\
- ],\
- 2:[\
- {\
- block_state:{\
- Name:"minecraft:cave_vines",\
- Properties:{\
- berries:"true"\
- }\
- },\
- transformation:{\
- translation:[-0.35f,2.1425f,0.35f],\
- left_rotation:[0.707f,0f,0f,0.707f],\
- scale:[0.7f,0.7f,0.7f],\
- right_rotation:[0.707f,0f,0f,0.707f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:cave_vines_plant",\
- Properties:{\
- berries:"false"\
- }\
- },\
- transformation:{\
- translation:[-0.35f,1.443f,0.35f],\
- left_rotation:[0.707f,0f,0f,0.707f],\
- scale:[0.7f,0.7f,0.7f],\
- right_rotation:[0.707f,0f,0f,0.707f]\
- }\
- }\
- ],\
- 3:[\
- {\
- block_state:{\
- Name:"minecraft:cave_vines",\
- Properties:{\
- berries:"true"\
- }\
- },\
- transformation:{\
- translation:[-0.35f,2.842f,0.35f],\
- left_rotation:[0.707f,0f,0f,0.707f],\
- scale:[0.7f,0.7f,0.7f],\
- right_rotation:[0.707f,0f,0f,0.707f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:cave_vines_plant",\
- Properties:{\
- berries:"false"\
- }\
- },\
- transformation:{\
- translation:[-0.35f,2.1425f,0.35f],\
- left_rotation:[0.707f,0f,0f,0.707f],\
- scale:[0.7f,0.7f,0.7f],\
- right_rotation:[0.707f,0f,0f,0.707f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:cave_vines_plant",\
- Properties:{\
- berries:"true"\
- }\
- },\
- transformation:{\
- translation:[-0.35f,1.443f,0.35f],\
- left_rotation:[0.707f,0f,0f,0.707f],\
- scale:[0.7f,0.7f,0.7f],\
- right_rotation:[0.707f,0f,0f,0.707f]\
- }\
- }\
- ]\
-}
-
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:sweet_berries set value {\
- place_sound:"minecraft:block.sweet_berry_bush.place",\
- maximum:3,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:sweet_berry_bush",\
- Properties:{\
- age:"0"\
- }\
- },\
- transformation:{\
- translation:[-0.5f,0.681f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ],\
- 2:[\
- {\
- block_state:{\
- Name:"minecraft:sweet_berry_bush",\
- Properties:{\
- age:"1"\
- }\
- },\
- transformation:{\
- translation:[-0.5f,0.681f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ],\
- 3:[\
- {\
- block_state:{\
- Name:"minecraft:sweet_berry_bush",\
- Properties:{\
- age:"3"\
- }\
- },\
- transformation:{\
- translation:[-0.5f,0.681f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:nether_wart set value {\
- place_sound:"minecraft:item.nether_wart.plant",\
- maximum:3,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:nether_wart",\
- Properties:{\
- age:"0"\
- }\
- },\
- transformation:{\
- translation:[-0.25f,0.775f,-0.25f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ],\
- 2:[\
- {\
- block_state:{\
- Name:"minecraft:nether_wart",\
- Properties:{\
- age:"1"\
- }\
- },\
- transformation:{\
- translation:[-0.25f,0.775f,-0.25f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ],\
- 3:[\
- {\
- block_state:{\
- Name:"minecraft:nether_wart",\
- Properties:{\
- age:"3"\
- }\
- },\
- transformation:{\
- translation:[-0.25f,0.775f,-0.25f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:sea_pickle set value {\
- place_sound:"minecraft:block.slime_block.place",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:sea_pickle",\
- Properties:{\
- waterlogged:"false"\
- }\
- },\
- transformation:{\
- translation:[-0.5f,0.7435f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:tube_coral set value {\
- place_sound:"minecraft:block.wet_grass.place",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:tube_coral"\
- },\
- transformation:{\
- translation:[-0.5f,0.7435f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:brain_coral set value {\
- place_sound:"minecraft:block.wet_grass.place",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:brain_coral"\
- },\
- transformation:{\
- translation:[-0.5f,0.7435f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:bubble_coral set value {\
- place_sound:"minecraft:block.wet_grass.place",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:bubble_coral"\
- },\
- transformation:{\
- translation:[-0.5f,0.7435f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:fire_coral set value {\
- place_sound:"minecraft:block.wet_grass.place",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:fire_coral"\
- },\
- transformation:{\
- translation:[-0.5f,0.7435f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:horn_coral set value {\
- place_sound:"minecraft:block.wet_grass.place",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:horn_coral"\
- },\
- transformation:{\
- translation:[-0.5f,0.7435f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:dead_tube_coral set value {\
- place_sound:"minecraft:block.stone.place",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:dead_tube_coral"\
- },\
- transformation:{\
- translation:[-0.5f,0.7435f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:dead_brain_coral set value {\
- place_sound:"minecraft:block.stone.place",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:dead_brain_coral"\
- },\
- transformation:{\
- translation:[-0.5f,0.7435f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:dead_bubble_coral set value {\
- place_sound:"minecraft:block.stone.place",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:dead_bubble_coral"\
- },\
- transformation:{\
- translation:[-0.5f,0.7435f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:dead_fire_coral set value {\
- place_sound:"minecraft:block.stone.place",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:dead_fire_coral"\
- },\
- transformation:{\
- translation:[-0.5f,0.7435f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:dead_horn_coral set value {\
- place_sound:"minecraft:block.stone.place",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:dead_horn_coral"\
- },\
- transformation:{\
- translation:[-0.5f,0.7435f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:tube_coral_fan set value {\
- place_sound:"minecraft:block.wet_grass.place",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:tube_coral_fan"\
- },\
- transformation:{\
- translation:[-0.5f,0.744f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:brain_coral_fan set value {\
- place_sound:"minecraft:block.wet_grass.place",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:brain_coral_fan"\
- },\
- transformation:{\
- translation:[-0.5f,0.744f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:bubble_coral_fan set value {\
- place_sound:"minecraft:block.wet_grass.place",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:bubble_coral_fan"\
- },\
- transformation:{\
- translation:[-0.5f,0.744f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:fire_coral_fan set value {\
- place_sound:"minecraft:block.wet_grass.place",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:fire_coral_fan"\
- },\
- transformation:{\
- translation:[-0.5f,0.744f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:horn_coral_fan set value {\
- place_sound:"minecraft:block.wet_grass.place",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:horn_coral_fan"\
- },\
- transformation:{\
- translation:[-0.5f,0.744f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:dead_tube_coral_fan set value {\
- place_sound:"minecraft:block.stone.place",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:dead_tube_coral_fan"\
- },\
- transformation:{\
- translation:[-0.5f,0.744f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:dead_brain_coral_fan set value {\
- place_sound:"minecraft:block.stone.place",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:dead_brain_coral_fan"\
- },\
- transformation:{\
- translation:[-0.5f,0.744f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:dead_bubble_coral_fan set value {\
- place_sound:"minecraft:block.stone.place",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:dead_bubble_coral_fan"\
- },\
- transformation:{\
- translation:[-0.5f,0.744f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:dead_fire_coral_fan set value {\
- place_sound:"minecraft:block.stone.place",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:dead_fire_coral_fan"\
- },\
- transformation:{\
- translation:[-0.5f,0.744f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:dead_horn_coral_fan set value {\
- place_sound:"minecraft:block.stone.place",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:dead_horn_coral_fan"\
- },\
- transformation:{\
- translation:[-0.5f,0.744f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-
-
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:carrot set value {\
- place_sound:"minecraft:item.crop.plant",\
- maximum:3,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:carrots",\
- Properties:{\
- age:"2"\
- }\
- },\
- transformation:{\
- translation:[-0.25f,0.775f,-0.25f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ],\
- 2:[\
- {\
- block_state:{\
- Name:"minecraft:carrots",\
- Properties:{\
- age:"4"\
- }\
- },\
- transformation:{\
- translation:[-0.25f,0.775f,-0.25f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ],\
- 3:[\
- {\
- block_state:{\
- Name:"minecraft:carrots",\
- Properties:{\
- age:"7"\
- }\
- },\
- transformation:{\
- translation:[-0.25f,0.775f,-0.25f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:decorated_pots minecraft:potato set value {\
- place_sound:"minecraft:item.crop.plant",\
- maximum:3,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:potatoes",\
- Properties:{\
- age:"2"\
- }\
- },\
- transformation:{\
- translation:[-0.25f,0.775f,-0.25f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ],\
- 2:[\
- {\
- block_state:{\
- Name:"minecraft:potatoes",\
- Properties:{\
- age:"4"\
- }\
- },\
- transformation:{\
- translation:[-0.25f,0.775f,-0.25f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ],\
- 3:[\
- {\
- block_state:{\
- Name:"minecraft:potatoes",\
- Properties:{\
- age:"7"\
- }\
- },\
- transformation:{\
- translation:[-0.25f,0.775f,-0.25f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
diff --git a/gm4_blossoming_pots/since_61/data/gm4_blossoming_pots/function/flower/set_storage.mcfunction b/gm4_blossoming_pots/since_61/data/gm4_blossoming_pots/function/flower/set_storage.mcfunction
deleted file mode 100644
index 13d82f525c..0000000000
--- a/gm4_blossoming_pots/since_61/data/gm4_blossoming_pots/function/flower/set_storage.mcfunction
+++ /dev/null
@@ -1,1306 +0,0 @@
-# Sets command storage for flower pot plants
-# @s = null
-# run from init
-
-
-# Data storage layout
- # gm4_blossoming_pots:decorated_pots :
- # place_sound: sound file to play when succesfully adding plant or changing stage, include namespace
- # maximum: the number of stages / arrays. The maximum number of items the pot can take
- # 1:[] array of starting data for the all the block displays used in this stage, all data
- # 2:[] array of starting data for the all the block displays used in this stage, all data
- # ......
-
-data modify storage gm4_blossoming_pots:flower_pots minecraft:pale_hanging_moss set value {\
- place_sound:"minecraft:block.moss_carpet.place",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:pale_hanging_moss",\
- Properties:{\
- tip:"false"\
- }\
- },\
- transformation:{\
- translation:[-0.25f,0.243f,0.25f],\
- left_rotation:[0.707f,0f,0f,0.707f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0.707f,0f,0f,0.707f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:pale_hanging_moss",\
- Properties:{\
- tip:"true"\
- }\
- },\
- transformation:{\
- translation:[-0.25f,0.7425f,0.25f],\
- left_rotation:[0.707f,0f,0f,0.707f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0.707f,0f,0f,0.707f]\
- }\
- }\
- ]\
-}
-
-data modify storage gm4_blossoming_pots:flower_pots minecraft:pointed_dripstone set value {\
- place_sound:"minecraft:block.pointed_dripstone.place",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:pointed_dripstone",\
- Properties:{\
- vertical_direction:"down",\
- thickness:"frustum"\
- }\
- },\
- transformation:{\
- translation:[-0.25f,0.1435f,0.25f],\
- left_rotation:[0.707f,0f,0f,0.707f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0.707f,0f,0f,0.707f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:pointed_dripstone",\
- Properties:{\
- vertical_direction:"down",\
- thickness:"tip"\
- }\
- },\
- transformation:{\
- translation:[-0.25f,0.6435f,0.25f],\
- left_rotation:[0.707f,0f,0f,0.707f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0.707f,0f,0f,0.707f]\
- }\
- }\
- ]\
-}
-
-data modify storage gm4_blossoming_pots:flower_pots minecraft:small_amethyst_bud set value {\
- place_sound:"minecraft:block.small_amethyst_bud.place",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:small_amethyst_bud"\
- },\
- transformation:{\
- translation:[-0.25f,-0.2565f,-0.25f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:flower_pots minecraft:medium_amethyst_bud set value {\
- place_sound:"minecraft:block.medium_amethyst_bud.place",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:medium_amethyst_bud"\
- },\
- transformation:{\
- translation:[-0.25f,-0.2565f,-0.25f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:flower_pots minecraft:large_amethyst_bud set value {\
- place_sound:"minecraft:block.large_amethyst_bud.place",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:large_amethyst_bud"\
- },\
- transformation:{\
- translation:[-0.25f,-0.2565f,-0.25f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:flower_pots minecraft:amethyst_cluster set value {\
- place_sound:"minecraft:block.amethyst_cluster.place",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:amethyst_cluster"\
- },\
- transformation:{\
- translation:[-0.25f,-0.2565f,-0.25f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-
-data modify storage gm4_blossoming_pots:flower_pots minecraft:oak_leaves set value {\
- place_sound:"minecraft:item.bone_meal.use",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:oak_leaves"\
- },\
- transformation:{\
- translation:[-0.25f,-0.125f,-0.25f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:flower_pots minecraft:spruce_leaves set value {\
- place_sound:"minecraft:item.bone_meal.use",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:spruce_leaves"\
- },\
- transformation:{\
- translation:[-0.25f,-0.125f,-0.25f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:flower_pots minecraft:birch_leaves set value {\
- place_sound:"minecraft:item.bone_meal.use",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:birch_leaves"\
- },\
- transformation:{\
- translation:[-0.25f,-0.125f,-0.25f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:flower_pots minecraft:jungle_leaves set value {\
- place_sound:"minecraft:item.bone_meal.use",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:jungle_leaves"\
- },\
- transformation:{\
- translation:[-0.25f,-0.125f,-0.25f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:flower_pots minecraft:acacia_leaves set value {\
- place_sound:"minecraft:item.bone_meal.use",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:acacia_leaves"\
- },\
- transformation:{\
- translation:[-0.25f,-0.125f,-0.25f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:flower_pots minecraft:dark_oak_leaves set value {\
- place_sound:"minecraft:item.bone_meal.use",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:dark_oak_leaves"\
- },\
- transformation:{\
- translation:[-0.25f,-0.125f,-0.25f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:flower_pots minecraft:mangrove_leaves set value {\
- place_sound:"minecraft:item.bone_meal.use",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:mangrove_leaves"\
- },\
- transformation:{\
- translation:[-0.25f,-0.125f,-0.25f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:flower_pots minecraft:cherry_leaves set value {\
- place_sound:"minecraft:block.cherry_leaves.place",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:cherry_leaves"\
- },\
- transformation:{\
- translation:[-0.25f,-0.125f,-0.25f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:flower_pots minecraft:pale_oak_leaves set value {\
- place_sound:"minecraft:block.grass.place",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:pale_oak_leaves"\
- },\
- transformation:{\
- translation:[-0.25f,-0.125f,-0.25f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:flower_pots minecraft:azalea_leaves set value {\
- place_sound:"minecraft:block.azalea_leaves.place",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:azalea_leaves"\
- },\
- transformation:{\
- translation:[-0.25f,-0.125f,-0.25f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:flower_pots minecraft:flowering_azalea_leaves set value {\
- place_sound:"minecraft:block.azalea_leaves.place",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:flowering_azalea_leaves"\
- },\
- transformation:{\
- translation:[-0.25f,-0.125f,-0.25f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-
-data modify storage gm4_blossoming_pots:flower_pots minecraft:short_grass set value {\
- place_sound:"minecraft:item.bone_meal.use",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:short_grass"\
- },\
- transformation:{\
- translation:[-0.2f,-0.25f,-0.2f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.4f,0.5f,0.4f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-
-data modify storage gm4_blossoming_pots:flower_pots minecraft:spore_blossom set value {\
- place_sound:"minecraft:block.spore_blossom.place",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:spore_blossom"\
- },\
- transformation:{\
- translation:[-0.2f,0.42f,0.2f],\
- left_rotation:[0.707f,0f,0f,0.707f],\
- scale:[0.4f,0.4f,0.6f],\
- right_rotation:[0.707f,0f,0f,0.707f]\
- }\
- }\
- ]\
-}
-
-data modify storage gm4_blossoming_pots:flower_pots minecraft:sugar_cane set value {\
- place_sound:"minecraft:block.grass.place",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:sugar_cane"\
- },\
- transformation:{\
- translation:[-0.15f,-0.2565f,-0.15f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.3f,0.3f,0.3f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:sugar_cane"\
- },\
- transformation:{\
- translation:[-0.15f,0.0435f,-0.15f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.3f,0.3f,0.3f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-
-data modify storage gm4_blossoming_pots:flower_pots minecraft:weeping_vines set value {\
- place_sound:"minecraft:block.weeping_vines.place",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:weeping_vines_plant"\
- },\
- transformation:{\
- translation:[-0.25f,0.2434f,0.25f],\
- left_rotation:[0.707f,0f,0f,0.707f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0.707f,0f,0f,0.707f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:weeping_vines"\
- },\
- transformation:{\
- translation:[-0.25f,0.7434f,0.25f],\
- left_rotation:[0.707f,0f,0f,0.707f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0.707f,0f,0f,0.707f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:flower_pots minecraft:twisting_vines set value {\
- place_sound:"minecraft:block.weeping_vines.place",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:twisting_vines_plant"\
- },\
- transformation:{\
- translation:[-0.25f,-0.2565f,-0.25f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:twisting_vines"\
- },\
- transformation:{\
- translation:[-0.25f,0.2435f,-0.25f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-
-data modify storage gm4_blossoming_pots:flower_pots minecraft:tall_grass set value {\
- place_sound:"minecraft:item.bone_meal.use",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:tall_grass",\
- Properties:{\
- half:"lower"\
- }\
- },\
- transformation:{\
- translation:[-0.15f,-0.35025f,-0.15f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.3f,0.4f,0.3f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:tall_grass",\
- Properties:{\
- half:"upper"\
- }\
- },\
- transformation:{\
- translation:[-0.15f,0.04975f,-0.15f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.3f,0.4f,0.3f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:flower_pots minecraft:large_fern set value {\
- place_sound:"minecraft:item.bone_meal.use",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:large_fern",\
- Properties:{\
- half:"lower"\
- }\
- },\
- transformation:{\
- translation:[-0.4f,-0.2515f,-0.4f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.8f,0.8f,0.8f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:large_fern",\
- Properties:{\
- half:"upper"\
- }\
- },\
- transformation:{\
- translation:[-0.4f,0.5485f,-0.4f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.8f,0.8f,0.8f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-
-# default sunflower rotation is sunflower facing east, player should be facing west
-data modify storage gm4_blossoming_pots:flower_pots minecraft:sunflower set value {\
- place_sound:"minecraft:item.bone_meal.use",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:sunflower",\
- Properties:{\
- half:"upper"\
- }\
- },\
- transformation:{\
- translation:[-0.4f,-0.3f,-0.4f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.8f,0.8f,0.8f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:flower_pots minecraft:lilac set value {\
- place_sound:"minecraft:item.bone_meal.use",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:lilac",\
- Properties:{\
- half:"upper"\
- }\
- },\
- transformation:{\
- translation:[-0.3f,-0.3f,-0.3f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.6f,0.6f,0.6f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:flower_pots minecraft:rose_bush set value {\
- place_sound:"minecraft:item.bone_meal.use",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:rose_bush",\
- Properties:{\
- half:"upper"\
- }\
- },\
- transformation:{\
- translation:[-0.3f,-0.3f,-0.3f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.6f,0.6f,0.6f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:flower_pots minecraft:peony set value {\
- place_sound:"minecraft:item.bone_meal.use",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:peony",\
- Properties:{\
- half:"upper"\
- }\
- },\
- transformation:{\
- translation:[-0.3f,-0.3f,-0.3f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.6f,0.6f,0.6f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:flower_pots minecraft:pitcher_plant set value {\
- place_sound:"minecraft:item.crop.plant",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:pitcher_plant",\
- Properties:{\
- half:"lower"\
- }\
- },\
- transformation:{\
- translation:[-0.4f,-0.3815f,-0.4f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.8f,0.8f,0.8f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:pitcher_plant",\
- Properties:{\
- half:"upper"\
- }\
- },\
- transformation:{\
- translation:[-0.4f,0.4185f,-0.4f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.8f,0.8f,0.8f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-
-data modify storage gm4_blossoming_pots:flower_pots minecraft:big_dripleaf set value {\
- place_sound:"minecraft:block.big_dripleaf.place",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:big_dripleaf",\
- Properties:{\
- facing:"east"\
- }\
- },\
- transformation:{\
- translation:[-0.175f,-0.219f,-0.375f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.75f,0.75f,0.75f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:flower_pots minecraft:small_dripleaf set value {\
- place_sound:"minecraft:block.small_dripleaf.place",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:small_dripleaf",\
- Properties:{\
- facing:"east",\
- half:"upper"\
- }\
- },\
- transformation:{\
- translation:[-0.4f,-0.25f,-0.4f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.8f,0.8f,0.8f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-
-data modify storage gm4_blossoming_pots:flower_pots minecraft:chorus_flower set value {\
- place_sound:"minecraft:block.chorus_flower.grow",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:chorus_flower"\
- },\
- transformation:{\
- translation:[-0.25f,0.3435f,-0.25f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:chorus_plant",\
- Properties:{\
- down:"true",\
- up:"true"\
- }\
- },\
- transformation:{\
- translation:[-0.25f,-0.1565f,-0.25f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-
-data modify storage gm4_blossoming_pots:flower_pots minecraft:hanging_roots set value {\
- place_sound:"minecraft:block.hanging_roots.place",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:hanging_roots"\
- },\
- transformation:{\
- translation:[-0.2f,0.2432f,0.2f],\
- left_rotation:[0.707f,0f,0f,0.707f],\
- scale:[0.4f,0.4f,0.5f],\
- right_rotation:[0.707f,0f,0f,0.707f]\
- }\
- }\
- ]\
-}
-
-data modify storage gm4_blossoming_pots:flower_pots minecraft:wheat_seeds set value {\
- place_sound:"minecraft:item.crop.plant",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:wheat",\
- Properties:{\
- age:"7"\
- }\
- },\
- transformation:{\
- translation:[-0.1875f,-0.22525f,-0.1875f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.375f,0.375f,0.375f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-
-data modify storage gm4_blossoming_pots:flower_pots minecraft:pumpkin_seeds set value {\
- place_sound:"minecraft:item.crop.plant",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"attached_pumpkin_stem",\
- Properties:{\
- facing:"north"\
- }\
- },\
- transformation:{\
- translation:[-0.5f,-0.319f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:flower_pots minecraft:melon_seeds set value {\
- place_sound:"minecraft:item.crop.plant",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"attached_melon_stem",\
- Properties:{\
- facing:"north"\
- }\
- },\
- transformation:{\
- translation:[-0.5f,-0.319f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:flower_pots minecraft:beetroot_seeds set value {\
- place_sound:"minecraft:item.crop.plant",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:beetroots",\
- Properties:{\
- age:"3"\
- }\
- },\
- transformation:{\
- translation:[-0.1875f,-0.22525f,-0.1875f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.375f,0.375f,0.375f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-
-data modify storage gm4_blossoming_pots:flower_pots minecraft:glow_berries set value {\
- place_sound:"minecraft:block.cave_vines.place",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:cave_vines_plant",\
- Properties:{\
- berries:"false"\
- }\
- },\
- transformation:{\
- translation:[-0.25f,0.243f,0.25f],\
- left_rotation:[0.707f,0f,0f,0.707f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0.707f,0f,0f,0.707f]\
- }\
- },\
- {\
- block_state:{\
- Name:"minecraft:cave_vines",\
- Properties:{\
- berries:"true"\
- }\
- },\
- transformation:{\
- translation:[-0.25f,0.7425f,0.25f],\
- left_rotation:[0.707f,0f,0f,0.707f],\
- scale:[0.5f,0.5f,0.5f],\
- right_rotation:[0.707f,0f,0f,0.707f]\
- }\
- }\
- ]\
-}
-
-data modify storage gm4_blossoming_pots:flower_pots minecraft:sweet_berries set value {\
- place_sound:"minecraft:block.sweet_berry_bush.place",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:sweet_berry_bush",\
- Properties:{\
- age:"3"\
- }\
- },\
- transformation:{\
- translation:[-0.4f,-0.319f,-0.4f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.8f,0.8f,0.8f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-
-data modify storage gm4_blossoming_pots:flower_pots minecraft:nether_wart set value {\
- place_sound:"minecraft:item.nether_wart.plant",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:nether_wart",\
- Properties:{\
- age:"3"\
- }\
- },\
- transformation:{\
- translation:[-0.1875f,-0.225f,-0.1875f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.375f,0.375f,0.375f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-
-data modify storage gm4_blossoming_pots:flower_pots minecraft:sea_pickle set value {\
- place_sound:"minecraft:block.slime_block.place",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:sea_pickle",\
- Properties:{\
- waterlogged:"false"\
- }\
- },\
- transformation:{\
- translation:[-0.5f,-0.2565f,-0.5f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[1f,1f,1f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-
-data modify storage gm4_blossoming_pots:flower_pots minecraft:tube_coral set value {\
- place_sound:"minecraft:block.wet_grass.place",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:tube_coral"\
- },\
- transformation:{\
- translation:[-0.2f,-0.25f,-0.2f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.4f,0.5f,0.4f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:flower_pots minecraft:brain_coral set value {\
- place_sound:"minecraft:block.wet_grass.place",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:brain_coral"\
- },\
- transformation:{\
- translation:[-0.2f,-0.25f,-0.2f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.4f,0.5f,0.4f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:flower_pots minecraft:bubble_coral set value {\
- place_sound:"minecraft:block.wet_grass.place",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:bubble_coral"\
- },\
- transformation:{\
- translation:[-0.2f,-0.25f,-0.2f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.4f,0.5f,0.4f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:flower_pots minecraft:fire_coral set value {\
- place_sound:"minecraft:block.wet_grass.place",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:fire_coral"\
- },\
- transformation:{\
- translation:[-0.2f,-0.25f,-0.2f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.4f,0.5f,0.4f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:flower_pots minecraft:horn_coral set value {\
- place_sound:"minecraft:block.wet_grass.place",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:horn_coral"\
- },\
- transformation:{\
- translation:[-0.2f,-0.25f,-0.2f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.4f,0.5f,0.4f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-
-data modify storage gm4_blossoming_pots:flower_pots minecraft:dead_tube_coral set value {\
- place_sound:"minecraft:block.stone.place",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:dead_tube_coral"\
- },\
- transformation:{\
- translation:[-0.2f,-0.25f,-0.2f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.4f,0.5f,0.4f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:flower_pots minecraft:dead_brain_coral set value {\
- place_sound:"minecraft:block.stone.place",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:dead_brain_coral"\
- },\
- transformation:{\
- translation:[-0.2f,-0.25f,-0.2f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.4f,0.5f,0.4f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:flower_pots minecraft:dead_bubble_coral set value {\
- place_sound:"minecraft:block.stone.place",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:dead_bubble_coral"\
- },\
- transformation:{\
- translation:[-0.2f,-0.25f,-0.2f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.4f,0.5f,0.4f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:flower_pots minecraft:dead_fire_coral set value {\
- place_sound:"minecraft:block.stone.place",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:dead_fire_coral"\
- },\
- transformation:{\
- translation:[-0.2f,-0.25f,-0.2f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.4f,0.5f,0.4f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:flower_pots minecraft:dead_horn_coral set value {\
- place_sound:"minecraft:block.stone.place",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:dead_horn_coral"\
- },\
- transformation:{\
- translation:[-0.2f,-0.25f,-0.2f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.4f,0.5f,0.4f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-
-data modify storage gm4_blossoming_pots:flower_pots minecraft:tube_coral_fan set value {\
- place_sound:"minecraft:block.wet_grass.place",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:tube_coral_fan"\
- },\
- transformation:{\
- translation:[-0.1875f,-0.225f,-0.1875f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.375f,0.8f,0.375f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:flower_pots minecraft:brain_coral_fan set value {\
- place_sound:"minecraft:block.wet_grass.place",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:brain_coral_fan"\
- },\
- transformation:{\
- translation:[-0.1875f,-0.225f,-0.1875f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.375f,0.8f,0.375f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:flower_pots minecraft:bubble_coral_fan set value {\
- place_sound:"minecraft:block.wet_grass.place",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:bubble_coral_fan"\
- },\
- transformation:{\
- translation:[-0.1875f,-0.225f,-0.1875f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.375f,0.8f,0.375f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:flower_pots minecraft:fire_coral_fan set value {\
- place_sound:"minecraft:block.wet_grass.place",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:fire_coral_fan"\
- },\
- transformation:{\
- translation:[-0.1875f,-0.225f,-0.1875f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.375f,0.8f,0.375f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:flower_pots minecraft:horn_coral_fan set value {\
- place_sound:"minecraft:block.wet_grass.place",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:horn_coral_fan"\
- },\
- transformation:{\
- translation:[-0.1875f,-0.225f,-0.1875f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.375f,0.8f,0.375f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-
-data modify storage gm4_blossoming_pots:flower_pots minecraft:dead_tube_coral_fan set value {\
- place_sound:"minecraft:block.stone.place",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:dead_tube_coral_fan"\
- },\
- transformation:{\
- translation:[-0.1875f,-0.225f,-0.1875f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.375f,0.8f,0.375f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:flower_pots minecraft:dead_brain_coral_fan set value {\
- place_sound:"minecraft:block.stone.place",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:dead_brain_coral_fan"\
- },\
- transformation:{\
- translation:[-0.1875f,-0.225f,-0.1875f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.375f,0.8f,0.375f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:flower_pots minecraft:dead_bubble_coral_fan set value {\
- place_sound:"minecraft:block.stone.place",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:dead_bubble_coral_fan"\
- },\
- transformation:{\
- translation:[-0.1875f,-0.225f,-0.1875f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.375f,0.8f,0.375f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:flower_pots minecraft:dead_fire_coral_fan set value {\
- place_sound:"minecraft:block.stone.place",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:dead_fire_coral_fan"\
- },\
- transformation:{\
- translation:[-0.1875f,-0.225f,-0.1875f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.375f,0.8f,0.375f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:flower_pots minecraft:dead_horn_coral_fan set value {\
- place_sound:"minecraft:block.stone.place",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:dead_horn_coral_fan"\
- },\
- transformation:{\
- translation:[-0.1875f,-0.225f,-0.1875f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.375f,0.8f,0.375f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-
-data modify storage gm4_blossoming_pots:flower_pots minecraft:carrot set value {\
- place_sound:"minecraft:item.crop.plant",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:carrots",\
- Properties:{\
- age:"7"\
- }\
- },\
- transformation:{\
- translation:[-0.225f,-0.22525f,-0.225f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.45f,0.45f,0.45f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
-data modify storage gm4_blossoming_pots:flower_pots minecraft:potato set value {\
- place_sound:"minecraft:item.crop.plant",\
- maximum:1,\
- 1:[\
- {\
- block_state:{\
- Name:"minecraft:potatoes",\
- Properties:{\
- age:"7"\
- }\
- },\
- transformation:{\
- translation:[-0.225f,-0.22525f,-0.225f],\
- left_rotation:[0f,0f,0f,1f],\
- scale:[0.45f,0.45f,0.45f],\
- right_rotation:[0f,0f,0f,1f]\
- }\
- }\
- ]\
-}
diff --git a/gm4_blossoming_pots/since_61/data/gm4_blossoming_pots/tags/block/potted_plants.json b/gm4_blossoming_pots/since_61/data/gm4_blossoming_pots/tags/block/potted_plants.json
deleted file mode 100644
index adf43db9b2..0000000000
--- a/gm4_blossoming_pots/since_61/data/gm4_blossoming_pots/tags/block/potted_plants.json
+++ /dev/null
@@ -1,42 +0,0 @@
-{
- "values": [
- "minecraft:potted_dandelion",
- "minecraft:potted_poppy",
- "minecraft:potted_blue_orchid",
- "minecraft:potted_allium",
- "minecraft:potted_azure_bluet",
- "minecraft:potted_red_tulip",
- "minecraft:potted_orange_tulip",
- "minecraft:potted_white_tulip",
- "minecraft:potted_pink_tulip",
- "minecraft:potted_oxeye_daisy",
- "minecraft:potted_cornflower",
- "minecraft:potted_lily_of_the_valley",
- "minecraft:potted_wither_rose",
- "minecraft:potted_torchflower",
- "minecraft:potted_oak_sapling",
- "minecraft:potted_spruce_sapling",
- "minecraft:potted_birch_sapling",
- "minecraft:potted_jungle_sapling",
- "minecraft:potted_acacia_sapling",
- "minecraft:potted_dark_oak_sapling",
- "minecraft:potted_cherry_sapling",
- "minecraft:potted_red_mushroom",
- "minecraft:potted_brown_mushroom",
- "minecraft:potted_fern",
- "minecraft:potted_dead_bush",
- "minecraft:potted_cactus",
- "minecraft:potted_bamboo",
- "minecraft:potted_azalea_bush",
- "minecraft:potted_flowering_azalea_bush",
- "minecraft:potted_crimson_fungus",
- "minecraft:potted_warped_fungus",
- "minecraft:potted_crimson_roots",
- "minecraft:potted_warped_roots",
- "minecraft:potted_mangrove_propagule",
- "minecraft:potted_closed_eyeblossom",
- "minecraft:potted_open_eyeblossom",
- "minecraft:potted_pale_oak_sapling"
- ]
- }
-
\ No newline at end of file
diff --git a/gm4_blossoming_pots/since_61/data/gm4_blossoming_pots/tags/item/potable_plants.json b/gm4_blossoming_pots/since_61/data/gm4_blossoming_pots/tags/item/potable_plants.json
deleted file mode 100644
index ef8adc1fb5..0000000000
--- a/gm4_blossoming_pots/since_61/data/gm4_blossoming_pots/tags/item/potable_plants.json
+++ /dev/null
@@ -1,42 +0,0 @@
-{
- "values": [
- "minecraft:dandelion",
- "minecraft:poppy",
- "minecraft:blue_orchid",
- "minecraft:allium",
- "minecraft:azure_bluet",
- "minecraft:red_tulip",
- "minecraft:orange_tulip",
- "minecraft:white_tulip",
- "minecraft:pink_tulip",
- "minecraft:oxeye_daisy",
- "minecraft:cornflower",
- "minecraft:lily_of_the_valley",
- "minecraft:wither_rose",
- "minecraft:torchflower",
- "minecraft:oak_sapling",
- "minecraft:spruce_sapling",
- "minecraft:birch_sapling",
- "minecraft:jungle_sapling",
- "minecraft:acacia_sapling",
- "minecraft:dark_oak_sapling",
- "minecraft:cherry_sapling",
- "minecraft:red_mushroom",
- "minecraft:brown_mushroom",
- "minecraft:fern",
- "minecraft:dead_bush",
- "minecraft:cactus",
- "minecraft:bamboo",
- "minecraft:azalea",
- "minecraft:flowering_azalea",
- "minecraft:crimson_fungus",
- "minecraft:warped_fungus",
- "minecraft:crimson_roots",
- "minecraft:warped_roots",
- "minecraft:mangrove_propagule",
- "minecraft:closed_eyeblossom",
- "minecraft:open_eyeblossom",
- "minecraft:pale_oak_sapling"
- ]
- }
-
\ No newline at end of file
diff --git a/gm4_blossoming_pots/translations.csv b/gm4_blossoming_pots/translations.csv
index ff72ff733c..a9342532ef 100644
--- a/gm4_blossoming_pots/translations.csv
+++ b/gm4_blossoming_pots/translations.csv
@@ -1,5 +1,5 @@
key,en_us
text.gm4.guidebook.module_desc.blossoming_pots,"Greatly expands the selection of potable plants. Use Decorated Pots as abnormally large flower pots. Decorate in Style!"
text.gm4.guidebook.blossoming_pots.description,"To pot a plant, interact with a Decorated Pot or empty Flower Pot while holding a supported item.\nTo remove a plant, break the decorated pot or interact with the flower pot with an empty hand."
-text.gm4.guidebook.blossoming_pots.item_list.1,"§nSupported Items:§r\n\nVanilla Flower Pot\n plants\nPale hanging moss\nPointed dripstone\nAmethyst crystals\nLeaves\nShort & tall grass\nLush cave plants"
-text.gm4.guidebook.blossoming_pots.item_list.2,"§nSupported Items:§r\n\nSugar cane\nNether vines\n2 tall plants\nChorus flower\nNon-sniffer seeds\nNether wart\nSweet berries\nCoral reef plants"
+text.gm4.guidebook.blossoming_pots.item_list.1,"§nSupported Items:§r\n\nVanilla Flower Pot\n plants\nPale hanging moss\nPointed dripstone\nAmethyst crystals\nLeaves\nGrass plants\nLush cave plants"
+text.gm4.guidebook.blossoming_pots.item_list.2,"§nSupported Items:§r\n\nSugar cane\nNether vines\n2 tall plants\nChorus flower\nNon-sniffer seeds\nNether wart\nBush plants\nCoral reef plants\nCactus Flower"
diff --git a/gm4_book_binders/beet.yaml b/gm4_book_binders/beet.yaml
index 178ced4a74..1e9f3f0ebd 100644
--- a/gm4_book_binders/beet.yaml
+++ b/gm4_book_binders/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_book_binders
name: Book Binders
-version: 1.4.X
+version: 1.5.X
data_pack:
load: .
diff --git a/gm4_book_binders/data/gm4_book_binders/function/binder/hopper_grab.mcfunction b/gm4_book_binders/data/gm4_book_binders/function/binder/hopper_grab.mcfunction
index befad25349..8004c0c65a 100644
--- a/gm4_book_binders/data/gm4_book_binders/function/binder/hopper_grab.mcfunction
+++ b/gm4_book_binders/data/gm4_book_binders/function/binder/hopper_grab.mcfunction
@@ -3,8 +3,8 @@
# run from gm4_book_binders:binder/tick
# give item into armor stand's hand (done before count is reduced)
-data modify entity @s HandItems[0] set from block ~ ~ ~ Items[0]
-data modify entity @s HandItems[0].count set value 1
+data modify entity @s equipment.mainhand set from block ~ ~ ~ Items[0]
+data modify entity @s equipment.mainhand.count set value 1
# remove one item from hopper's first (filled) slot
execute store result score $hopper_slot_count gm4_binder_data run data get block ~ ~ ~ Items[0].count
diff --git a/gm4_book_binders/data/gm4_book_binders/function/binder/placement/detect_facing.mcfunction b/gm4_book_binders/data/gm4_book_binders/function/binder/placement/detect_facing.mcfunction
index e5b01809cc..dae807e005 100644
--- a/gm4_book_binders/data/gm4_book_binders/function/binder/placement/detect_facing.mcfunction
+++ b/gm4_book_binders/data/gm4_book_binders/function/binder/placement/detect_facing.mcfunction
@@ -1,9 +1,10 @@
-# @s = book binder AEC
+# initializes the book binders armor stand.
+# @s = player who has placed a lectern
# at most negative corner of lectern
-# run from binder/placement/place_lectern
-execute if block ~ ~ ~ lectern[facing=north] run function gm4_book_binders:binder/placement/facing/north
-execute if block ~ ~ ~ lectern[facing=south] run function gm4_book_binders:binder/placement/facing/south
-execute if block ~ ~ ~ lectern[facing=east] run function gm4_book_binders:binder/placement/facing/east
-execute if block ~ ~ ~ lectern[facing=west] run function gm4_book_binders:binder/placement/facing/west
+# run from binder/placement/find_lectern
+execute if block ~ ~ ~ lectern[facing=north] run summon minecraft:armor_stand ~.5 ~.01 ~.38 {NoGravity:1b,Small:1b,ShowArms:1b,Invisible:1b,Pose:{RightArm:[25.0f,0.0f,180.0f]},CustomName:"gm4_book_binder",Tags:["gm4_book_binder","gm4_book_binder_north","gm4_no_edit","smithed.entity","smithed.strict"],equipment:{feet:{id:"minecraft:enchanted_book",count:1}}}
+execute if block ~ ~ ~ lectern[facing=south] run summon minecraft:armor_stand ~.5 ~.01 ~.6 {Rotation:[180f,0f],NoGravity:1b,Small:1b,ShowArms:1b,Invisible:1b,Pose:{RightArm:[25.0f,0.0f,180.0f]},CustomName:"gm4_book_binder",Tags:["gm4_book_binder","gm4_book_binder_south","gm4_no_edit","smithed.entity","smithed.strict"],equipment:{feet:{id:"minecraft:enchanted_book",count:1}}}
+execute if block ~ ~ ~ lectern[facing=east] run summon minecraft:armor_stand ~.6 ~.01 ~.5 {Rotation:[90f,0f],NoGravity:1b,Small:1b,ShowArms:1b,Invisible:1b,Pose:{RightArm:[25.0f,0.0f,180.0f]},CustomName:"gm4_book_binder",Tags:["gm4_book_binder","gm4_book_binder_east","gm4_no_edit","smithed.entity","smithed.strict"],equipment:{feet:{id:"minecraft:enchanted_book",count:1}}}
+execute if block ~ ~ ~ lectern[facing=west] run summon minecraft:armor_stand ~.38 ~.01 ~.5 {Rotation:[-90f,0f],NoGravity:1b,Small:1b,ShowArms:1b,Invisible:1b,Pose:{RightArm:[25.0f,0.0f,180.0f]},CustomName:"gm4_book_binder",Tags:["gm4_book_binder","gm4_book_binder_west","gm4_no_edit","smithed.entity","smithed.strict"],equipment:{feet:{id:"minecraft:enchanted_book",count:1}}}
scoreboard players set @e[type=armor_stand,dx=0,tag=gm4_book_binder] gm4_entity_version 1
diff --git a/gm4_book_binders/data/gm4_book_binders/function/binder/placement/drop_hand_item.mcfunction b/gm4_book_binders/data/gm4_book_binders/function/binder/placement/drop_hand_item.mcfunction
index 827d956615..0b01769ad2 100644
--- a/gm4_book_binders/data/gm4_book_binders/function/binder/placement/drop_hand_item.mcfunction
+++ b/gm4_book_binders/data/gm4_book_binders/function/binder/placement/drop_hand_item.mcfunction
@@ -4,4 +4,4 @@
# summon hand item as item entity
summon item ~ ~ ~ {Tags:["gm4_empty_hand_item"],PickupDelay:0s,Item:{id:"minecraft:wooden_hoe",count:1}}
-data modify entity @e[type=item,limit=1,sort=nearest,tag=gm4_empty_hand_item,dx=0] Item set from entity @s HandItems[0]
+data modify entity @e[type=item,limit=1,sort=nearest,tag=gm4_empty_hand_item,dx=0] Item set from entity @s equipment.mainhand
diff --git a/gm4_book_binders/data/gm4_book_binders/function/binder/placement/drop_stored_item.mcfunction b/gm4_book_binders/data/gm4_book_binders/function/binder/placement/drop_stored_item.mcfunction
index c32a75518f..7d4188f2a4 100644
--- a/gm4_book_binders/data/gm4_book_binders/function/binder/placement/drop_stored_item.mcfunction
+++ b/gm4_book_binders/data/gm4_book_binders/function/binder/placement/drop_stored_item.mcfunction
@@ -3,5 +3,5 @@
# run from gm4_book_binders:binder/placement/kill
#move the foot item with the lectern's inventory to the hand slot and then run the debinder to drop it all as pages
-data modify entity @s HandItems[0] set from entity @s ArmorItems[0]
+item replace entity @s weapon.mainhand from entity @s armor.feet
function gm4_book_binders:binder/recipes/debind
diff --git a/gm4_book_binders/data/gm4_book_binders/function/binder/placement/facing/east.mcfunction b/gm4_book_binders/data/gm4_book_binders/function/binder/placement/facing/east.mcfunction
deleted file mode 100644
index 9dda2fe335..0000000000
--- a/gm4_book_binders/data/gm4_book_binders/function/binder/placement/facing/east.mcfunction
+++ /dev/null
@@ -1,5 +0,0 @@
-# @s = book binder AEC
-# at most negative corner of lectern
-# run from binder/placement/place_lectern
-
-summon minecraft:armor_stand ~.6 ~.01 ~.5 {Rotation:[90f,0f],NoGravity:1b,Small:1b,ShowArms:1b,Invisible:1b,Pose:{RightArm:[25.0f,0.0f,180.0f]},CustomName:'"gm4_book_binder"',Tags:["gm4_book_binder","gm4_book_binder_east","gm4_no_edit","smithed.entity","smithed.strict"],ArmorItems:[{id:"minecraft:enchanted_book",count:1},{},{},{}]}
diff --git a/gm4_book_binders/data/gm4_book_binders/function/binder/placement/facing/north.mcfunction b/gm4_book_binders/data/gm4_book_binders/function/binder/placement/facing/north.mcfunction
deleted file mode 100644
index c2c335ec3c..0000000000
--- a/gm4_book_binders/data/gm4_book_binders/function/binder/placement/facing/north.mcfunction
+++ /dev/null
@@ -1,5 +0,0 @@
-# @s = book binder AEC
-# at most negative corner of lectern
-# run from binder/placement/place_lectern
-
-summon minecraft:armor_stand ~.5 ~.01 ~.38 {NoGravity:1b,Small:1b,ShowArms:1b,Invisible:1b,Pose:{RightArm:[25.0f,0.0f,180.0f]},CustomName:'"gm4_book_binder"',Tags:["gm4_book_binder","gm4_book_binder_north","gm4_no_edit","smithed.entity","smithed.strict"],ArmorItems:[{id:"minecraft:enchanted_book",count:1},{},{},{}]}
diff --git a/gm4_book_binders/data/gm4_book_binders/function/binder/placement/facing/south.mcfunction b/gm4_book_binders/data/gm4_book_binders/function/binder/placement/facing/south.mcfunction
deleted file mode 100644
index 8f8687875e..0000000000
--- a/gm4_book_binders/data/gm4_book_binders/function/binder/placement/facing/south.mcfunction
+++ /dev/null
@@ -1,5 +0,0 @@
-# @s = book binder AEC
-# at most negative corner of lectern
-# run from binder/placement/place_lectern
-
-summon minecraft:armor_stand ~.5 ~.01 ~.6 {Rotation:[180f,0f],NoGravity:1b,Small:1b,ShowArms:1b,Invisible:1b,Pose:{RightArm:[25.0f,0.0f,180.0f]},CustomName:'"gm4_book_binder"',Tags:["gm4_book_binder","gm4_book_binder_south","gm4_no_edit","smithed.entity","smithed.strict"],ArmorItems:[{id:"minecraft:enchanted_book",count:1},{},{},{}]}
diff --git a/gm4_book_binders/data/gm4_book_binders/function/binder/placement/facing/west.mcfunction b/gm4_book_binders/data/gm4_book_binders/function/binder/placement/facing/west.mcfunction
deleted file mode 100644
index fa33f7f04b..0000000000
--- a/gm4_book_binders/data/gm4_book_binders/function/binder/placement/facing/west.mcfunction
+++ /dev/null
@@ -1,5 +0,0 @@
-# @s = book binder AEC
-# at most negative corner of lectern
-# run from binder/placement/place_lectern
-
-summon minecraft:armor_stand ~.38 ~.01 ~.5 {Rotation:[-90f,0f],NoGravity:1b,Small:1b,ShowArms:1b,Invisible:1b,Pose:{RightArm:[25.0f,0.0f,180.0f]},CustomName:'"gm4_book_binder"',Tags:["gm4_book_binder","gm4_book_binder_west","gm4_no_edit","smithed.entity","smithed.strict"],ArmorItems:[{id:"minecraft:enchanted_book",count:1},{},{},{}]}
diff --git a/gm4_book_binders/data/gm4_book_binders/function/binder/placement/find_lectern.mcfunction b/gm4_book_binders/data/gm4_book_binders/function/binder/placement/find_lectern.mcfunction
new file mode 100644
index 0000000000..110ca83871
--- /dev/null
+++ b/gm4_book_binders/data/gm4_book_binders/function/binder/placement/find_lectern.mcfunction
@@ -0,0 +1,8 @@
+# marches forward until a lectern is encountered
+# @s = player who has placed down a lectern
+# at start location
+# run from binder/placement/revoke_advancement
+
+scoreboard players add gm4_ray_counter gm4_count 1
+execute unless block ~ ~ ~ lectern if score gm4_ray_counter gm4_count matches 0..500 positioned ^ ^ ^0.01 run function gm4_book_binders:binder/placement/find_lectern
+execute if block ~ ~ ~ lectern align xyz unless entity @e[type=armor_stand,dx=0,tag=gm4_book_binder,limit=1] run function gm4_book_binders:binder/placement/detect_facing
diff --git a/gm4_book_binders/data/gm4_book_binders/function/binder/placement/kill.mcfunction b/gm4_book_binders/data/gm4_book_binders/function/binder/placement/kill.mcfunction
index 26a3ab2089..ffb0c8f8bd 100644
--- a/gm4_book_binders/data/gm4_book_binders/function/binder/placement/kill.mcfunction
+++ b/gm4_book_binders/data/gm4_book_binders/function/binder/placement/kill.mcfunction
@@ -4,14 +4,14 @@
# check for the existence of an hand item
scoreboard players reset $has_hand_item gm4_binder_data
-execute store success score $has_hand_item gm4_binder_data if entity @s[nbt={HandItems:[{count:1}]}]
+execute store success score $has_hand_item gm4_binder_data if items entity @s weapon.* *
# drop hand items if necessary
execute if score $has_hand_item gm4_binder_data matches 1.. run function gm4_book_binders:binder/placement/drop_hand_item
# check for the existence of an hand item
scoreboard players reset $has_stored_item gm4_binder_data
-execute store success score $has_stored_item gm4_binder_data unless items entity @s armor.* *[stored_enchantments={levels:{}}]
+execute store success score $has_stored_item gm4_binder_data unless items entity @s armor.* *[stored_enchantments={}]
# drop internally stored pages if necessary
execute if score $has_stored_item gm4_binder_data matches 1.. run function gm4_book_binders:binder/placement/drop_stored_item
diff --git a/gm4_book_binders/data/gm4_book_binders/function/binder/placement/place_lectern.mcfunction b/gm4_book_binders/data/gm4_book_binders/function/binder/placement/place_lectern.mcfunction
deleted file mode 100644
index 9ad1571dcc..0000000000
--- a/gm4_book_binders/data/gm4_book_binders/function/binder/placement/place_lectern.mcfunction
+++ /dev/null
@@ -1,12 +0,0 @@
-# @s = raycast AEC
-# at start location
-# run from binder/placement/revoke_advancement
-
-scoreboard players set gm4_ray_counter gm4_count 0
-execute as @s at @s run function gm4_book_binders:binder/placement/ray
-
-# detect lectern facing and convert to tag
-execute at @s align xyz unless entity @e[type=armor_stand,dx=0,dy=0,dz=0,tag=gm4_book_binder] run function gm4_book_binders:binder/placement/detect_facing
-
-# kill ray
-kill @s
diff --git a/gm4_book_binders/data/gm4_book_binders/function/binder/placement/ray.mcfunction b/gm4_book_binders/data/gm4_book_binders/function/binder/placement/ray.mcfunction
deleted file mode 100644
index bfc25609b4..0000000000
--- a/gm4_book_binders/data/gm4_book_binders/function/binder/placement/ray.mcfunction
+++ /dev/null
@@ -1,6 +0,0 @@
-# @s = area effect cloud ray used to detect a lectern
-# run from binder/placement/place_lectern
-
-scoreboard players add gm4_ray_counter gm4_count 1
-tp @s ^ ^ ^0.01
-execute if score gm4_ray_counter gm4_count matches 0..500 at @s unless block ~ ~ ~ lectern run function gm4_book_binders:binder/placement/ray
diff --git a/gm4_book_binders/data/gm4_book_binders/function/binder/placement/revoke_advancement.mcfunction b/gm4_book_binders/data/gm4_book_binders/function/binder/placement/revoke_advancement.mcfunction
index dffe1543d2..96b47b34df 100644
--- a/gm4_book_binders/data/gm4_book_binders/function/binder/placement/revoke_advancement.mcfunction
+++ b/gm4_book_binders/data/gm4_book_binders/function/binder/placement/revoke_advancement.mcfunction
@@ -1,9 +1,10 @@
# @s = player that just placed a lectern
+# at @s
# run from advancement place_new_lectern
# revoke advancement and summon ray
advancement revoke @s only gm4_book_binders:place_new_lectern
-summon area_effect_cloud ~ ~ ~ {Tags:["gm4_book_binders_ray"]}
-execute anchored eyes positioned ^ ^ ^ anchored feet run tp @e[tag=gm4_book_binders_ray,limit=1,sort=nearest] ^ ^ ^ ~ ~
-execute as @e[tag=gm4_book_binders_ray,limit=1,sort=nearest] run function gm4_book_binders:binder/placement/place_lectern
+# raycast
+scoreboard players set gm4_ray_counter gm4_count 0
+execute anchored eyes positioned ^ ^ ^ run function gm4_book_binders:binder/placement/find_lectern
diff --git a/gm4_book_binders/data/gm4_book_binders/function/binder/recipes/bind.mcfunction b/gm4_book_binders/data/gm4_book_binders/function/binder/recipes/bind.mcfunction
index c698d51b01..b21b690702 100644
--- a/gm4_book_binders/data/gm4_book_binders/function/binder/recipes/bind.mcfunction
+++ b/gm4_book_binders/data/gm4_book_binders/function/binder/recipes/bind.mcfunction
@@ -15,7 +15,7 @@ item replace entity @e[type=item,tag=gm4_empty_enchanted_book,distance=..0.3] co
advancement grant @a[distance=..3,gamemode=!spectator] only gm4:book_binders_bind
# clear stored pages
-data remove entity @s ArmorItems[0].components."minecraft:stored_enchantments"
+data remove entity @s equipment.feet.components."minecraft:stored_enchantments"
# reset tags
tag @s remove gm4_book_binder_with_page
diff --git a/gm4_book_binders/data/gm4_book_binders/function/binder/recipes/debind.mcfunction b/gm4_book_binders/data/gm4_book_binders/function/binder/recipes/debind.mcfunction
index d14b52e3bd..ee7159e1fd 100644
--- a/gm4_book_binders/data/gm4_book_binders/function/binder/recipes/debind.mcfunction
+++ b/gm4_book_binders/data/gm4_book_binders/function/binder/recipes/debind.mcfunction
@@ -3,14 +3,14 @@
#run from binder/recipes/check_recipes
# transfer enchants onto pages
-data modify storage gm4_book_binders:temp stored_enchantments set from entity @s HandItems[0].components."minecraft:stored_enchantments".levels
+data modify storage gm4_book_binders:temp stored_enchantments set from entity @s equipment.mainhand.components."minecraft:stored_enchantments"
loot spawn ~ ~-0.26 ~ loot gm4_book_binders:debind_book
# advancement
advancement grant @a[distance=..3,gamemode=!spectator] only gm4:book_binders_debind
# delete used up book
-data remove entity @s HandItems[0]
+data remove entity @s equipment.mainhand
# sounds and visuals
playsound minecraft:block.beehive.shear master @a ~ ~ ~ 0.4 0.1
diff --git a/gm4_book_binders/data/gm4_book_binders/function/binder/recipes/page.mcfunction b/gm4_book_binders/data/gm4_book_binders/function/binder/recipes/page.mcfunction
index b97e701ebe..9a3eab423c 100644
--- a/gm4_book_binders/data/gm4_book_binders/function/binder/recipes/page.mcfunction
+++ b/gm4_book_binders/data/gm4_book_binders/function/binder/recipes/page.mcfunction
@@ -3,7 +3,7 @@
#run from gm4_book_binders:binder/recipes/check_recipes
# transfer data from paper to foot storage
-execute store success score $new_page gm4_binder_data run data modify entity @s ArmorItems[0].components."minecraft:stored_enchantments" merge from entity @s HandItems[0].components."minecraft:enchantments"
+execute store success score $new_page gm4_binder_data run data modify entity @s equipment.feet.components."minecraft:stored_enchantments" merge from entity @s equipment.mainhand.components."minecraft:enchantments"
# exit if page already exists -- duplicate enchantments would not be added but deleted anyway
execute if score $new_page gm4_binder_data matches 0 run return 0
diff --git a/gm4_book_binders/data/gm4_book_binders/function/main.mcfunction b/gm4_book_binders/data/gm4_book_binders/function/main.mcfunction
index 70f8480a06..0a37b6b412 100644
--- a/gm4_book_binders/data/gm4_book_binders/function/main.mcfunction
+++ b/gm4_book_binders/data/gm4_book_binders/function/main.mcfunction
@@ -1,5 +1,4 @@
schedule function gm4_book_binders:main 16t
# handle book binders
-execute as @e[type=armor_stand,tag=gm4_book_binder,tag=!smithed.entity] run function gm4_book_binders:upgrade_path/smithed_compat
execute as @e[type=armor_stand,tag=gm4_book_binder] at @s run function gm4_book_binders:process_binders
diff --git a/gm4_book_binders/data/gm4_book_binders/function/upgrade_path/smithed_compat.mcfunction b/gm4_book_binders/data/gm4_book_binders/function/upgrade_path/smithed_compat.mcfunction
deleted file mode 100644
index 226f767501..0000000000
--- a/gm4_book_binders/data/gm4_book_binders/function/upgrade_path/smithed_compat.mcfunction
+++ /dev/null
@@ -1,8 +0,0 @@
-# updates entities with smithed tags and entity version
-# @s = old book binder armor stand
-# located at world spawn
-# run from gm4_book_binders:main
-
-tag @s add smithed.entity
-tag @s add smithed.strict
-scoreboard players set @s gm4_entity_version 1
diff --git a/gm4_bookshelf_inspector/beet.yaml b/gm4_bookshelf_inspector/beet.yaml
index 259bedc4c6..56e6f3e4a6 100644
--- a/gm4_bookshelf_inspector/beet.yaml
+++ b/gm4_bookshelf_inspector/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_bookshelf_inspector
name: Bookshelf Inspector
-version: 1.3.X
+version: 1.4.X
data_pack:
load: .
diff --git a/gm4_bookshelf_inspector/data/gm4_bookshelf_inspector/function/process_display/spawn/decide_name.mcfunction b/gm4_bookshelf_inspector/data/gm4_bookshelf_inspector/function/process_display/spawn/decide_name.mcfunction
index 5ac71617d3..8963519b35 100644
--- a/gm4_bookshelf_inspector/data/gm4_bookshelf_inspector/function/process_display/spawn/decide_name.mcfunction
+++ b/gm4_bookshelf_inspector/data/gm4_bookshelf_inspector/function/process_display/spawn/decide_name.mcfunction
@@ -6,24 +6,24 @@
scoreboard players set $name_given gm4_bookshelf_inspector_data 0
# if book is named use that (decide color based on item)
-execute if data storage gm4_bookshelf_inspector:temp book_data{id:"minecraft:enchanted_book"}.components."minecraft:custom_name" store success score $name_given gm4_bookshelf_inspector_data run data modify storage gm4_bookshelf_inspector:temp text append value '[{"text":"","color":"yellow"},{"nbt":"book_data.components.\\"minecraft:custom_name\\"","storage":"gm4_bookshelf_inspector:temp","interpret":true}]'
-execute unless score $name_given gm4_bookshelf_inspector_data matches 1 if data storage gm4_bookshelf_inspector:temp book_data.components."minecraft:enchantments" if data storage gm4_bookshelf_inspector:temp book_data.components."minecraft:custom_name" unless data storage gm4_bookshelf_inspector:temp book_data{id:"minecraft:enchanted_book"} store success score $name_given gm4_bookshelf_inspector_data run data modify storage gm4_bookshelf_inspector:temp text append value '[{"text":"","color":"aqua"},{"nbt":"book_data.components.\\"minecraft:custom_name\\"","storage":"gm4_bookshelf_inspector:temp","interpret":true}]'
+execute if data storage gm4_bookshelf_inspector:temp book_data{id:"minecraft:enchanted_book"}.components."minecraft:custom_name" store success score $name_given gm4_bookshelf_inspector_data run data modify storage gm4_bookshelf_inspector:temp text append value [{"text":"","color":"yellow"},{"nbt":"book_data.components.'minecraft:custom_name'","storage":"gm4_bookshelf_inspector:temp","interpret":true}]
+execute unless score $name_given gm4_bookshelf_inspector_data matches 1 if data storage gm4_bookshelf_inspector:temp book_data.components."minecraft:enchantments" if data storage gm4_bookshelf_inspector:temp book_data.components."minecraft:custom_name" unless data storage gm4_bookshelf_inspector:temp book_data{id:"minecraft:enchanted_book"} store success score $name_given gm4_bookshelf_inspector_data run data modify storage gm4_bookshelf_inspector:temp text append value [{"text":"","color":"aqua"},{"nbt":"book_data.components.'minecraft:custom_name'","storage":"gm4_bookshelf_inspector:temp","interpret":true}]
execute unless score $name_given gm4_bookshelf_inspector_data matches 1 store success score $name_given gm4_bookshelf_inspector_data run data modify storage gm4_bookshelf_inspector:temp text append from storage gm4_bookshelf_inspector:temp book_data.components."minecraft:custom_name"
# if not and book & quill use the title
-execute unless score $name_given gm4_bookshelf_inspector_data matches 1 store success score $name_given gm4_bookshelf_inspector_data if data storage gm4_bookshelf_inspector:temp book_data.components."minecraft:written_book_content".title if data storage gm4_bookshelf_inspector:temp book_data.components."minecraft:enchantments" run data modify storage gm4_bookshelf_inspector:temp text append value '[{"text":"","color":"aqua"},{"nbt":"book_data.components.\\"minecraft:written_book_content\\".title.raw","storage":"gm4_bookshelf_inspector:temp"}]'
-execute unless score $name_given gm4_bookshelf_inspector_data matches 1 store success score $name_given gm4_bookshelf_inspector_data if data storage gm4_bookshelf_inspector:temp book_data.components."minecraft:written_book_content".title run data modify storage gm4_bookshelf_inspector:temp text append value '{"nbt":"book_data.components.\\"minecraft:written_book_content\\".title.raw","storage":"gm4_bookshelf_inspector:temp"}'
+execute unless score $name_given gm4_bookshelf_inspector_data matches 1 store success score $name_given gm4_bookshelf_inspector_data if data storage gm4_bookshelf_inspector:temp book_data.components."minecraft:written_book_content".title if data storage gm4_bookshelf_inspector:temp book_data.components."minecraft:enchantments" run data modify storage gm4_bookshelf_inspector:temp text append value [{"text":"","color":"aqua"},{"nbt":"book_data.components.'minecraft:written_book_content'.title.raw","storage":"gm4_bookshelf_inspector:temp"}]
+execute unless score $name_given gm4_bookshelf_inspector_data matches 1 store success score $name_given gm4_bookshelf_inspector_data if data storage gm4_bookshelf_inspector:temp book_data.components."minecraft:written_book_content".title run data modify storage gm4_bookshelf_inspector:temp text append value {"nbt":"book_data.components.'minecraft:written_book_content'.title.raw","storage":"gm4_bookshelf_inspector:temp"}
# if not and (enchanted) book use translation key
-execute unless score $name_given gm4_bookshelf_inspector_data matches 1 store success score $name_given gm4_bookshelf_inspector_data if data storage gm4_bookshelf_inspector:temp book_data{id:"minecraft:enchanted_book"} run data modify storage gm4_bookshelf_inspector:temp text append value '{"translate":"item.minecraft.enchanted_book","color":"yellow"}'
-execute unless score $name_given gm4_bookshelf_inspector_data matches 1 store success score $name_given gm4_bookshelf_inspector_data if data storage gm4_bookshelf_inspector:temp book_data{id:"minecraft:book"} run data modify storage gm4_bookshelf_inspector:temp text append value '{"translate":"item.minecraft.book"}'
-execute unless score $name_given gm4_bookshelf_inspector_data matches 1 store success score $name_given gm4_bookshelf_inspector_data if data storage gm4_bookshelf_inspector:temp book_data{id:"minecraft:book"}.components."minecraft:enchantments" run data modify storage gm4_bookshelf_inspector:temp text append value '{"translate":"item.minecraft.book","color":"aqua"}'
-execute unless score $name_given gm4_bookshelf_inspector_data matches 1 store success score $name_given gm4_bookshelf_inspector_data if data storage gm4_bookshelf_inspector:temp book_data{id:"minecraft:writable_book"} run data modify storage gm4_bookshelf_inspector:temp text append value '{"translate":"item.minecraft.writable_book"}'
-execute unless score $name_given gm4_bookshelf_inspector_data matches 1 store success score $name_given gm4_bookshelf_inspector_data if data storage gm4_bookshelf_inspector:temp book_data{id:"minecraft:writable_book"}.components."minecraft:enchantments" run data modify storage gm4_bookshelf_inspector:temp text append value '{"translate":"item.minecraft.writable_book","color":"aqua"}'
-execute unless score $name_given gm4_bookshelf_inspector_data matches 1 store success score $name_given gm4_bookshelf_inspector_data if data storage gm4_bookshelf_inspector:temp book_data{id:"minecraft:knowledge_book"} run data modify storage gm4_bookshelf_inspector:temp text append value '{"translate":"item.minecraft.knowledge_book","color":"light_purple"}'
+execute unless score $name_given gm4_bookshelf_inspector_data matches 1 store success score $name_given gm4_bookshelf_inspector_data if data storage gm4_bookshelf_inspector:temp book_data{id:"minecraft:enchanted_book"} run data modify storage gm4_bookshelf_inspector:temp text append value {"translate":"item.minecraft.enchanted_book","color":"yellow"}
+execute unless score $name_given gm4_bookshelf_inspector_data matches 1 store success score $name_given gm4_bookshelf_inspector_data if data storage gm4_bookshelf_inspector:temp book_data{id:"minecraft:book"} run data modify storage gm4_bookshelf_inspector:temp text append value {"translate":"item.minecraft.book"}
+execute unless score $name_given gm4_bookshelf_inspector_data matches 1 store success score $name_given gm4_bookshelf_inspector_data if data storage gm4_bookshelf_inspector:temp book_data{id:"minecraft:book"}.components."minecraft:enchantments" run data modify storage gm4_bookshelf_inspector:temp text append value {"translate":"item.minecraft.book","color":"aqua"}
+execute unless score $name_given gm4_bookshelf_inspector_data matches 1 store success score $name_given gm4_bookshelf_inspector_data if data storage gm4_bookshelf_inspector:temp book_data{id:"minecraft:writable_book"} run data modify storage gm4_bookshelf_inspector:temp text append value {"translate":"item.minecraft.writable_book"}
+execute unless score $name_given gm4_bookshelf_inspector_data matches 1 store success score $name_given gm4_bookshelf_inspector_data if data storage gm4_bookshelf_inspector:temp book_data{id:"minecraft:writable_book"}.components."minecraft:enchantments" run data modify storage gm4_bookshelf_inspector:temp text append value {"translate":"item.minecraft.writable_book","color":"aqua"}
+execute unless score $name_given gm4_bookshelf_inspector_data matches 1 store success score $name_given gm4_bookshelf_inspector_data if data storage gm4_bookshelf_inspector:temp book_data{id:"minecraft:knowledge_book"} run data modify storage gm4_bookshelf_inspector:temp text append value {"translate":"item.minecraft.knowledge_book","color":"light_purple"}
# if written book also display the author
-execute if data storage gm4_bookshelf_inspector:temp book_data{id:"minecraft:written_book"} run data modify storage gm4_bookshelf_inspector:temp text append value '{"translate":"book.byAuthor","with":[{"nbt":"book_data.components.\\"minecraft:written_book_content\\".author","storage":"gm4_bookshelf_inspector:temp"}],"color":"gray"}'
+execute if data storage gm4_bookshelf_inspector:temp book_data{id:"minecraft:written_book"} run data modify storage gm4_bookshelf_inspector:temp text append value {"translate":"book.byAuthor","with":[{"nbt":"book_data.components.'minecraft:written_book_content'.author","storage":"gm4_bookshelf_inspector:temp"}],"color":"gray"}
# if enchanted book with enchantments also display the enchantments
execute if data storage gm4_bookshelf_inspector:temp book_data{id:"minecraft:enchanted_book"}.components."minecraft:stored_enchantments" run function gm4_bookshelf_inspector:process_display/spawn/list_enchantments
diff --git a/gm4_bookshelf_inspector/data/gm4_bookshelf_inspector/function/process_display/spawn/eval_enchantment.mcfunction b/gm4_bookshelf_inspector/data/gm4_bookshelf_inspector/function/process_display/spawn/eval_enchantment.mcfunction
index 89e119e1ac..e8f4d36ac4 100644
--- a/gm4_bookshelf_inspector/data/gm4_bookshelf_inspector/function/process_display/spawn/eval_enchantment.mcfunction
+++ b/gm4_bookshelf_inspector/data/gm4_bookshelf_inspector/function/process_display/spawn/eval_enchantment.mcfunction
@@ -6,5 +6,5 @@
# with $lvl = level of the enchantment as integer
# if enchantment level is 10 or lower display latin number, otherwise just print level
-$execute if score $enchant_lvl gm4_bookshelf_inspector_data matches 1..10 run data modify storage gm4_bookshelf_inspector:store enchantment_list append value '[{"translate":"enchantment.minecraft.$(id)"},{"text":" "},{"translate":"enchantment.level.$(lvl)"}]'
-$execute unless score $enchant_lvl gm4_bookshelf_inspector_data matches 1..10 run data modify storage gm4_bookshelf_inspector:store enchantment_list append value '[{"translate":"enchantment.minecraft.$(id)"},{"text":" $(lvl)"}]'
+$execute if score $enchant_lvl gm4_bookshelf_inspector_data matches 1..10 run data modify storage gm4_bookshelf_inspector:store enchantment_list append value [{"translate":"enchantment.minecraft.$(id)"},{"text":" "},{"translate":"enchantment.level.$(lvl)"}]
+$execute unless score $enchant_lvl gm4_bookshelf_inspector_data matches 1..10 run data modify storage gm4_bookshelf_inspector:store enchantment_list append value [{"translate":"enchantment.minecraft.$(id)"},{"text":" $(lvl)"}]
diff --git a/gm4_bookshelf_inspector/data/gm4_bookshelf_inspector/function/process_display/spawn/init.mcfunction b/gm4_bookshelf_inspector/data/gm4_bookshelf_inspector/function/process_display/spawn/init.mcfunction
index 00bd7b73f9..88da4bd0df 100644
--- a/gm4_bookshelf_inspector/data/gm4_bookshelf_inspector/function/process_display/spawn/init.mcfunction
+++ b/gm4_bookshelf_inspector/data/gm4_bookshelf_inspector/function/process_display/spawn/init.mcfunction
@@ -7,12 +7,12 @@
execute unless entity @e[type=text_display,tag=gm4_bookshelf_inspector_display.extending] run schedule function gm4_bookshelf_inspector:process_display/spawn/tick 1t
# set data
-data merge entity @s {Tags:["gm4_bookshelf_inspector_display","gm4_bookshelf_inspector_display.extending"],default_background:1b,view_range:0.05f,see_through:1b,line_width:130,transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0f,0f],scale:[0f,0f,0f]},text:'{"text":"???"}'}
+data merge entity @s {Tags:["gm4_bookshelf_inspector_display","gm4_bookshelf_inspector_display.extending"],default_background:1b,view_range:0.05f,see_through:1b,line_width:130,transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0f,0f],scale:[0f,0f,0f]},text:{"text":"???"}}
# build text storage
data modify storage gm4_bookshelf_inspector:temp text set value []
function gm4_bookshelf_inspector:process_display/spawn/decide_name
-data modify entity @s text set value '{"nbt":"text[]","storage":"gm4_bookshelf_inspector:temp","separator":"\\n","interpret":true}'
+data modify entity @s text set value {"nbt":"text[]","storage":"gm4_bookshelf_inspector:temp","separator":"\n","interpret":true}
data remove storage gm4_bookshelf_inspector:temp text
# set rotation
diff --git a/gm4_bookshelf_inspector/data/gm4_bookshelf_inspector/function/process_display/spawn/list_enchantments.mcfunction b/gm4_bookshelf_inspector/data/gm4_bookshelf_inspector/function/process_display/spawn/list_enchantments.mcfunction
index 1daeaa1bfe..b9d26c7b01 100644
--- a/gm4_bookshelf_inspector/data/gm4_bookshelf_inspector/function/process_display/spawn/list_enchantments.mcfunction
+++ b/gm4_bookshelf_inspector/data/gm4_bookshelf_inspector/function/process_display/spawn/list_enchantments.mcfunction
@@ -5,13 +5,13 @@
# create array of all enchantments with levels
scoreboard players set $enchantments_max gm4_bookshelf_inspector_data 4
-data modify storage gm4_bookshelf_inspector:temp levels set from storage gm4_bookshelf_inspector:temp book_data.components."minecraft:stored_enchantments".levels
+data modify storage gm4_bookshelf_inspector:temp levels set from storage gm4_bookshelf_inspector:temp book_data.components."minecraft:stored_enchantments"
function gm4_bookshelf_inspector:process_display/spawn/components_to_list
data modify storage gm4_bookshelf_inspector:store enchantment_list set value []
function gm4_bookshelf_inspector:process_display/spawn/process_enchantments
# add to the text
-data modify storage gm4_bookshelf_inspector:temp text append value '{"nbt":"enchantment_list[]","storage":"gm4_bookshelf_inspector:store","separator":"\\n","interpret":true,"color":"gray"}'
+data modify storage gm4_bookshelf_inspector:temp text append value {"nbt":"enchantment_list[]","storage":"gm4_bookshelf_inspector:store","separator":"\n","interpret":true,"color":"gray"}
# cleanup
data remove storage gm4_bookshelf_inspector:temp enchantments
diff --git a/gm4_bookshelf_inspector/data/gm4_bookshelf_inspector/function/process_display/spawn/process_enchantments.mcfunction b/gm4_bookshelf_inspector/data/gm4_bookshelf_inspector/function/process_display/spawn/process_enchantments.mcfunction
index a79b02e798..ec2e11b187 100644
--- a/gm4_bookshelf_inspector/data/gm4_bookshelf_inspector/function/process_display/spawn/process_enchantments.mcfunction
+++ b/gm4_bookshelf_inspector/data/gm4_bookshelf_inspector/function/process_display/spawn/process_enchantments.mcfunction
@@ -20,5 +20,5 @@ scoreboard players remove $enchantments_max gm4_bookshelf_inspector_data 1
data remove storage gm4_bookshelf_inspector:temp enchantments[0]
execute if score $enchantments_max gm4_bookshelf_inspector_data matches 0 store result score $enchantment_count gm4_bookshelf_inspector_data run data get storage gm4_bookshelf_inspector:temp enchantments
execute if score $enchantments_max gm4_bookshelf_inspector_data matches 0 if score $enchantment_count gm4_bookshelf_inspector_data matches 1 run function gm4_bookshelf_inspector:process_display/spawn/process_enchantments
-execute if score $enchantments_max gm4_bookshelf_inspector_data matches 0 if score $enchantment_count gm4_bookshelf_inspector_data matches 2.. run data modify storage gm4_bookshelf_inspector:store enchantment_list append value '{"translate":"container.shulkerBox.more","with":[{"score":{"name":"$enchantment_count","objective":"gm4_bookshelf_inspector_data"}}]}'
+execute if score $enchantments_max gm4_bookshelf_inspector_data matches 0 if score $enchantment_count gm4_bookshelf_inspector_data matches 2.. run data modify storage gm4_bookshelf_inspector:store enchantment_list append value {"translate":"container.shulkerBox.more","with":[{"score":{"name":"$enchantment_count","objective":"gm4_bookshelf_inspector_data"}}]}
execute if score $enchantments_max gm4_bookshelf_inspector_data matches 1.. if data storage gm4_bookshelf_inspector:temp enchantments[0] run function gm4_bookshelf_inspector:process_display/spawn/process_enchantments
diff --git a/gm4_boots_of_ostara/beet.yaml b/gm4_boots_of_ostara/beet.yaml
index f35d3d7d23..6ed55b7687 100644
--- a/gm4_boots_of_ostara/beet.yaml
+++ b/gm4_boots_of_ostara/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_boots_of_ostara
name: Boots of Ostara
-version: 1.7.X
+version: 1.8.X
data_pack:
load: .
@@ -16,7 +16,7 @@ meta:
gm4:
versioning:
required:
- lib_custom_crafters: 3.2.0
+ lib_custom_crafters: 3.4.0
schedule_loops: [main]
model_data:
- item: leather_boots
diff --git a/gm4_boots_of_ostara/data/gm4_boots_of_ostara/gm4_recipes/boots_of_ostara.json b/gm4_boots_of_ostara/data/gm4_boots_of_ostara/gm4_recipes/boots_of_ostara.json
index 04ee73c310..3e2a7f4026 100644
--- a/gm4_boots_of_ostara/data/gm4_boots_of_ostara/gm4_recipes/boots_of_ostara.json
+++ b/gm4_boots_of_ostara/data/gm4_boots_of_ostara/gm4_recipes/boots_of_ostara.json
@@ -32,13 +32,15 @@
"name": "minecraft:leather_boots",
"image": "gm4:boots_of_ostara",
"components": {
- "minecraft:custom_name": "{\"translate\": \"item.gm4.boots_of_ostara\",\"fallback\": \"Boots of Ostara\",\"italic\":false}",
+ "minecraft:custom_name": {"translate": "item.gm4.boots_of_ostara","fallback": "Boots of Ostara","italic":false},
"minecraft:lore": [
- "{\"translate\": \"item.gm4.boots_of_ostara.lore\",\"fallback\": \"Brings abundance beneath you!\",\"color\": \"dark_gray\",\"italic\": true}"
+ {"translate": "item.gm4.boots_of_ostara.lore","fallback": "Brings abundance beneath you!","color": "dark_gray","italic": true}
],
- "minecraft:dyed_color": {
- "rgb": 3705899,
- "show_in_tooltip": false
+ "minecraft:dyed_color": 3705899,
+ "minecraft:tooltip_display": {
+ "hidden_components": [
+ "minecraft:dyed_color"
+ ]
}
},
"count": 1
diff --git a/gm4_boots_of_ostara/data/gm4_boots_of_ostara/item_modifier/boots_of_ostara.json b/gm4_boots_of_ostara/data/gm4_boots_of_ostara/item_modifier/boots_of_ostara.json
index 023f56da5a..3f525e2cc3 100644
--- a/gm4_boots_of_ostara/data/gm4_boots_of_ostara/item_modifier/boots_of_ostara.json
+++ b/gm4_boots_of_ostara/data/gm4_boots_of_ostara/item_modifier/boots_of_ostara.json
@@ -2,9 +2,11 @@
{
"function": "minecraft:set_components",
"components": {
- "minecraft:dyed_color": {
- "rgb": 3705899,
- "show_in_tooltip": false
+ "minecraft:dyed_color": 3705899,
+ "minecraft:tooltip_display": {
+ "hidden_components": [
+ "minecraft:dyed_color"
+ ]
},
"minecraft:custom_model_data": "item/boots_of_ostara"
}
diff --git a/gm4_boots_of_ostara/data/gm4_boots_of_ostara/recipe/boots_of_ostara.json b/gm4_boots_of_ostara/data/gm4_boots_of_ostara/recipe/boots_of_ostara.json
index b8983beba9..8d51843996 100644
--- a/gm4_boots_of_ostara/data/gm4_boots_of_ostara/recipe/boots_of_ostara.json
+++ b/gm4_boots_of_ostara/data/gm4_boots_of_ostara/recipe/boots_of_ostara.json
@@ -16,15 +16,17 @@
"result": {
"id": "minecraft:leather_boots",
"components": {
- "minecraft:dyed_color": {
- "rgb": 3705899,
- "show_in_tooltip": false
+ "minecraft:dyed_color": 3705899,
+ "minecraft:tooltip_display": {
+ "hidden_components": [
+ "minecraft:dyed_color"
+ ]
},
"minecraft:custom_model_data": "item/boots_of_ostara",
"minecraft:custom_data": "{gm4_boots_of_ostara:1b}",
- "minecraft:custom_name": "{\"translate\": \"item.gm4.boots_of_ostara\",\"fallback\": \"Boots of Ostara\",\"italic\": false}",
+ "minecraft:custom_name": {"translate": "item.gm4.boots_of_ostara","fallback": "Boots of Ostara","italic": false},
"minecraft:lore": [
- "{\"translate\":\"item.gm4.boots_of_ostara.lore\",\"fallback\":\"Brings abundance beneath you!\",\"color\":\"dark_gray\",\"italic\":false}"
+ {"translate":"item.gm4.boots_of_ostara.lore","fallback":"Brings abundance beneath you!","color":"dark_gray","italic":false}
]
}
}
diff --git a/gm4_boots_of_ostara/data/gm4_boots_of_ostara/test/craft_keep_data.mcfunction b/gm4_boots_of_ostara/data/gm4_boots_of_ostara/test/craft_keep_data.mcfunction
new file mode 100644
index 0000000000..b5cd7e285c
--- /dev/null
+++ b/gm4_boots_of_ostara/data/gm4_boots_of_ostara/test/craft_keep_data.mcfunction
@@ -0,0 +1,10 @@
+# @template gm4_custom_crafters:test_platform
+
+item replace block ~1 ~1 ~1 container.1 with minecraft:wheat_seeds
+item replace block ~1 ~1 ~1 container.3 with minecraft:moss_block
+item replace block ~1 ~1 ~1 container.4 with minecraft:leather_boots[damage=15]
+item replace block ~1 ~1 ~1 container.5 with minecraft:grass_block
+item replace block ~1 ~1 ~1 container.7 with minecraft:water_bucket
+
+await items block ~1 ~1 ~1 container.* minecraft:leather_boots[custom_data~{gm4_boots_of_ostara:1b},damage=15]
+await items block ~1 ~1 ~1 container.* minecraft:bucket[count=1]
diff --git a/gm4_calling_bell/beet.yaml b/gm4_calling_bell/beet.yaml
index 39ee473f35..5259013356 100644
--- a/gm4_calling_bell/beet.yaml
+++ b/gm4_calling_bell/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_calling_bell
name: Calling Bell
-version: 1.4.X
+version: 1.5.X
data_pack:
load: .
@@ -13,7 +13,7 @@ meta:
gm4:
versioning:
required:
- lib_trades: 1.5.0
+ lib_trades: 1.6.0
schedule_loops:
- tick
- day_clock
diff --git a/gm4_cement_mixers/beet.yaml b/gm4_cement_mixers/beet.yaml
index 0242929a5e..ba86815e2f 100644
--- a/gm4_cement_mixers/beet.yaml
+++ b/gm4_cement_mixers/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_cement_mixers
name: Cement Mixers
-version: 1.4.X
+version: 1.5.X
data_pack:
load: .
@@ -12,7 +12,7 @@ meta:
gm4:
versioning:
required:
- gm4_liquid_tanks: 2.3.0
+ gm4_liquid_tanks: 2.7.0
website:
description: Allows Liquid Tanks to convert Concrete Powder items into Concrete, at the cost of â…“ of a Bucket of Water per Concrete Powder.
recommended: []
diff --git a/gm4_chairs/beet.yaml b/gm4_chairs/beet.yaml
index 102f216dc0..0c27bc9525 100644
--- a/gm4_chairs/beet.yaml
+++ b/gm4_chairs/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_chairs
name: Chairs
-version: 1.5.X
+version: 1.6.X
data_pack:
load: .
diff --git a/gm4_chairs/data/gm4_chairs/function/create_chair.mcfunction b/gm4_chairs/data/gm4_chairs/function/create_chair.mcfunction
index c099ec1238..15184a5a60 100644
--- a/gm4_chairs/data/gm4_chairs/function/create_chair.mcfunction
+++ b/gm4_chairs/data/gm4_chairs/function/create_chair.mcfunction
@@ -4,7 +4,7 @@
# run from main
# spawn chair
-summon minecraft:pig ~ ~-10000.39 ~ {CustomName:'"gm4_chair"',Tags:["gm4_chairs","smithed.entity","smithed.strict","smithed.block"],Team:"gm4_chairs",NoAI:1b,Saddle:1b,NoGravity:1b,Silent:1b,DeathTime:19s,InLove:2147483647,attributes:[{id:"minecraft:max_health",base:1.0},{id:"minecraft:movement_speed",base:0.0}],active_effects:[{id:'minecraft:invisibility',amplifier:0,duration:2147483647,show_particles:0b},{id:'minecraft:resistance',amplifier:10b,duration:2147483647,show_particles:0b}],DeathLootTable:"gm4:empty"}
+summon minecraft:pig ~ ~-10000.39 ~ {CustomName:"gm4_chair",Tags:["gm4_chairs","smithed.entity","smithed.strict","smithed.block"],Team:"gm4_chairs",NoAI:1b,equipment:{saddle:{id:"minecraft:saddle"}},NoGravity:1b,Silent:1b,DeathTime:19s,InLove:2147483647,attributes:[{id:"minecraft:max_health",base:1.0},{id:"minecraft:movement_speed",base:0.0}],active_effects:[{id:'minecraft:invisibility',amplifier:0,duration:2147483647,show_particles:0b},{id:'minecraft:resistance',amplifier:10b,duration:2147483647,show_particles:0b}],DeathLootTable:"gm4:empty"}
# set chair to orientation of stairs
execute if block ~ ~ ~ #minecraft:stairs[facing=north] positioned ~ ~-10000 ~ as @e[type=minecraft:pig,tag=gm4_chairs,distance=..0.4,limit=1] at @s run tp @s ~ ~10000 ~.05 0 0
diff --git a/gm4_chairs/data/gm4_chairs/function/lightning/revive_chair.mcfunction b/gm4_chairs/data/gm4_chairs/function/lightning/revive_chair.mcfunction
index 3b4417b973..40635838f8 100644
--- a/gm4_chairs/data/gm4_chairs/function/lightning/revive_chair.mcfunction
+++ b/gm4_chairs/data/gm4_chairs/function/lightning/revive_chair.mcfunction
@@ -4,7 +4,7 @@
# runs from lightning/delay
# spawn chair
-summon minecraft:pig ~ ~-10000 ~ {Tags:["gm4_chairs","smithed.entity","smithed.strict","smithed.block"],Team:"gm4_chairs",NoAI:1b,Saddle:1b,NoGravity:1b,Silent:1b,DeathTime:19s,InLove:2147483647,attributes:[{id:"minecraft:movement_speed",base:0.0}],active_effects:[{id:'minecraft:invisibility',amplifier:0,duration:2147483647,show_particles:0b},{id:'minecraft:resistance',amplifier:10b,duration:2147483647,show_particles:0b}],DeathLootTable:"gm4:empty"}
+summon minecraft:pig ~ ~-10000 ~ {Tags:["gm4_chairs","smithed.entity","smithed.strict","smithed.block"],Team:"gm4_chairs",NoAI:1b,equipment:{saddle:{id:"minecraft:saddle"}},NoGravity:1b,Silent:1b,DeathTime:19s,InLove:2147483647,attributes:[{id:"minecraft:movement_speed",base:0.0}],active_effects:[{id:'minecraft:invisibility',amplifier:0,duration:2147483647,show_particles:0b},{id:'minecraft:resistance',amplifier:10b,duration:2147483647,show_particles:0b}],DeathLootTable:"gm4:empty"}
execute positioned ~ ~-10000 ~ run scoreboard players set @e[type=pig,tag=gm4_chairs,limit=1,distance=..0.1] gm4_entity_version 1
# copy zombified piglin rotation
diff --git a/gm4_chairs/data/gm4_chairs/function/lightning/tag.mcfunction b/gm4_chairs/data/gm4_chairs/function/lightning/tag.mcfunction
index a15485219a..83a221a6e5 100644
--- a/gm4_chairs/data/gm4_chairs/function/lightning/tag.mcfunction
+++ b/gm4_chairs/data/gm4_chairs/function/lightning/tag.mcfunction
@@ -5,4 +5,4 @@
advancement revoke @s only gm4_chairs:lightning
-execute as @e[type=zombified_piglin,nbt={NoAI:1b}] unless data entity @s Tags at @s if block ~ ~1 ~ #minecraft:stairs run function gm4_chairs:lightning/revive_chair
+execute as @e[type=zombified_piglin,tag=gm4_chairs] at @s if block ~ ~1 ~ #minecraft:stairs run function gm4_chairs:lightning/revive_chair
diff --git a/gm4_chairs/data/gm4_chairs/function/main.mcfunction b/gm4_chairs/data/gm4_chairs/function/main.mcfunction
index e5f8f9f45d..7617801439 100644
--- a/gm4_chairs/data/gm4_chairs/function/main.mcfunction
+++ b/gm4_chairs/data/gm4_chairs/function/main.mcfunction
@@ -2,7 +2,6 @@
execute as @e[type=minecraft:item,tag=!gm4_chairs_ignore] if items entity @s contents minecraft:saddle at @s if block ~ ~ ~ #minecraft:stairs[half=bottom] align xyz positioned ~.5 ~ ~.5 unless entity @e[type=minecraft:pig,tag=gm4_chairs,distance=..0.4] run function gm4_chairs:create_chair
# kill pig (saddle) if stairs broken
-execute as @e[type=minecraft:pig,tag=gm4_chairs,tag=!smithed.entity] run function gm4_chairs:upgrade_path/smithed_compat
execute as @e[type=minecraft:pig,tag=gm4_chairs] at @s unless block ~ ~1 ~ #minecraft:stairs positioned ~ ~.5 ~ run function gm4_chairs:kill
schedule function gm4_chairs:main 16t
diff --git a/gm4_chairs/data/gm4_chairs/function/upgrade_path/smithed_compat.mcfunction b/gm4_chairs/data/gm4_chairs/function/upgrade_path/smithed_compat.mcfunction
deleted file mode 100644
index 887a2d48dd..0000000000
--- a/gm4_chairs/data/gm4_chairs/function/upgrade_path/smithed_compat.mcfunction
+++ /dev/null
@@ -1,9 +0,0 @@
-# updates entities with smithed tags and entity version
-# @s = old chair pig
-# located at world spawn
-# run from gm4_chairs:main
-
-tag @s add smithed.block
-tag @s add smithed.entity
-tag @s add smithed.strict
-scoreboard players set @s gm4_entity_version 1
diff --git a/gm4_chairs/data/gm4_chairs/test/create.mcfunction b/gm4_chairs/data/gm4_chairs/test/create.mcfunction
index 83f332f05a..692fcb46d4 100644
--- a/gm4_chairs/data/gm4_chairs/test/create.mcfunction
+++ b/gm4_chairs/data/gm4_chairs/test/create.mcfunction
@@ -3,4 +3,4 @@
setblock ~ ~ ~ mangrove_stairs[facing=south]
summon item ~0.5 ~1 ~0.25 {Item:{id:"minecraft:saddle",count:1}}
-await entity @e[type=pig,dx=0,nbt={Saddle:1b}]
+await items entity @e[type=pig,dx=0] saddle minecraft:saddle
diff --git a/gm4_combat_expanded/README.md b/gm4_combat_expanded/README.md
deleted file mode 100644
index c99565636d..0000000000
--- a/gm4_combat_expanded/README.md
+++ /dev/null
@@ -1,14 +0,0 @@
-# Combat Expanded
-
-Use special weapon and armour modifiers to defend against mobs that grow ever stronger!
-
-
-
-### Features
-- The longer you stay alive the stronger mobs will become.
-- Different biomes grant special buffs to mobs that spawn in them, creating bigger Slimes or Spore Zombies that keep regrowing!
-- Weaker Phantoms that take damage if they try to fly into water, as they deserve.
-- Mobs will drop new Modified armour and weapons. These come with special attributes that allow you to customize your gear!
-- Modifiers range from a ramping speed boost to a loyal immortal dog to fight by your side. Or a piece of armour that teleports you randomly, if that's what you like.
-
-A full list of all modifiers to mobs, weapons and armour can be found at the [Wiki](https://wiki.gm4.co/Combat_Expanded).
diff --git a/gm4_combat_expanded/assets/gm4_combat_expanded/textures/entity/wolf/gm4_ce_canine.png b/gm4_combat_expanded/assets/gm4_combat_expanded/textures/entity/wolf/gm4_ce_canine.png
deleted file mode 100644
index 1cfbfe01b2..0000000000
Binary files a/gm4_combat_expanded/assets/gm4_combat_expanded/textures/entity/wolf/gm4_ce_canine.png and /dev/null differ
diff --git a/gm4_combat_expanded/assets/gm4_combat_expanded/textures/entity/wolf/gm4_ce_canine_alt.png b/gm4_combat_expanded/assets/gm4_combat_expanded/textures/entity/wolf/gm4_ce_canine_alt.png
deleted file mode 100644
index 2741657863..0000000000
Binary files a/gm4_combat_expanded/assets/gm4_combat_expanded/textures/entity/wolf/gm4_ce_canine_alt.png and /dev/null differ
diff --git a/gm4_combat_expanded/assets/gm4_combat_expanded/textures/entity/wolf/gm4_ce_canine_alt_angry.png b/gm4_combat_expanded/assets/gm4_combat_expanded/textures/entity/wolf/gm4_ce_canine_alt_angry.png
deleted file mode 100644
index 2384baef8f..0000000000
Binary files a/gm4_combat_expanded/assets/gm4_combat_expanded/textures/entity/wolf/gm4_ce_canine_alt_angry.png and /dev/null differ
diff --git a/gm4_combat_expanded/assets/gm4_combat_expanded/textures/entity/wolf/gm4_ce_canine_alt_tame.png b/gm4_combat_expanded/assets/gm4_combat_expanded/textures/entity/wolf/gm4_ce_canine_alt_tame.png
deleted file mode 100644
index 3a26f14972..0000000000
Binary files a/gm4_combat_expanded/assets/gm4_combat_expanded/textures/entity/wolf/gm4_ce_canine_alt_tame.png and /dev/null differ
diff --git a/gm4_combat_expanded/assets/gm4_combat_expanded/textures/entity/wolf/gm4_ce_canine_angry.png b/gm4_combat_expanded/assets/gm4_combat_expanded/textures/entity/wolf/gm4_ce_canine_angry.png
deleted file mode 100644
index db168847bb..0000000000
Binary files a/gm4_combat_expanded/assets/gm4_combat_expanded/textures/entity/wolf/gm4_ce_canine_angry.png and /dev/null differ
diff --git a/gm4_combat_expanded/assets/gm4_combat_expanded/textures/entity/wolf/gm4_ce_canine_tame.png b/gm4_combat_expanded/assets/gm4_combat_expanded/textures/entity/wolf/gm4_ce_canine_tame.png
deleted file mode 100644
index 1cfbfe01b2..0000000000
Binary files a/gm4_combat_expanded/assets/gm4_combat_expanded/textures/entity/wolf/gm4_ce_canine_tame.png and /dev/null differ
diff --git a/gm4_combat_expanded/beet.yaml b/gm4_combat_expanded/beet.yaml
deleted file mode 100644
index 6280943042..0000000000
--- a/gm4_combat_expanded/beet.yaml
+++ /dev/null
@@ -1,51 +0,0 @@
-id: gm4_combat_expanded
-name: Combat Expanded
-version: 2.2.X
-
-data_pack:
- load: .
-
-resource_pack:
- load: .
-
-pipeline:
- - gm4.plugins.extend.module
- - gm4.plugins.include.lib_forceload
- - gm4.plugins.include.lib_lore
-
-meta:
- gm4:
- minecraft: []
- versioning:
- required:
- lib_forceload: 1.4.0
- lib_lore: 1.2.0
- schedule_loops:
- - tick
- - main
- - slow_clock
- website:
- description: Use special armor and weapon modifiers to defend against mobs that grow ever stronger.
- recommended:
- - gm4_metallurgy
- video: null
- wiki: https://wiki.gm4.co/wiki/Combat_Expanded
- credits:
- Creator:
- - Thanathor
- Icon Design:
- - Hozz
- model_data:
- - template: advancement
- broadcast:
- - item: leather_chestplate
- reference: gui/advancement/combat_expanded_identify
- translation_linter_ignores:
- - enchantment.level.14
- - enchantment.level.15
- - enchantment.level.16
- - enchantment.level.17
- modrinth:
- project_id: zgxd3poi
- smithed:
- pack_id: gm4_combat_expanded
diff --git a/gm4_combat_expanded/data/gm4/advancement/combat_expanded_identify.json b/gm4_combat_expanded/data/gm4/advancement/combat_expanded_identify.json
deleted file mode 100644
index 5ff75ae37a..0000000000
--- a/gm4_combat_expanded/data/gm4/advancement/combat_expanded_identify.json
+++ /dev/null
@@ -1,35 +0,0 @@
-{
- "display": {
- "icon": {
- "id": "minecraft:leather_chestplate",
- "components": {
- "minecraft:custom_model_data": "gui/advancement/combat_expanded_identify"
- }
- },
- "title": {
- "translate": "advancement.gm4.combat_expanded.identify.title",
- "fallback": "Hidden Power"
- },
- "description": {
- "translate": "advancement.gm4.combat_expanded.identify.description",
- "fallback": "Obtain a Modified weapon or piece of armor from a mob",
- "color": "gray"
- },
- "frame": "task"
- },
- "parent": "gm4:root",
- "criteria": {
- "full_set": {
- "trigger": "minecraft:inventory_changed",
- "conditions": {
- "items": [
- {
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{}}"
- }
- }
- ]
- }
- }
- }
-}
diff --git a/gm4_combat_expanded/data/gm4/advancement/combat_expanded_vorpal.json b/gm4_combat_expanded/data/gm4/advancement/combat_expanded_vorpal.json
deleted file mode 100644
index bae474698d..0000000000
--- a/gm4_combat_expanded/data/gm4/advancement/combat_expanded_vorpal.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- "display": {
- "icon": {
- "id": "minecraft:chorus_fruit"
- },
- "title": {
- "translate": "advancement.gm4.combat_expanded.vorpal.title",
- "fallback": "Vwoops!"
- },
- "description": {
- "translate": "advancement.gm4.combat_expanded.vorpal.description",
- "fallback": "Who thought this was a good idea?"
- },
- "frame": "challenge",
- "hidden": true
- },
- "parent": "gm4:combat_expanded_identify",
- "criteria": {
- "guardian": {
- "trigger": "minecraft:impossible"
- }
- }
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/advancement/damaged/armor/burn.json b/gm4_combat_expanded/data/gm4_combat_expanded/advancement/damaged/armor/burn.json
deleted file mode 100644
index 591144750d..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/advancement/damaged/armor/burn.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
- "criteria": {
- "damage": {
- "trigger": "minecraft:entity_hurt_player",
- "conditions": {
- "player": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:modified_armor/burn"
- }
- ],
- "damage": {
- "blocked": false,
- "type": {
- "tags": [
- {
- "id": "minecraft:bypasses_invulnerability",
- "expected": false
- }
- ]
- }
- }
- }
- }
- },
- "rewards": {
- "function": "gm4_combat_expanded:armor/modifier/type/burn/trigger_damage"
- }
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/advancement/damaged/armor/reactive.json b/gm4_combat_expanded/data/gm4_combat_expanded/advancement/damaged/armor/reactive.json
deleted file mode 100644
index 6c3fbc38eb..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/advancement/damaged/armor/reactive.json
+++ /dev/null
@@ -1,65 +0,0 @@
-{
- "criteria": {
- "damage": {
- "trigger": "minecraft:entity_hurt_player",
- "conditions": {
- "player": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:modified_armor/reactive"
- },
- {
- "condition": "minecraft:inverted",
- "term": {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": "this",
- "score": "gm4_ce_t_reactive"
- },
- "range": {
- "min": 1
- }
- }
- },
- {
- "condition": "minecraft:inverted",
- "term": {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": "this",
- "score": "gm4_ce_absorped"
- },
- "range": {
- "min": 1
- }
- }
- }
- ],
- "damage": {
- "taken": {
- "min": 1
- },
- "blocked": false,
- "type": {
- "tags": [
- {
- "id": "minecraft:bypasses_invulnerability",
- "expected": false
- },
- {
- "id": "minecraft:bypasses_effects",
- "expected": false
- }
- ],
- "source_entity": {}
- }
- }
- }
- }
- },
- "rewards": {
- "function": "gm4_combat_expanded:armor/modifier/type/reactive/add_level"
- }
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/advancement/damaged/armor/shielded.json b/gm4_combat_expanded/data/gm4_combat_expanded/advancement/damaged/armor/shielded.json
deleted file mode 100644
index 6e5639b913..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/advancement/damaged/armor/shielded.json
+++ /dev/null
@@ -1,40 +0,0 @@
-{
- "criteria": {
- "damage": {
- "trigger": "minecraft:entity_hurt_player",
- "conditions": {
- "player": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:modified_armor/shielded"
- },
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": "this",
- "score": "gm4_ce_absorped"
- },
- "range": {
- "min": 1
- }
- }
- ],
- "damage": {
- "blocked": false,
- "type": {
- "tags": [
- {
- "id": "minecraft:bypasses_invulnerability",
- "expected": false
- }
- ]
- }
- }
- }
- }
- },
- "rewards": {
- "function": "gm4_combat_expanded:armor/modifier/type/shielded/lose_shield"
- }
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/advancement/damaged/armor/spark.json b/gm4_combat_expanded/data/gm4_combat_expanded/advancement/damaged/armor/spark.json
deleted file mode 100644
index 0817ef471f..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/advancement/damaged/armor/spark.json
+++ /dev/null
@@ -1,30 +0,0 @@
-{
- "criteria": {
- "damage": {
- "trigger": "minecraft:entity_hurt_player",
- "conditions": {
- "player": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:modified_armor/spark"
- }
- ],
- "damage": {
- "blocked": false,
- "type": {
- "tags": [
- {
- "id": "minecraft:bypasses_invulnerability",
- "expected": false
- }
- ],
- "source_entity": {}
- }
- }
- }
- }
- },
- "rewards": {
- "function": "gm4_combat_expanded:armor/modifier/type/spark/activate"
- }
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/advancement/damaged/armor/toxic.json b/gm4_combat_expanded/data/gm4_combat_expanded/advancement/damaged/armor/toxic.json
deleted file mode 100644
index b9dbc8ab7f..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/advancement/damaged/armor/toxic.json
+++ /dev/null
@@ -1,37 +0,0 @@
-{
- "criteria": {
- "damage": {
- "trigger": "minecraft:entity_hurt_player",
- "conditions": {
- "player": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:modified_armor/toxic"
- }
- ],
- "damage": {
- "taken": {
- "min": 1
- },
- "blocked": false,
- "type": {
- "tags": [
- {
- "id": "minecraft:bypasses_invulnerability",
- "expected": false
- },
- {
- "id": "minecraft:bypasses_effects",
- "expected": false
- }
- ],
- "source_entity": {}
- }
- }
- }
- }
- },
- "rewards": {
- "function": "gm4_combat_expanded:armor/modifier/type/toxic/activate"
- }
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/advancement/damaged/armor/vorpal.json b/gm4_combat_expanded/data/gm4_combat_expanded/advancement/damaged/armor/vorpal.json
deleted file mode 100644
index f1d2a72a1f..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/advancement/damaged/armor/vorpal.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
- "criteria": {
- "damage": {
- "trigger": "minecraft:entity_hurt_player",
- "conditions": {
- "player": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:modified_armor/vorpal"
- }
- ],
- "damage": {
- "blocked": false,
- "type": {
- "tags": [
- {
- "id": "minecraft:bypasses_invulnerability",
- "expected": false
- }
- ]
- }
- }
- }
- }
- },
- "rewards": {
- "function": "gm4_combat_expanded:armor/modifier/type/vorpal/schedule"
- }
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/advancement/damaged/armor/wild_magic.json b/gm4_combat_expanded/data/gm4_combat_expanded/advancement/damaged/armor/wild_magic.json
deleted file mode 100644
index d367483bde..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/advancement/damaged/armor/wild_magic.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
- "criteria": {
- "damage": {
- "trigger": "minecraft:entity_hurt_player",
- "conditions": {
- "player": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:modified_armor/wild_magic"
- }
- ],
- "damage": {
- "blocked": false,
- "type": {
- "tags": [
- {
- "id": "minecraft:bypasses_invulnerability",
- "expected": false
- }
- ]
- }
- }
- }
- }
- },
- "rewards": {
- "function": "gm4_combat_expanded:armor/modifier/type/wild_magic/activate"
- }
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/advancement/damaged/in_pvp.json b/gm4_combat_expanded/data/gm4_combat_expanded/advancement/damaged/in_pvp.json
deleted file mode 100644
index b54ad91ba7..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/advancement/damaged/in_pvp.json
+++ /dev/null
@@ -1,37 +0,0 @@
-{
- "criteria": {
- "damage_player": {
- "trigger": "minecraft:player_hurt_entity",
- "conditions": {
- "entity": [
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "type": "minecraft:player"
- }
- }
- ]
- }
- },
- "damaged_by_player": {
- "trigger": "minecraft:entity_hurt_player",
- "conditions": {
- "damage": {
- "source_entity": {
- "type": "minecraft:player"
- }
- }
- }
- }
- },
- "requirements": [
- [
- "damage_player",
- "damaged_by_player"
- ]
- ],
- "rewards": {
- "function": "gm4_combat_expanded:player/in_pvp"
- }
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/advancement/damaged/mob/infesting.json b/gm4_combat_expanded/data/gm4_combat_expanded/advancement/damaged/mob/infesting.json
deleted file mode 100644
index e7976368ee..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/advancement/damaged/mob/infesting.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "criteria": {
- "requirement": {
- "trigger": "minecraft:entity_hurt_player",
- "conditions": {
- "damage": {
- "blocked": false,
- "source_entity": {
- "nbt": "{Tags:[\"gm4_ce_infesting_attacks\"]}"
- }
- }
- }
- }
- },
- "rewards": {
- "function": "gm4_combat_expanded:mob/process/attack_effect/infesting_attack"
- }
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/advancement/damaged/mob/poison.json b/gm4_combat_expanded/data/gm4_combat_expanded/advancement/damaged/mob/poison.json
deleted file mode 100644
index 2f96ef80a1..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/advancement/damaged/mob/poison.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "criteria": {
- "requirement": {
- "trigger": "minecraft:entity_hurt_player",
- "conditions": {
- "damage": {
- "blocked": false,
- "source_entity": {
- "nbt": "{Tags:[\"gm4_ce_poison_attack\"]}"
- }
- }
- }
- }
- },
- "rewards": {
- "function": "gm4_combat_expanded:mob/process/attack_effect/poison_attack"
- }
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/advancement/damaged/mob/slowing.json b/gm4_combat_expanded/data/gm4_combat_expanded/advancement/damaged/mob/slowing.json
deleted file mode 100644
index 648126c417..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/advancement/damaged/mob/slowing.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "criteria": {
- "requirement": {
- "trigger": "minecraft:entity_hurt_player",
- "conditions": {
- "damage": {
- "blocked": false,
- "source_entity": {
- "nbt": "{Tags:[\"gm4_ce_slowing_attacks\"]}"
- }
- }
- }
- }
- },
- "rewards": {
- "function": "gm4_combat_expanded:mob/process/attack_effect/slowing_attack"
- }
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/advancement/damaged/mob/toxic.json b/gm4_combat_expanded/data/gm4_combat_expanded/advancement/damaged/mob/toxic.json
deleted file mode 100644
index f13e6bd085..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/advancement/damaged/mob/toxic.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "criteria": {
- "requirement": {
- "trigger": "minecraft:entity_hurt_player",
- "conditions": {
- "damage": {
- "blocked": false,
- "source_entity": {
- "nbt": "{Tags:[\"gm4_ce_poison_bite\"]}"
- }
- }
- }
- }
- },
- "rewards": {
- "function": "gm4_combat_expanded:mob/process/attack_effect/toxic_bite"
- }
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/advancement/damaged/mob/weakness.json b/gm4_combat_expanded/data/gm4_combat_expanded/advancement/damaged/mob/weakness.json
deleted file mode 100644
index 22ab04c7fe..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/advancement/damaged/mob/weakness.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "criteria": {
- "requirement": {
- "trigger": "minecraft:entity_hurt_player",
- "conditions": {
- "damage": {
- "blocked": false,
- "source_entity": {
- "nbt": "{Tags:[\"gm4_ce_weakness_attacks\"]}"
- }
- }
- }
- }
- },
- "rewards": {
- "function": "gm4_combat_expanded:mob/process/attack_effect/weakness_attack"
- }
-}
-
\ No newline at end of file
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/advancement/damaged/stop_regen.json b/gm4_combat_expanded/data/gm4_combat_expanded/advancement/damaged/stop_regen.json
deleted file mode 100644
index 817db6a3aa..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/advancement/damaged/stop_regen.json
+++ /dev/null
@@ -1,77 +0,0 @@
-{
- "criteria": {
- "long_regeneration_pause": {
- "trigger": "minecraft:entity_hurt_player",
- "conditions": {
- "player": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$natural_regen"
- },
- "score": "gm4_ce_data"
- },
- "range": 0
- }
- ],
- "damage": {
- "taken": {
- "min": 1
- },
- "type": {
- "tags": [
- {
- "id": "gm4_combat_expanded:long_regeneration_pause",
- "expected": true
- }
- ]
- }
- }
- }
- },
- "short_regeneration_pause": {
- "trigger": "minecraft:entity_hurt_player",
- "conditions": {
- "player": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$natural_regen"
- },
- "score": "gm4_ce_data"
- },
- "range": 0
- }
- ],
- "damage": {
- "taken": {
- "min": 1
- },
- "type": {
- "tags": [
- {
- "id": "gm4_combat_expanded:short_regeneration_pause",
- "expected": true
- }
- ]
- }
- }
- }
- }
- },
- "requirements": [
- [
- "long_regeneration_pause",
- "short_regeneration_pause"
- ]
- ],
- "rewards": {
- "function": "gm4_combat_expanded:player/regen/pause"
- }
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/advancement/effect_immunity.json b/gm4_combat_expanded/data/gm4_combat_expanded/advancement/effect_immunity.json
deleted file mode 100644
index 0f3c51cb80..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/advancement/effect_immunity.json
+++ /dev/null
@@ -1,191 +0,0 @@
-{
- "criteria": {
- "mining_fatigue": {
- "trigger": "minecraft:effects_changed",
- "conditions": {
- "player": [
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "nbt": "{Tags:[\"gm4_ce_immune_fatigue\"]}"
- }
- }
- ],
- "effects": {
- "minecraft:mining_fatigue": {}
- }
- }
- },
- "wither": {
- "trigger": "minecraft:effects_changed",
- "conditions": {
- "player": [
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "nbt": "{Tags:[\"gm4_ce_immune_wither\"]}"
- }
- }
- ],
- "effects": {
- "minecraft:wither": {}
- }
- }
- },
- "poison": {
- "trigger": "minecraft:effects_changed",
- "conditions": {
- "player": [
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "nbt": "{Tags:[\"gm4_ce_immune_poison\"]}"
- }
- }
- ],
- "effects": {
- "minecraft:poison": {}
- }
- }
- },
- "hunger": {
- "trigger": "minecraft:effects_changed",
- "conditions": {
- "player": [
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "nbt": "{Tags:[\"gm4_ce_immune_hunger\"]}"
- }
- }
- ],
- "effects": {
- "minecraft:hunger": {}
- }
- }
- },
- "blindness": {
- "trigger": "minecraft:effects_changed",
- "conditions": {
- "player": [
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "nbt": "{Tags:[\"gm4_ce_immune_blind\"]}"
- }
- }
- ],
- "effects": {
- "minecraft:blindness": {}
- }
- }
- },
- "nausea": {
- "trigger": "minecraft:effects_changed",
- "conditions": {
- "player": [
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "nbt": "{Tags:[\"gm4_ce_immune_nausea\"]}"
- }
- }
- ],
- "effects": {
- "minecraft:nausea": {}
- }
- }
- },
- "weakness": {
- "trigger": "minecraft:effects_changed",
- "conditions": {
- "player": [
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "nbt": "{Tags:[\"gm4_ce_immune_weakness\"]}"
- }
- }
- ],
- "effects": {
- "minecraft:weakness": {}
- }
- }
- },
- "levitation": {
- "trigger": "minecraft:effects_changed",
- "conditions": {
- "player": [
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "nbt": "{Tags:[\"gm4_ce_immune_levitation\"]}"
- }
- }
- ],
- "effects": {
- "minecraft:levitation": {}
- }
- }
- },
- "slow_falling": {
- "trigger": "minecraft:effects_changed",
- "conditions": {
- "player": [
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "nbt": "{Tags:[\"gm4_ce_immune_slow_falling\"]}"
- }
- }
- ],
- "effects": {
- "minecraft:slow_falling": {}
- }
- }
- },
- "slowness": {
- "trigger": "minecraft:effects_changed",
- "conditions": {
- "player": [
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "nbt": "{Tags:[\"gm4_ce_immune_slowness\"]}"
- }
- }
- ],
- "effects": {
- "minecraft:slowness": {}
- }
- }
- }
- },
- "requirements": [
- [
- "mining_fatigue",
- "wither",
- "poison",
- "hunger",
- "blindness",
- "nausea",
- "weakness",
- "levitation",
- "slow_falling",
- "slowness"
- ]
- ],
- "rewards": {
- "function": "gm4_combat_expanded:player/effect_immunity"
- }
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/advancement/give_id.json b/gm4_combat_expanded/data/gm4_combat_expanded/advancement/give_id.json
deleted file mode 100644
index 955266fe33..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/advancement/give_id.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "criteria": {
- "join": {
- "trigger": "minecraft:tick"
- }
- },
- "rewards": {
- "function": "gm4_combat_expanded:player/give_id"
- }
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/advancement/interact_canine.json b/gm4_combat_expanded/data/gm4_combat_expanded/advancement/interact_canine.json
deleted file mode 100644
index 27975eebb2..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/advancement/interact_canine.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "criteria": {
- "feed": {
- "trigger": "minecraft:player_interacted_with_entity",
- "conditions": {
- "entity": {
- "type": "wolf",
- "nbt": "{Tags:[\"gm4_ce_wolf\"]}"
- }
- }
- }
- },
- "rewards": {
- "function": "gm4_combat_expanded:armor/modifier/type/canine/wolf_interact_check"
- }
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/advancement/relog.json b/gm4_combat_expanded/data/gm4_combat_expanded/advancement/relog.json
deleted file mode 100644
index a7fe624a4d..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/advancement/relog.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "criteria": {
- "requirement": {
- "trigger": "minecraft:location",
- "conditions": {
- "player": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": "this",
- "score": "gm4_ce_relog"
- },
- "range": {
- "min": 1
- }
- }
- ]
- }
- }
- },
- "rewards": {
- "function": "gm4_combat_expanded:player/relog"
- }
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/advancement/used_giant_weapon.json b/gm4_combat_expanded/data/gm4_combat_expanded/advancement/used_giant_weapon.json
deleted file mode 100644
index c10bac456f..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/advancement/used_giant_weapon.json
+++ /dev/null
@@ -1,471 +0,0 @@
-{
- "criteria": {
- "1_heart": {
- "trigger": "minecraft:player_hurt_entity",
- "conditions": {
- "player": [
- {
- "condition": "minecraft:inverted",
- "term": {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": "this",
- "score": "gm4_ce_sword_hit_triggered"
- },
- "range": {
- "min": 1
- }
- }
- },
- {
- "condition": "minecraft:all_of",
- "terms": [
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "mainhand": {
- "items": "#gm4_combat_expanded:weapon",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{strike:giant}}"
- }
- }
- }
- }
- }
- ]
- }
- ],
- "damage": {
- "dealt": {
- "min": 1
- }
- }
- }
- },
- "2_heart": {
- "trigger": "minecraft:player_hurt_entity",
- "conditions": {
- "player": [
- {
- "condition": "minecraft:inverted",
- "term": {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": "this",
- "score": "gm4_ce_sword_hit_triggered"
- },
- "range": {
- "min": 1
- }
- }
- },
- {
- "condition": "minecraft:all_of",
- "terms": [
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "mainhand": {
- "items": "#gm4_combat_expanded:weapon",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{strike:giant}}"
- }
- }
- }
- }
- }
- ]
- }
- ],
- "damage": {
- "dealt": {
- "min": 3
- }
- }
- }
- },
- "3_heart": {
- "trigger": "minecraft:player_hurt_entity",
- "conditions": {
- "player": [
- {
- "condition": "minecraft:inverted",
- "term": {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": "this",
- "score": "gm4_ce_sword_hit_triggered"
- },
- "range": {
- "min": 1
- }
- }
- },
- {
- "condition": "minecraft:all_of",
- "terms": [
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "mainhand": {
- "items": "#gm4_combat_expanded:weapon",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{strike:giant}}"
- }
- }
- }
- }
- }
- ]
- }
- ],
- "damage": {
- "dealt": {
- "min": 5
- }
- }
- }
- },
- "4_heart": {
- "trigger": "minecraft:player_hurt_entity",
- "conditions": {
- "player": [
- {
- "condition": "minecraft:inverted",
- "term": {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": "this",
- "score": "gm4_ce_sword_hit_triggered"
- },
- "range": {
- "min": 1
- }
- }
- },
- {
- "condition": "minecraft:all_of",
- "terms": [
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "mainhand": {
- "items": "#gm4_combat_expanded:weapon",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{strike:giant}}"
- }
- }
- }
- }
- }
- ]
- }
- ],
- "damage": {
- "dealt": {
- "min": 7
- }
- }
- }
- },
- "5_heart": {
- "trigger": "minecraft:player_hurt_entity",
- "conditions": {
- "player": [
- {
- "condition": "minecraft:inverted",
- "term": {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": "this",
- "score": "gm4_ce_sword_hit_triggered"
- },
- "range": {
- "min": 1
- }
- }
- },
- {
- "condition": "minecraft:all_of",
- "terms": [
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "mainhand": {
- "items": "#gm4_combat_expanded:weapon",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{strike:giant}}"
- }
- }
- }
- }
- }
- ]
- }
- ],
- "damage": {
- "dealt": {
- "min": 9
- }
- }
- }
- },
- "6_heart": {
- "trigger": "minecraft:player_hurt_entity",
- "conditions": {
- "player": [
- {
- "condition": "minecraft:inverted",
- "term": {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": "this",
- "score": "gm4_ce_sword_hit_triggered"
- },
- "range": {
- "min": 1
- }
- }
- },
- {
- "condition": "minecraft:all_of",
- "terms": [
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "mainhand": {
- "items": "#gm4_combat_expanded:weapon",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{strike:giant}}"
- }
- }
- }
- }
- }
- ]
- }
- ],
- "damage": {
- "dealt": {
- "min": 11
- }
- }
- }
- },
- "7_heart": {
- "trigger": "minecraft:player_hurt_entity",
- "conditions": {
- "player": [
- {
- "condition": "minecraft:inverted",
- "term": {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": "this",
- "score": "gm4_ce_sword_hit_triggered"
- },
- "range": {
- "min": 1
- }
- }
- },
- {
- "condition": "minecraft:all_of",
- "terms": [
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "mainhand": {
- "items": "#gm4_combat_expanded:weapon",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{strike:giant}}"
- }
- }
- }
- }
- }
- ]
- }
- ],
- "damage": {
- "dealt": {
- "min": 13
- }
- }
- }
- },
- "8_heart": {
- "trigger": "minecraft:player_hurt_entity",
- "conditions": {
- "player": [
- {
- "condition": "minecraft:inverted",
- "term": {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": "this",
- "score": "gm4_ce_sword_hit_triggered"
- },
- "range": {
- "min": 1
- }
- }
- },
- {
- "condition": "minecraft:all_of",
- "terms": [
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "mainhand": {
- "items": "#gm4_combat_expanded:weapon",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{strike:giant}}"
- }
- }
- }
- }
- }
- ]
- }
- ],
- "damage": {
- "dealt": {
- "min": 15
- }
- }
- }
- },
- "9_heart": {
- "trigger": "minecraft:player_hurt_entity",
- "conditions": {
- "player": [
- {
- "condition": "minecraft:inverted",
- "term": {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": "this",
- "score": "gm4_ce_sword_hit_triggered"
- },
- "range": {
- "min": 1
- }
- }
- },
- {
- "condition": "minecraft:all_of",
- "terms": [
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "mainhand": {
- "items": "#gm4_combat_expanded:weapon",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{strike:giant}}"
- }
- }
- }
- }
- }
- ]
- }
- ],
- "damage": {
- "dealt": {
- "min": 17
- }
- }
- }
- },
- "10_heart": {
- "trigger": "minecraft:player_hurt_entity",
- "conditions": {
- "player": [
- {
- "condition": "minecraft:inverted",
- "term": {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": "this",
- "score": "gm4_ce_sword_hit_triggered"
- },
- "range": {
- "min": 1
- }
- }
- },
- {
- "condition": "minecraft:all_of",
- "terms": [
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "mainhand": {
- "items": "#gm4_combat_expanded:weapon",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{strike:giant}}"
- }
- }
- }
- }
- }
- ]
- }
- ],
- "damage": {
- "dealt": {
- "min": 19
- }
- }
- }
- }
- },
- "requirements": [
- [
- "1_heart",
- "2_heart",
- "3_heart",
- "4_heart",
- "5_heart",
- "6_heart",
- "7_heart",
- "8_heart",
- "9_heart",
- "10_heart"
- ]
- ],
- "rewards": {
- "function": "gm4_combat_expanded:weapon/process"
- }
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/advancement/used_strike_weapon.json b/gm4_combat_expanded/data/gm4_combat_expanded/advancement/used_strike_weapon.json
deleted file mode 100644
index 28fc505171..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/advancement/used_strike_weapon.json
+++ /dev/null
@@ -1,47 +0,0 @@
-{
- "criteria": {
- "requirement": {
- "trigger": "minecraft:player_hurt_entity",
- "conditions": {
- "player": [
- {
- "condition": "minecraft:inverted",
- "term": {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": "this",
- "score": "gm4_ce_sword_hit_triggered"
- },
- "range": {
- "min": 1
- }
- }
- },
- {
- "condition": "minecraft:all_of",
- "terms": [
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "mainhand": {
- "items": "#gm4_combat_expanded:weapon",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{strike:1}}"
- }
- }
- }
- }
- }
- ]
- }
- ]
- }
- }
- },
- "rewards": {
- "function": "gm4_combat_expanded:weapon/process"
- }
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/advancement/wear_convert.json b/gm4_combat_expanded/data/gm4_combat_expanded/advancement/wear_convert.json
deleted file mode 100644
index 2553bd45a2..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/advancement/wear_convert.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
- "criteria": {
- "requirement": {
- "trigger": "minecraft:inventory_changed",
- "conditions": {
- "player": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:modified_armor/convert"
- }
- ],
- "items": [
- {
- "items": "#gm4_combat_expanded:armor",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{modifier:convert}}"
- }
- }
- ]
- }
- }
- },
- "rewards": {
- "function": "gm4_combat_expanded:armor/modifier/type/convert/update"
- }
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/convert_netherite.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/convert_netherite.mcfunction
deleted file mode 100644
index da5ba1c836..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/convert_netherite.mcfunction
+++ /dev/null
@@ -1,23 +0,0 @@
-# update the weapon damage tooltip and name when it is upgraded to netherite
-# @s = player wielding the weapon
-# at @s
-# run from any armor/slot/
-
-# set armor to be converted
-data modify storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.netherite set value 1
-data modify storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.material set value 6
-
-# add stats from netherite
-execute store result score $armor gm4_ce_data run data get storage gm4_combat_expanded:temp components."minecraft:attribute_modifiers".modifiers[{id:"minecraft:armor_toughness"}].amount 10
-execute store result storage gm4_combat_expanded:temp components."minecraft:attribute_modifiers".modifiers[{id:"minecraft:armor_toughness"}].amount double 0.1 run scoreboard players add $armor gm4_ce_data 10
-data modify storage gm4_combat_expanded:temp components."minecraft:attribute_modifiers".modifiers[{id:"minecraft:knockback_resistance"}].amount set value 0.1d
-
-# set durability from netherite
-execute store result score $slot gm4_ce_data run data get storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.slot
-execute if score $slot gm4_ce_data matches 3 run data modify storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.durability set value 481
-execute if score $slot gm4_ce_data matches 2 run data modify storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.durability set value 555
-execute if score $slot gm4_ce_data matches 1 run data modify storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.durability set value 592
-execute if score $slot gm4_ce_data matches 0 run data modify storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.durability set value 407
-
-# update item
-scoreboard players set $change gm4_ce_data 1
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/check_modifier.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/check_modifier.mcfunction
deleted file mode 100644
index f90efcf01c..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/check_modifier.mcfunction
+++ /dev/null
@@ -1,18 +0,0 @@
-# check the modifier on the armor piece
-# @s = player wearing modified armor
-# at unspecified
-# run from functions in armor/slot/
-
-# store active information
-execute store result score $active gm4_ce_data run data get storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.active
-scoreboard players operation $modifier gm4_ce_data /= #100 gm4_ce_data
-
-# check activation requirements
-# when damaged in the last 2.4 seconds / undamaged for 4 seconds
-execute if score $modifier gm4_ce_data matches 10..29 run function gm4_combat_expanded:armor/modifier/safety
-# when having killed a mob in the last 0.8 seconds
-execute if score $modifier gm4_ce_data matches 30..39 run function gm4_combat_expanded:armor/modifier/killing
-# when below or above 50% hp
-execute if score $modifier gm4_ce_data matches 40..59 run function gm4_combat_expanded:armor/modifier/hp_check
-# when equipped
-execute if score $modifier gm4_ce_data matches 60..79 run function gm4_combat_expanded:armor/modifier/equip
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/equip.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/equip.mcfunction
deleted file mode 100644
index 3d5681b4e4..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/equip.mcfunction
+++ /dev/null
@@ -1,10 +0,0 @@
-# check the modifier on the armor piece
-# @s = player wearing modified armor
-# at unspecified
-# run from armor/modifier/check_modifier
-
-execute if score $modifier gm4_ce_data matches 71 run function gm4_combat_expanded:armor/modifier/type/canine/check
-execute if score $modifier gm4_ce_data matches 74 on vehicle run function gm4_combat_expanded:armor/modifier/type/horse/mount
-execute if score $modifier gm4_ce_data matches 75 run function gm4_combat_expanded:armor/modifier/type/husk/apply
-execute if score $modifier gm4_ce_data matches 76 at @s run function gm4_combat_expanded:armor/modifier/type/link/check
-execute if score $modifier gm4_ce_data matches 78 at @s run function gm4_combat_expanded:armor/modifier/type/unburden/check
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/hp_check.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/hp_check.mcfunction
deleted file mode 100644
index e7bd16d7cc..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/hp_check.mcfunction
+++ /dev/null
@@ -1,16 +0,0 @@
-# check the modifier on the armor piece
-# @s = player wearing modified armor
-# at unspecified
-# run from armor/modifier/check_modifier
-
-function gm4_combat_expanded:player/calculate_hp
-
-# low hp
-execute if score $modifier gm4_ce_data matches 43 run function gm4_combat_expanded:armor/modifier/type/soothe/check
-execute if score $modifier gm4_ce_data matches 44 run function gm4_combat_expanded:armor/modifier/type/berserk/check
-execute if score $modifier gm4_ce_data matches 45 if score @s gm4_ce_health.current <= @s gm4_ce_health.max_half run function gm4_combat_expanded:armor/modifier/type/sustain/activate
-execute if score $modifier gm4_ce_data matches 51 if score @s gm4_ce_health.current <= @s gm4_ce_health.max_half run function gm4_combat_expanded:armor/modifier/type/immune/get_immunities
-# either
-execute if score $modifier gm4_ce_data matches 49 run function gm4_combat_expanded:armor/modifier/type/poised/check
-# high hp
-execute if score $modifier gm4_ce_data matches 52 run function gm4_combat_expanded:armor/modifier/type/half/apply
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/killing.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/killing.mcfunction
deleted file mode 100644
index f1f7893b90..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/killing.mcfunction
+++ /dev/null
@@ -1,10 +0,0 @@
-# check the modifier on the armor piece
-# @s = player wearing modified armor
-# at unspecified
-# run from armor/modifier/check_modifier
-
-execute if score $modifier gm4_ce_data matches 32 if score @s gm4_ce_kill matches 1.. run function gm4_combat_expanded:armor/modifier/type/vamp/vamp
-execute if score $modifier gm4_ce_data matches 34 if score @s gm4_ce_kill matches 1.. at @s run function gm4_combat_expanded:armor/modifier/type/totem/activate
-execute if score $modifier gm4_ce_data matches 35 run function gm4_combat_expanded:armor/modifier/type/drain/check
-execute if score $modifier gm4_ce_data matches 36 if score @s gm4_ce_kill matches 1.. run function gm4_combat_expanded:armor/modifier/type/burn/trigger_kill
-execute if score $modifier gm4_ce_data matches 37 run function gm4_combat_expanded:armor/modifier/type/reckless/check
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/safety.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/safety.mcfunction
deleted file mode 100644
index 5d293e7773..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/safety.mcfunction
+++ /dev/null
@@ -1,13 +0,0 @@
-# check the modifier on the armor piece
-# @s = player wearing modified armor
-# at unspecified
-# run from armor/modifier/check_modifier
-
-# safe
-execute if score $modifier gm4_ce_data matches 10 run function gm4_combat_expanded:armor/modifier/type/scout/check
-execute if score $modifier gm4_ce_data matches 11 unless score @s gm4_ce_natural_regen_damage matches 1.. unless score @s gm4_ce_t_shield matches 1.. run function gm4_combat_expanded:armor/modifier/type/shielded/add_level
-execute if score $modifier gm4_ce_data matches 12 run function gm4_combat_expanded:armor/modifier/type/sneak/check
-execute if score $modifier gm4_ce_data matches 13 run function gm4_combat_expanded:armor/modifier/type/focus/check
-execute if score $modifier gm4_ce_data matches 14 run function gm4_combat_expanded:armor/modifier/type/acrobatic/check
-# unsafe (most triggered from advancements)
-execute if score $modifier gm4_ce_data matches 21 run function gm4_combat_expanded:armor/modifier/type/second_wind/check
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/acrobatic/activate.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/acrobatic/activate.mcfunction
deleted file mode 100644
index fa43f7a8c8..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/acrobatic/activate.mcfunction
+++ /dev/null
@@ -1,12 +0,0 @@
-# activate the modifiers on the armor piece
-# @s = player wearing the armor
-# at unspecified
-# run from functions in armor/modifier/type/acrobatic/check
-
-# set fall damage reduction
-# mark for change and set to active
-scoreboard players set $change gm4_ce_data 1
-data modify storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.active set value 1
-
-# modify attribute
-execute store result storage gm4_combat_expanded:temp components."minecraft:attribute_modifiers".modifiers[{id:"gm4_combat_expanded:dynamic"}].amount float -0.1 run data get storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.level2
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/acrobatic/check.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/acrobatic/check.mcfunction
deleted file mode 100644
index 31227cea80..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/acrobatic/check.mcfunction
+++ /dev/null
@@ -1,13 +0,0 @@
-# check if armor should activate
-# @s = player being checked
-# at unspecified
-# run from armor/check_modifier/safety
-
-# get immunities if player is safe
-execute unless score @s gm4_ce_natural_regen_damage matches 1.. run function gm4_combat_expanded:armor/modifier/type/acrobatic/get_immunities
-
-# activate armor if player is regenerating again
-execute unless score @s gm4_ce_natural_regen_damage matches 1.. if score $active gm4_ce_data matches 0 run function gm4_combat_expanded:armor/modifier/type/acrobatic/activate
-
-# otherwise deactivate armor
-execute if score @s gm4_ce_natural_regen_damage matches 1.. if score $active gm4_ce_data matches 1 run function gm4_combat_expanded:armor/modifier/type/acrobatic/deactivate
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/acrobatic/deactivate.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/acrobatic/deactivate.mcfunction
deleted file mode 100644
index ec823f6e2e..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/acrobatic/deactivate.mcfunction
+++ /dev/null
@@ -1,11 +0,0 @@
-# deactivate the modifiers on the armor piece
-# @s = player wearing the armor
-# at unspecified
-# run from functions in armor/modifier/type/acrobatic/check
-
-# mark for change and set to inactive
-scoreboard players set $change gm4_ce_data 1
-data modify storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.active set value 0
-
-# disable attribute
-data modify storage gm4_combat_expanded:temp components."minecraft:attribute_modifiers".modifiers[{id:"gm4_combat_expanded:dynamic"}].amount set value 0
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/acrobatic/get_immunities.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/acrobatic/get_immunities.mcfunction
deleted file mode 100644
index 8728fd5bd9..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/acrobatic/get_immunities.mcfunction
+++ /dev/null
@@ -1,21 +0,0 @@
-# activate the modifiers on the armor piece
-# @s = player wearing the armor
-# at unspecified
-# run from functions in armor/modifier/type/acrobatic/check
-
-# get immunities
-# get levels
-execute store result score $level gm4_ce_data run data get storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.level
-
-# get effects to become immune to
-execute if score $level gm4_ce_data matches 1 run tag @s add gm4_ce_immune_levitation
-execute if score $level gm4_ce_data matches 2 run tag @s add gm4_ce_immune_slow_falling
-execute if score $level gm4_ce_data matches 3 run tag @s add gm4_ce_immune_slowness
-
-# remove effects if they were present
-execute if score $level gm4_ce_data matches 1 run effect clear @s levitation
-execute if score $level gm4_ce_data matches 2 run effect clear @s slow_falling
-execute if score $level gm4_ce_data matches 3 run effect clear @s slowness
-
-# tag for effect removal
-tag @s add gm4_ce_immune_active
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/archer/activate.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/archer/activate.mcfunction
deleted file mode 100644
index 20eba7fee2..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/archer/activate.mcfunction
+++ /dev/null
@@ -1,10 +0,0 @@
-# activate archer armor for this player
-# @s = player with archer armor
-# at unspecified
-# run from player/process
-
-scoreboard players reset @s gm4_ce_used_bow
-scoreboard players reset @s gm4_ce_used_crossbow
-tag @s add gm4_ce_wearing_archer
-
-execute unless score $keep_tick.archer gm4_ce_keep_tick matches 1 run schedule function gm4_combat_expanded:clocks/temp/archer 1t
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/archer/apply.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/archer/apply.mcfunction
deleted file mode 100644
index e508b25799..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/archer/apply.mcfunction
+++ /dev/null
@@ -1,16 +0,0 @@
-# activate armor effects
-# @s = arrow shot by player wearing armor
-# at @s
-# run from armor/modifier/type/archer/find_arrow
-
-# if not shot by the player do not double
-execute on origin unless entity @s[tag=gm4_ce_target] run return 0
-
-# multishot support (spawns half as many arrows, so 1 per level)
-scoreboard players add $storm_arrow_fired gm4_ce_data 1
-execute if score $storm_arrow_fired gm4_ce_data matches 2 run scoreboard players operation $storm_arrow_target gm4_ce_data /= #2 gm4_ce_data
-
-tag @s add gm4_ce_archer_arrow
-data modify storage gm4_combat_expanded:temp archer_arrow set from entity @s {}
-function gm4_combat_expanded:armor/modifier/type/archer/spawn_arrows
-data remove storage gm4_combat_expanded:temp archer_arrow
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/archer/find_arrow.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/archer/find_arrow.mcfunction
deleted file mode 100644
index a630900c5d..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/archer/find_arrow.mcfunction
+++ /dev/null
@@ -1,40 +0,0 @@
-# check the amount of arrows to spawn
-# @s = player wearing archer armor shooting a (cross)bow
-# at unspecified
-# run from clocks/temp/archer
-
-# store armor for checking
-item replace block 29999998 1 7134 container.0 from entity @s armor.head
-item replace block 29999998 1 7134 container.1 from entity @s armor.chest
-item replace block 29999998 1 7134 container.2 from entity @s armor.legs
-item replace block 29999998 1 7134 container.3 from entity @s armor.feet
-data modify storage gm4_combat_expanded:temp Items set from block 29999998 1 7134 Items
-data remove block 29999998 1 7134 Items
-
-# check amount of archer pieces
-# each level of archer armor means 2 arrows (so archery 1 will shoot 2 arrows, archery 12 will shoot 24)
-# note that the level taken from nbt is read with a scale of 2 to double it
-# original target is set to -1 as the first arrow does not need to be counted
-scoreboard players set $storm_arrow_target gm4_ce_data -1
-
-scoreboard players set $add_storm_arrows gm4_ce_data 0
-execute if data storage gm4_combat_expanded:temp Items[{Slot:0b}].components."minecraft:custom_data".gm4_combat_expanded{modifier:archer} store result score $add_storm_arrows gm4_ce_data run data get storage gm4_combat_expanded:temp Items[{Slot:0b}].components."minecraft:custom_data".gm4_combat_expanded.level 2
-scoreboard players operation $storm_arrow_target gm4_ce_data += $add_storm_arrows gm4_ce_data
-
-scoreboard players set $add_storm_arrows gm4_ce_data 0
-execute if data storage gm4_combat_expanded:temp Items[{Slot:1b}].components."minecraft:custom_data".gm4_combat_expanded{modifier:archer} store result score $add_storm_arrows gm4_ce_data run data get storage gm4_combat_expanded:temp Items[{Slot:1b}].components."minecraft:custom_data".gm4_combat_expanded.level 2
-scoreboard players operation $storm_arrow_target gm4_ce_data += $add_storm_arrows gm4_ce_data
-
-scoreboard players set $add_storm_arrows gm4_ce_data 0
-execute if data storage gm4_combat_expanded:temp Items[{Slot:2b}].components."minecraft:custom_data".gm4_combat_expanded{modifier:archer} store result score $add_storm_arrows gm4_ce_data run data get storage gm4_combat_expanded:temp Items[{Slot:2b}].components."minecraft:custom_data".gm4_combat_expanded.level 2
-scoreboard players operation $storm_arrow_target gm4_ce_data += $add_storm_arrows gm4_ce_data
-
-scoreboard players set $add_storm_arrows gm4_ce_data 0
-execute if data storage gm4_combat_expanded:temp Items[{Slot:3b}].components."minecraft:custom_data".gm4_combat_expanded{modifier:archer} store result score $add_storm_arrows gm4_ce_data run data get storage gm4_combat_expanded:temp Items[{Slot:3b}].components."minecraft:custom_data".gm4_combat_expanded.level 2
-scoreboard players operation $storm_arrow_target gm4_ce_data += $add_storm_arrows gm4_ce_data
-
-# spawn arrows
-tag @s add gm4_ce_target
-scoreboard players set $storm_arrow_fired gm4_ce_data 0
-execute anchored eyes positioned ^ ^ ^2 as @e[type=#gm4_combat_expanded:arrow,tag=!gm4_ce_archer_arrow,distance=..2.5,sort=nearest] at @s run function gm4_combat_expanded:armor/modifier/type/archer/apply
-tag @s remove gm4_ce_target
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/archer/spawn_arrows.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/archer/spawn_arrows.mcfunction
deleted file mode 100644
index 7dab6026c5..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/archer/spawn_arrows.mcfunction
+++ /dev/null
@@ -1,12 +0,0 @@
-# spawn the amount of arrows specified
-# @s = arrow shot by player wearing armor
-# at @s
-# run from armor/modifier/type/archer/apply
-# run from here
-
-execute if entity @s[type=arrow] positioned ^ ^ ^ summon arrow run function gm4_combat_expanded:armor/modifier/type/archer/storm_arrow
-execute if entity @s[type=spectral_arrow] positioned ^ ^ ^ summon spectral_arrow run function gm4_combat_expanded:armor/modifier/type/archer/storm_arrow
-
-scoreboard players add $storm_arrows_spawned gm4_ce_data 1
-execute if score $storm_arrows_spawned gm4_ce_data >= $storm_arrow_target gm4_ce_data run scoreboard players set $storm_arrows_spawned gm4_ce_data 0
-execute if score $storm_arrows_spawned gm4_ce_data matches 1.. run function gm4_combat_expanded:armor/modifier/type/archer/spawn_arrows
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/archer/storm_arrow.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/archer/storm_arrow.mcfunction
deleted file mode 100644
index 8733b02f4a..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/archer/storm_arrow.mcfunction
+++ /dev/null
@@ -1,31 +0,0 @@
-# set storm arrow data
-# @s = storm arrow
-# at unspecified
-# run from armor/modifier/type/archer/spawn_arrows
-
-# slightly adjust arrow motion
-data modify storage gm4_combat_expanded:temp archer_arrow.Motion_adj set value [0.0d,0.0d,0.0d]
-
-execute store result score $mot_adjust gm4_ce_data run random value -32..32
-execute store result score $mot gm4_ce_data run data get storage gm4_combat_expanded:temp archer_arrow.Motion[0] 100
-execute store result storage gm4_combat_expanded:temp archer_arrow.Motion_adj[0] double 0.01 run scoreboard players operation $mot gm4_ce_data += $mot_adjust gm4_ce_data
-
-execute store result score $mot_adjust gm4_ce_data run random value -10..10
-execute store result score $mot gm4_ce_data run data get storage gm4_combat_expanded:temp archer_arrow.Motion[1] 100
-execute store result storage gm4_combat_expanded:temp archer_arrow.Motion_adj[1] double 0.01 run scoreboard players operation $mot gm4_ce_data += $mot_adjust gm4_ce_data
-
-execute store result score $mot_adjust gm4_ce_data run random value -32..32
-execute store result score $mot gm4_ce_data run data get storage gm4_combat_expanded:temp archer_arrow.Motion[2] 100
-execute store result storage gm4_combat_expanded:temp archer_arrow.Motion_adj[2] double 0.01 run scoreboard players operation $mot gm4_ce_data += $mot_adjust gm4_ce_data
-
-# set arrow data
-data modify entity @s Motion set from storage gm4_combat_expanded:temp archer_arrow.Motion_adj
-data modify entity @s Rotation set from storage gm4_combat_expanded:temp archer_arrow.Rotation
-data modify entity @s damage set from storage gm4_combat_expanded:temp archer_arrow.damage
-data modify entity @s crit set from storage gm4_combat_expanded:temp archer_arrow.crit
-data modify entity @s Fire set from storage gm4_combat_expanded:temp archer_arrow.Fire
-data modify entity @s Owner set from storage gm4_combat_expanded:temp archer_arrow.Owner
-execute if data storage gm4_combat_expanded:temp archer_arrow.Potion run data modify entity @s Potion set from storage gm4_combat_expanded:temp archer_arrow.Potion
-execute if data storage gm4_combat_expanded:temp archer_arrow.custom_potion_effects run data modify entity @s custom_potion_effects set from storage gm4_combat_expanded:temp archer_arrow.custom_potion_effects
-execute if data storage gm4_combat_expanded:temp archer_arrow.Color run data modify entity @s Color set from storage gm4_combat_expanded:temp archer_arrow.Color
-tag @s add gm4_ce_archer_arrow
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/beacon/eval_offset.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/beacon/eval_offset.mcfunction
deleted file mode 100644
index 8333854441..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/beacon/eval_offset.mcfunction
+++ /dev/null
@@ -1,8 +0,0 @@
-# apply the new offset to beacon using macro's
-# @s = beacon block_display
-# at linked player
-# run from armor/modifier/type/beacon/pick_new_offset
-
-# offset is applied to beacon and passenger, taking 3.5 seconds
-$execute on passengers run data merge entity @s {start_interpolation:-1,interpolation_duration:70,transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[$(passenger_offset_x)f,$(passenger_offset_y)f,$(passenger_offset_z)f],scale:[0.4375f,0.4375f,0.4375f]}}
-$data merge entity @s {start_interpolation:-1,interpolation_duration:70,transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[$(offset_x)f,$(offset_y)f,$(offset_z)f],scale:[0.5f,0.5f,0.5f]}}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/beacon/pick_new_offset.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/beacon/pick_new_offset.mcfunction
deleted file mode 100644
index 9368c88f26..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/beacon/pick_new_offset.mcfunction
+++ /dev/null
@@ -1,22 +0,0 @@
-# pick a new offset for the beacon display
-# @s = beacon block_display
-# at linked player
-# run from armor/modifier/type/beacon/process
-
-# if glowing emit a flash as well
-execute if entity @s[tag=gm4_ce_beacon.glowing] at @s run particle flash ~ ~ ~ 0 0 0 1 1 normal @a[distance=5..]
-
-execute store result score $offset_x gm4_ce_data run random value -50..0
-execute store result score $offset_y gm4_ce_data run random value -50..-25
-execute store result score $offset_z gm4_ce_data run random value -50..0
-execute store result storage gm4_combat_expanded:temp beacon_data.offset_x float 0.00001 run scoreboard players operation $offset_x gm4_ce_data *= #1000 gm4_ce_data
-execute store result storage gm4_combat_expanded:temp beacon_data.offset_y float 0.00001 run scoreboard players operation $offset_y gm4_ce_data *= #1000 gm4_ce_data
-execute store result storage gm4_combat_expanded:temp beacon_data.offset_z float 0.00001 run scoreboard players operation $offset_z gm4_ce_data *= #1000 gm4_ce_data
-scoreboard players set $passenger_offset_x gm4_ce_data 3125
-scoreboard players set $passenger_offset_y gm4_ce_data 3125
-scoreboard players set $passenger_offset_z gm4_ce_data 3125
-execute store result storage gm4_combat_expanded:temp beacon_data.passenger_offset_x float 0.00001 run scoreboard players operation $passenger_offset_x gm4_ce_data += $offset_x gm4_ce_data
-execute store result storage gm4_combat_expanded:temp beacon_data.passenger_offset_y float 0.00001 run scoreboard players operation $passenger_offset_y gm4_ce_data += $offset_y gm4_ce_data
-execute store result storage gm4_combat_expanded:temp beacon_data.passenger_offset_z float 0.00001 run scoreboard players operation $passenger_offset_z gm4_ce_data += $offset_z gm4_ce_data
-function gm4_combat_expanded:armor/modifier/type/beacon/eval_offset with storage gm4_combat_expanded:temp beacon_data
-data remove storage gm4_combat_expanded:temp beacon_data
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/beacon/prep.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/beacon/prep.mcfunction
deleted file mode 100644
index 502f551c6b..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/beacon/prep.mcfunction
+++ /dev/null
@@ -1,19 +0,0 @@
-# process players wearing beacon armor
-# @s = player
-# at @s
-# run from clocks/temp/beacon
-
-scoreboard players set $keep_tick.beacon gm4_ce_keep_tick 1
-
-# find this players beacon
-scoreboard players operation $player_id gm4_ce_id = @s gm4_ce_id
-execute as @e[type=block_display,tag=gm4_ce_beacon.main,distance=..12] if score @s gm4_ce_id = $player_id gm4_ce_id run tag @s add gm4_ce_beacon.process
-
-# if the player does not have a beacon create one
-execute unless entity @e[type=block_display,tag=gm4_ce_beacon.process,distance=..12] run function gm4_combat_expanded:armor/modifier/type/beacon/spawn
-
-# check if player is sneaking
-execute store result score $player_sneaking gm4_ce_data if predicate gm4_combat_expanded:technical/crouching
-
-# process the players beacon
-execute as @e[type=block_display,tag=gm4_ce_beacon.process,distance=..12] run function gm4_combat_expanded:armor/modifier/type/beacon/process
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/beacon/process.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/beacon/process.mcfunction
deleted file mode 100644
index c6c535c890..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/beacon/process.mcfunction
+++ /dev/null
@@ -1,33 +0,0 @@
-# process the beacon linked to this player
-# @s = beacon block_display
-# at linked player
-# run from armor/modifier/type/beacon/prep
-
-# glowing
-execute if score $player_sneaking gm4_ce_data matches 1 unless entity @s[tag=gm4_ce_beacon.glowing] on passengers run data modify entity @s Glowing set value 1b
-execute if score $player_sneaking gm4_ce_data matches 1 run tag @s add gm4_ce_beacon.glowing
-execute if score $player_sneaking gm4_ce_data matches 0 if entity @s[tag=gm4_ce_beacon.glowing] on passengers run data modify entity @s Glowing set value 0b
-execute if score $player_sneaking gm4_ce_data matches 0 run tag @s remove gm4_ce_beacon.glowing
-
-# calculate offset every 3 seconds
-scoreboard players add @s gm4_ce_data 1
-execute if score @s gm4_ce_data matches 1 run function gm4_combat_expanded:armor/modifier/type/beacon/pick_new_offset
-scoreboard players set @s[scores={gm4_ce_data=60..}] gm4_ce_data 0
-
-# remove old beacon light
-execute at @s positioned ~ ~-1 ~ unless entity @e[type=marker,tag=gm4_ce_beacon.store_light,distance=..0.5] run fill ~ ~ ~ ~ ~ ~ air replace light[waterlogged=false,level=14]
-execute at @s positioned ~ ~-1 ~ unless entity @e[type=marker,tag=gm4_ce_beacon.store_light,distance=..0.5] run fill ~ ~ ~ ~ ~ ~ water replace light[waterlogged=true,level=9]
-execute at @s positioned ~ ~-1 ~ run kill @e[type=marker,tag=gm4_ce_beacon.store_light,distance=..0.5]
-
-# tp beacon to above the player
-tp @s ~ ~2.5 ~ 0 0
-
-# place new beacon light
-execute if block ~ ~-1 ~ light run summon marker ~ ~-1 ~ {Tags:["gm4_ce_beacon.store_light"],CustomName:'{"text":"gm4_ce_beacon_marker"}'}
-execute at @s run fill ~ ~-1 ~ ~ ~-1 ~ light[waterlogged=true,level=9] replace water[level=0]
-execute at @s run fill ~ ~-1 ~ ~ ~-1 ~ light[level=14] replace #minecraft:air
-
-# tags
-tag @s remove gm4_ce_beacon.process
-scoreboard players operation @s gm4_ce_keep_tick = $check.beacon gm4_ce_keep_tick
-execute on passengers run scoreboard players operation @s gm4_ce_keep_tick = $check.beacon gm4_ce_keep_tick
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/beacon/remove.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/beacon/remove.mcfunction
deleted file mode 100644
index e87a8138bc..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/beacon/remove.mcfunction
+++ /dev/null
@@ -1,11 +0,0 @@
-# remove beacon that is no longer linked to a player
-# @s = beacon block_display
-# at @s
-# run from tick
-
-# remove light block
-execute if entity @s[tag=gm4_ce_beacon.main] positioned ~ ~-1 ~ unless entity @e[type=marker,tag=gm4_ce_beacon.store_light,distance=..0.5] run fill ~ ~ ~ ~ ~ ~ air replace light[waterlogged=false,level=14]
-execute if entity @s[tag=gm4_ce_beacon.main] positioned ~ ~-1 ~ unless entity @e[type=marker,tag=gm4_ce_beacon.store_light,distance=..0.5] run fill ~ ~ ~ ~ ~ ~ water replace light[waterlogged=true,level=9]
-execute if entity @s[tag=gm4_ce_beacon.main] positioned ~ ~-1 ~ run kill @e[type=marker,tag=gm4_ce_beacon.store_light,distance=..0.5]
-
-kill @s
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/beacon/spawn.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/beacon/spawn.mcfunction
deleted file mode 100644
index be6a7a7441..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/beacon/spawn.mcfunction
+++ /dev/null
@@ -1,12 +0,0 @@
-# create a beacon at players that don't have one linked to them yet
-# @s = player
-# at @s
-# run from armor/modifier/type/beacon/prep
-
-# this doesn't use execute summon as data merge cannot add passengers
-summon block_display ~ ~2.5 ~ {teleport_duration:2,Tags:["gm4_ce_beacon","gm4_ce_beacon.process","gm4_ce_beacon.main"],Passengers:[{id:"minecraft:block_display",Tags:["gm4_ce_beacon","gm4_ce_beacon.passenger"],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[-0.21875f,-0.21875f,-0.21875f],scale:[0.4375f,0.4375f,0.4375f]},block_state:{Name:"minecraft:verdant_froglight"}}],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[-.25f,-.25f,-.25f],scale:[0.5f,0.5f,0.5f]},block_state:{Name:"minecraft:glass"}}
-scoreboard players operation @e[type=block_display,tag=gm4_ce_beacon.process] gm4_ce_id = $player_id gm4_ce_id
-
-execute store result score $light_colour gm4_ce_data run random value 1..3
-execute if score $light_colour gm4_ce_data matches 2 as @e[type=block_display,tag=gm4_ce_beacon.process] on passengers run data modify entity @s block_state.Name set value "minecraft:pearlescent_froglight"
-execute if score $light_colour gm4_ce_data matches 3 as @e[type=block_display,tag=gm4_ce_beacon.process] on passengers run data modify entity @s block_state.Name set value "minecraft:ochre_froglight"
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/berserk/activate.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/berserk/activate.mcfunction
deleted file mode 100644
index 8c3f31361d..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/berserk/activate.mcfunction
+++ /dev/null
@@ -1,14 +0,0 @@
-# activate the modifiers on the armor piece
-# @s = player wearing the armor
-# at unspecified
-# run from armor/modifier/type/berserk/check
-
-# mark for change and set to active
-scoreboard players set $change gm4_ce_data 1
-data modify storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.active set value 1
-
-# modify attributes
-execute store result storage gm4_combat_expanded:temp components."minecraft:attribute_modifiers".modifiers[{id:"gm4_combat_expanded:dynamic"}].amount float 0.1 run data get storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.level 10
-execute store result storage gm4_combat_expanded:temp components."minecraft:attribute_modifiers".modifiers[{id:"gm4_combat_expanded:dynamic_2"}].amount float 0.01 run data get storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.level2
-execute store result storage gm4_combat_expanded:temp components."minecraft:attribute_modifiers".modifiers[{id:"gm4_combat_expanded:dynamic_3"}].amount float 0.01 run data get storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.level3
-data modify storage gm4_combat_expanded:temp components."minecraft:attribute_modifiers".modifiers[{id:"gm4_combat_expanded:dynamic_4"}].amount set value 0.1
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/berserk/check.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/berserk/check.mcfunction
deleted file mode 100644
index c2b8f72e91..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/berserk/check.mcfunction
+++ /dev/null
@@ -1,8 +0,0 @@
-# check if heal pulse is off cooldown
-# @s = player wearing soothing armour
-# at @s
-# run from armor/check_modifier/hp_check
-
-# check player health and (de)activate armor if needed
-execute if score $active gm4_ce_data matches 1 if score @s gm4_ce_health.current > @s gm4_ce_health.max_half run function gm4_combat_expanded:armor/modifier/type/berserk/deactivate
-execute if score $active gm4_ce_data matches 0 if score @s gm4_ce_health.current <= @s gm4_ce_health.max_half run function gm4_combat_expanded:armor/modifier/type/berserk/activate
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/berserk/deactivate.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/berserk/deactivate.mcfunction
deleted file mode 100644
index 402b8be76b..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/berserk/deactivate.mcfunction
+++ /dev/null
@@ -1,14 +0,0 @@
-# deactivate the modifiers on the armor piece
-# @s = player wearing the armor
-# at unspecified
-# run from armor/modifier/type/berserk/check
-
-# mark for change and set to inactive
-scoreboard players set $change gm4_ce_data 1
-data modify storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.active set value 0
-
-# disable attributes
-data modify storage gm4_combat_expanded:temp components."minecraft:attribute_modifiers".modifiers[{id:"gm4_combat_expanded:dynamic"}].amount set value 0
-data modify storage gm4_combat_expanded:temp components."minecraft:attribute_modifiers".modifiers[{id:"gm4_combat_expanded:dynamic_2"}].amount set value 0
-data modify storage gm4_combat_expanded:temp components."minecraft:attribute_modifiers".modifiers[{id:"gm4_combat_expanded:dynamic_3"}].amount set value 0
-data modify storage gm4_combat_expanded:temp components."minecraft:attribute_modifiers".modifiers[{id:"gm4_combat_expanded:dynamic_4"}].amount set value 0
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/burn/active.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/burn/active.mcfunction
deleted file mode 100644
index 20b61e3199..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/burn/active.mcfunction
+++ /dev/null
@@ -1,34 +0,0 @@
-# process active burn armor
-# @s = player with active burn armor
-# at @s
-# run from clocks/temp/burn
-
-# stop effect if player is no longer wearing the armor
-scoreboard players set @s[predicate=!gm4_combat_expanded:modified_armor/burn] gm4_ce_burning.duration 0
-scoreboard players reset @s[scores={gm4_ce_burning.duration=0}] gm4_ce_burning.level
-execute if score @s gm4_ce_burning.duration matches 0 run return 0
-
-# keep clock going
-scoreboard players set $keep_tick.burn gm4_ce_keep_tick 1
-
-# reduce duration
-scoreboard players remove @s gm4_ce_burning.duration 1
-execute store success score $full_burn gm4_ce_data if score @s gm4_ce_burning.level matches 8..
-
-# particles
-execute positioned ~ ~.9 ~ summon marker at @s run function gm4_combat_expanded:armor/modifier/type/burn/particles
-execute unless score $full_burn gm4_ce_data matches 1 run playsound minecraft:block.fire.ambient player @s ~ ~ ~ 0.5 1
-execute if score $full_burn gm4_ce_data matches 1 run playsound minecraft:block.fire.ambient player @s ~ ~ ~ 1 1
-
-# fire resistance
-execute if score $full_burn gm4_ce_data matches 1 run effect give @s fire_resistance 2 0 true
-
-# fire damage to nearby entities
-execute store result storage gm4_combat_expanded:temp burn.damage float 0.25 run scoreboard players get @s gm4_ce_burning.level
-tag @s add gm4_ce_self
-execute as @e[tag=!gm4_ce_self,predicate=!gm4_combat_expanded:modified_armor/burn,predicate=gm4_combat_expanded:technical/pvp_able,team=!gm4_ce_team_check,tag=!smithed.strict,distance=..5.25] at @s run function gm4_combat_expanded:armor/modifier/type/burn/eval with storage gm4_combat_expanded:temp burn
-tag @s remove gm4_ce_self
-data remove storage gm4_combat_expanded:temp burn
-
-# remove level if duration ran out
-scoreboard players reset @s[scores={gm4_ce_burning.duration=0}] gm4_ce_burning.level
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/burn/eval.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/burn/eval.mcfunction
deleted file mode 100644
index 2549fc5dc8..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/burn/eval.mcfunction
+++ /dev/null
@@ -1,12 +0,0 @@
-# burn entity near burn armor
-# @s = entity near active burn armor
-# at player wearing active burn armor
-# run from armor/modifier/type/burn/active
-
-$damage @s $(damage) on_fire
-item replace entity @s[tag=gm4_ce_spore_zombie] armor.head with air
-
-execute unless score $full_burn gm4_ce_data matches 1 run particle minecraft:small_flame ~ ~1 ~ 0.25 0.3 0.25 0 4
-execute if score $full_burn gm4_ce_data matches 1 run particle minecraft:flame ~ ~1 ~ 0.25 0.3 0.25 0.05 8
-
-execute if score $full_burn gm4_ce_data matches 1 unless entity @s[type=player] run data modify entity @s Fire set value 15
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/burn/particles.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/burn/particles.mcfunction
deleted file mode 100644
index ec94ae262f..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/burn/particles.mcfunction
+++ /dev/null
@@ -1,12 +0,0 @@
-# display a ring of fire particles
-# @s = burn particle marker
-# at @s
-# run from armor/modifier/type/burn/active
-
-scoreboard players add @s gm4_ce_data 1
-particle flame ^ ^ ^-5 0.01 0.01 0.01 0.025 1
-execute if score $full_burn gm4_ce_data matches 1 run particle flame ^ ^ ^-5 0.033 0.033 0.033 0.075 2
-tp @s ~ ~ ~ ~9 ~
-
-kill @s[scores={gm4_ce_data=40..}]
-execute if score @s gm4_ce_data matches ..39 at @s run function gm4_combat_expanded:armor/modifier/type/burn/particles
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/burn/trigger_damage.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/burn/trigger_damage.mcfunction
deleted file mode 100644
index 91f21a4604..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/burn/trigger_damage.mcfunction
+++ /dev/null
@@ -1,23 +0,0 @@
-# activate burn armor on wearer getting hit
-# @s = player wearing armor
-# at @s
-advancement revoke @s only gm4_combat_expanded:damaged/armor/burn
-
-item replace block 29999998 1 7134 container.0 from entity @s armor.head
-item replace block 29999998 1 7134 container.1 from entity @s armor.chest
-item replace block 29999998 1 7134 container.2 from entity @s armor.legs
-item replace block 29999998 1 7134 container.3 from entity @s armor.feet
-data modify storage gm4_combat_expanded:temp Items set from block 29999998 1 7134 Items
-data remove block 29999998 1 7134 Items
-
-scoreboard players set $burn_pieces gm4_ce_data 0
-execute if data storage gm4_combat_expanded:temp Items[{Slot:0b}].components."minecraft:custom_data".gm4_combat_expanded{modifier:36} run scoreboard players add $burn_pieces gm4_ce_data 1
-execute if data storage gm4_combat_expanded:temp Items[{Slot:1b}].components."minecraft:custom_data".gm4_combat_expanded{modifier:36} run scoreboard players add $burn_pieces gm4_ce_data 1
-execute if data storage gm4_combat_expanded:temp Items[{Slot:2b}].components."minecraft:custom_data".gm4_combat_expanded{modifier:36} run scoreboard players add $burn_pieces gm4_ce_data 1
-execute if data storage gm4_combat_expanded:temp Items[{Slot:3b}].components."minecraft:custom_data".gm4_combat_expanded{modifier:36} run scoreboard players add $burn_pieces gm4_ce_data 1
-
-scoreboard players operation @s gm4_ce_burning.level += $burn_pieces gm4_ce_data
-scoreboard players set @s[scores={gm4_ce_burning.level=9..}] gm4_ce_burning.level 8
-scoreboard players set @s gm4_ce_burning.duration 20
-
-execute unless score $keep_tick.burn gm4_ce_keep_tick matches 1 run schedule function gm4_combat_expanded:clocks/temp/burn 1t
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/burn/trigger_kill.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/burn/trigger_kill.mcfunction
deleted file mode 100644
index 013e1f3604..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/burn/trigger_kill.mcfunction
+++ /dev/null
@@ -1,10 +0,0 @@
-# activate burn armor on mob kill
-# @s = player wearing armor
-# at @s
-# run from armor/modifier/killing
-
-scoreboard players operation @s gm4_ce_burning.level += @s gm4_ce_kill
-scoreboard players set @s[scores={gm4_ce_burning.level=9..}] gm4_ce_burning.level 8
-scoreboard players set @s gm4_ce_burning.duration 20
-
-execute unless score $keep_tick.burn gm4_ce_keep_tick matches 1 run schedule function gm4_combat_expanded:clocks/temp/burn 1t
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/canine/check.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/canine/check.mcfunction
deleted file mode 100644
index 87893eaa61..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/canine/check.mcfunction
+++ /dev/null
@@ -1,15 +0,0 @@
-# check if the current canine armor piece has an existing matching wolf
-# @s = player that has canine armor
-# at unspecified
-# run from armor/check_modifier/equip
-
-# get armor slot and player id
-execute store result score $slot gm4_ce_data run data get storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.slot
-scoreboard players operation $curr_id gm4_ce_id = @s gm4_ce_id
-
-# mark 1 matching wolf as checked
-scoreboard players set $wolf gm4_ce_data 0
-execute as @e[type=wolf,tag=gm4_ce_wolf] if score @s gm4_ce_id = $curr_id gm4_ce_id if score @s gm4_ce_data = $slot gm4_ce_data run function gm4_combat_expanded:armor/modifier/type/canine/wolf_checked
-
-# summon new wolf if there is none
-execute if score $wolf gm4_ce_data matches 0 at @s run function gm4_combat_expanded:armor/modifier/type/canine/wolf_spawn
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/canine/wolf_checked.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/canine/wolf_checked.mcfunction
deleted file mode 100644
index f6bf5338bc..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/canine/wolf_checked.mcfunction
+++ /dev/null
@@ -1,7 +0,0 @@
-# mark wolf as having been checked, wolf will not despawn until next check
-# @s = wolf that belonged to the armor piece
-# at unspecified
-# run from armor/type/canine/check
-
-execute if score $wolf gm4_ce_data matches 0 run scoreboard players set @s gm4_ce_t_wolf 1
-scoreboard players set $wolf gm4_ce_data 1
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/canine/wolf_fed_power.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/canine/wolf_fed_power.mcfunction
deleted file mode 100644
index 80cb8e50c2..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/canine/wolf_fed_power.mcfunction
+++ /dev/null
@@ -1,7 +0,0 @@
-# give fed wolf +4 attack for 60 seconds
-# @s = wolf that was fed
-# at unspecified
-# run from armor/type/canine/wolf_interact_check
-
-effect give @s strength 60 0
-data remove entity @s InLove
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/canine/wolf_initiate.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/canine/wolf_initiate.mcfunction
deleted file mode 100644
index fd7e240623..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/canine/wolf_initiate.mcfunction
+++ /dev/null
@@ -1,15 +0,0 @@
-# match wolf to armor slot and player id
-# @s = new wolf
-# at unspecified
-# run from armor/type/canine/wolf_spawn
-
-data merge entity @s {CollarColor:0b,variant:"gm4_combat_expanded:gm4_ce_canine",Tags:["gm4_ce_wolf"],active_effects:[{id:"minecraft:resistance",amplifier:9b,duration:-1,show_particles:0b}],attributes:[{id:"minecraft:attack_damage",base:4},{id:"minecraft:scale",base:1.15,}]}
-
-scoreboard players operation @s gm4_ce_id = $curr_id gm4_ce_id
-scoreboard players operation @s gm4_ce_data = $slot gm4_ce_data
-data modify entity @s Owner set from storage gm4_combat_expanded:temp uuid
-
-# if named Green use the alt dog version, don't display name
-execute if data storage gm4_combat_expanded:temp components{"minecraft:custom_name":'"Green"'} run return run data merge entity @s {variant:"gm4_combat_expanded:gm4_ce_canine_alt",CollarColor:5b}
-
-data modify entity @s CustomName set from storage gm4_combat_expanded:temp components."minecraft:custom_name"
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/canine/wolf_interact_check.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/canine/wolf_interact_check.mcfunction
deleted file mode 100644
index 2d067286c7..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/canine/wolf_interact_check.mcfunction
+++ /dev/null
@@ -1,13 +0,0 @@
-# check for interactions with canine wolves
-# @s = player that interacted with a canine wolf
-# at @s
-advancement revoke @s only gm4_combat_expanded:interact_canine
-
-# give power to wolves that were fed
-execute as @e[type=wolf,tag=gm4_ce_wolf,nbt={InLove:600}] run function gm4_combat_expanded:armor/modifier/type/canine/wolf_fed_power
-
-# check if wolves are wearing armor
-execute as @e[type=wolf,tag=gm4_ce_wolf,nbt={body_armor_item:{}}] at @s run function gm4_combat_expanded:armor/modifier/type/canine/wolf_remove_armor
-
-# check if wolves are sitting
-execute as @e[type=wolf,tag=gm4_ce_wolf,nbt={Sitting:1b}] run function gm4_combat_expanded:armor/modifier/type/canine/wolf_stand_up
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/canine/wolf_kill.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/canine/wolf_kill.mcfunction
deleted file mode 100644
index 97d7ec1cb7..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/canine/wolf_kill.mcfunction
+++ /dev/null
@@ -1,12 +0,0 @@
-# despawn wolves without matching armor pieces, if the matching player is online
-# @s = wolf without corresponding armor piece
-# at @s
-# run from armor/type/canine/process
-
-# set owner UUID to Notch to not display death message
-data modify entity @s Owner set value [I;110787060,1156138790,-1514210135,238594805]
-
-# remove wolf
-particle minecraft:poof ~ ~0.25 ~ 0.2 0.2 0.2 0.1 4
-tp @s ~ -2050 ~
-kill @s
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/canine/wolf_process.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/canine/wolf_process.mcfunction
deleted file mode 100644
index a48c705a05..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/canine/wolf_process.mcfunction
+++ /dev/null
@@ -1,8 +0,0 @@
-# check if wolf has matching armor equipped by player
-# @s = wolf from canine armor
-# at unspecified
-# run from main
-
-# despawn wolf if it was not matched to armor this check
-execute if score @s gm4_ce_t_wolf matches 0 at @s run function gm4_combat_expanded:armor/modifier/type/canine/wolf_kill
-scoreboard players set @s gm4_ce_t_wolf 0
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/canine/wolf_remove_armor.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/canine/wolf_remove_armor.mcfunction
deleted file mode 100644
index 925db62ca9..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/canine/wolf_remove_armor.mcfunction
+++ /dev/null
@@ -1,11 +0,0 @@
-# remove armor from wolf
-# @s = wolf that is waering armor
-# at @s
-# run from armor/type/canine/wolf_interact_check
-
-# spawn item with the data
-summon item ~ ~ ~ {Tags:["gm4_ce_dropped_wolf_armor"],Item:{id:"wolf_armor",count:1}}
-item replace entity @e[type=item,tag=gm4_ce_dropped_wolf_armor,limit=1,sort=nearest,distance=..1] contents from entity @s armor.body
-
-# remove armor from wolf
-data remove entity @s body_armor_item
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/canine/wolf_spawn.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/canine/wolf_spawn.mcfunction
deleted file mode 100644
index eaecafd321..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/canine/wolf_spawn.mcfunction
+++ /dev/null
@@ -1,16 +0,0 @@
-# spawn wolf if there is none matching equipped armor
-# @s = player to spawn the wolf
-# at @s
-# run from armor/type/canine/check
-
-# obtain player UUID
-data modify storage gm4_combat_expanded:temp uuid set from entity @s UUID
-
-# BPR told me to add this ¯\_(ツ)_/¯ "stupid chunk loading stuff"
-kill @e[type=wolf,tag=gm4_ce_new_wolf]
-# spawn wolf
-execute summon wolf run function gm4_combat_expanded:armor/modifier/type/canine/wolf_initiate
-
-# playsound with cooldown
-execute unless score @s gm4_ce_t_wolf matches 1.. run playsound minecraft:entity.wolf.whine neutral @s ~ ~ ~ 0.6 0.8
-scoreboard players set @s gm4_ce_t_wolf 1
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/canine/wolf_stand_up.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/canine/wolf_stand_up.mcfunction
deleted file mode 100644
index de80e12338..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/canine/wolf_stand_up.mcfunction
+++ /dev/null
@@ -1,8 +0,0 @@
-# let sitting canine wolves lose anger, then stand up
-# @s = wolf that is sitting
-# at unspecified
-# run from armor/type/canine/wolf_interact_check
-
-data remove entity @s AngryAt
-data modify entity @s AngerTime set value 0
-data modify entity @s Sitting set value 0
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/convert/calc_conversion.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/convert/calc_conversion.mcfunction
deleted file mode 100644
index f4a7c3d344..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/convert/calc_conversion.mcfunction
+++ /dev/null
@@ -1,22 +0,0 @@
-# calculate how much armor this piece gives
-# @s = player wearing convert armor
-# at @s
-# run from armor/modifier/type/convert/update
-
-# calc total armor this piece is giving
-scoreboard players set $armor_total gm4_ce_data 0
-data modify storage gm4_combat_expanded:temp attribute_modifiers set from storage gm4_combat_expanded:temp components."minecraft:attribute_modifiers".modifiers
-function gm4_combat_expanded:armor/modifier/type/convert/loop_attribute_modifiers
-data remove storage gm4_combat_expanded:temp check_modifier
-
-# if value is 0 no need to change it
-execute if score $armor_total gm4_ce_data matches 0 run return 0
-
-# get current armor negation
-execute store result score $armor_negation gm4_ce_data run data get storage gm4_combat_expanded:temp components."minecraft:attribute_modifiers".modifiers[{id:"gm4_combat_expanded:permanent_2"}].amount -1
-
-# modify to give 0 armor and convert it to health
-scoreboard players set $change gm4_ce_data 1
-scoreboard players operation $armor_negation gm4_ce_data += $armor_total gm4_ce_data
-execute store result storage gm4_combat_expanded:temp components."minecraft:attribute_modifiers".modifiers[{id:"gm4_combat_expanded:permanent_2"}].amount int -1 run scoreboard players get $armor_negation gm4_ce_data
-execute store result storage gm4_combat_expanded:temp components."minecraft:attribute_modifiers".modifiers[{id:"gm4_combat_expanded:permanent"}].amount int 1 run scoreboard players get $armor_negation gm4_ce_data
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/convert/loop_attribute_modifiers.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/convert/loop_attribute_modifiers.mcfunction
deleted file mode 100644
index 52ba506123..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/convert/loop_attribute_modifiers.mcfunction
+++ /dev/null
@@ -1,14 +0,0 @@
-# loop over armor modifiers to add together armor values
-# @s = player wearing convert armor
-# at @s
-# run from armor/modifier/type/convert/calc_conversion
-# run from here
-
-# check modifier to see armor it grants
-data modify storage gm4_combat_expanded:temp check_modifier set from storage gm4_combat_expanded:temp attribute_modifiers[0]
-execute store result score $armor_add gm4_ce_data run data get storage gm4_combat_expanded:temp check_modifier{type:"minecraft:armor"}.amount
-scoreboard players operation $armor_total gm4_ce_data += $armor_add gm4_ce_data
-
-# loop over all modifiers
-data remove storage gm4_combat_expanded:temp attribute_modifiers[0]
-execute if data storage gm4_combat_expanded:temp attribute_modifiers[0] run function gm4_combat_expanded:armor/modifier/type/convert/loop_attribute_modifiers
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/convert/update.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/convert/update.mcfunction
deleted file mode 100644
index 22e3cc9bd9..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/convert/update.mcfunction
+++ /dev/null
@@ -1,47 +0,0 @@
-# update convert armor
-# @s = player wearing convert armor
-# at @s
-# run from advancement wear_convert
-
-# store armor for checking
-item replace block 29999998 1 7134 container.0 from entity @s armor.head
-item replace block 29999998 1 7134 container.1 from entity @s armor.chest
-item replace block 29999998 1 7134 container.2 from entity @s armor.legs
-item replace block 29999998 1 7134 container.3 from entity @s armor.feet
-data modify storage gm4_combat_expanded:temp Items set from block 29999998 1 7134 Items
-data remove block 29999998 1 7134 Items
-
-# head
-scoreboard players set $change gm4_ce_data 0
-data modify storage gm4_combat_expanded:temp components set from storage gm4_combat_expanded:temp Items[{Slot:0b}].components
-execute if data storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded{modifier:convert} run function gm4_combat_expanded:armor/modifier/type/convert/calc_conversion
-execute if score $change gm4_ce_data matches 1 run function gm4_combat_expanded:item_modify_eval/head_update with storage gm4_combat_expanded:temp
-execute if score $change gm4_ce_data matches 1 run function gm4_combat_expanded:armor/slot/silence_equip_sound
-data remove storage gm4_combat_expanded:temp components
-
-# chest
-scoreboard players set $change gm4_ce_data 0
-data modify storage gm4_combat_expanded:temp components set from storage gm4_combat_expanded:temp Items[{Slot:1b}].components
-execute if data storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded{modifier:convert} run function gm4_combat_expanded:armor/modifier/type/convert/calc_conversion
-execute if score $change gm4_ce_data matches 1 run function gm4_combat_expanded:item_modify_eval/chest_update with storage gm4_combat_expanded:temp
-execute if score $change gm4_ce_data matches 1 run function gm4_combat_expanded:armor/slot/silence_equip_sound
-data remove storage gm4_combat_expanded:temp components
-
-# legs
-scoreboard players set $change gm4_ce_data 0
-data modify storage gm4_combat_expanded:temp components set from storage gm4_combat_expanded:temp Items[{Slot:2b}].components
-execute if data storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded{modifier:convert} run function gm4_combat_expanded:armor/modifier/type/convert/calc_conversion
-execute if score $change gm4_ce_data matches 1 run function gm4_combat_expanded:item_modify_eval/legs_update with storage gm4_combat_expanded:temp
-execute if score $change gm4_ce_data matches 1 run function gm4_combat_expanded:armor/slot/silence_equip_sound
-data remove storage gm4_combat_expanded:temp components
-
-# feet
-scoreboard players set $change gm4_ce_data 0
-data modify storage gm4_combat_expanded:temp components set from storage gm4_combat_expanded:temp Items[{Slot:3b}].components
-execute if data storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded{modifier:convert} run function gm4_combat_expanded:armor/modifier/type/convert/calc_conversion
-execute if score $change gm4_ce_data matches 1 run function gm4_combat_expanded:item_modify_eval/feet_update with storage gm4_combat_expanded:temp
-execute if score $change gm4_ce_data matches 1 run function gm4_combat_expanded:armor/slot/silence_equip_sound
-data remove storage gm4_combat_expanded:temp components
-
-# revoke advancement at the end to not trigger from changes made
-advancement revoke @s only gm4_combat_expanded:wear_convert
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/drain/check.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/drain/check.mcfunction
deleted file mode 100644
index dd4415ef0d..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/drain/check.mcfunction
+++ /dev/null
@@ -1,7 +0,0 @@
-# check drain armor
-# @s = player wearing armor
-# at unspecified
-# run from armor/check_modifier/killing
-
-execute if score @s gm4_ce_kill matches 1.. run function gm4_combat_expanded:armor/modifier/type/drain/increase
-execute if score @s gm4_ce_hurt matches 1.. run function gm4_combat_expanded:armor/modifier/type/drain/reduce
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/drain/increase.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/drain/increase.mcfunction
deleted file mode 100644
index 1be8755079..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/drain/increase.mcfunction
+++ /dev/null
@@ -1,20 +0,0 @@
-# increase the health bonus on the drain armor
-# @s = player wearing armor
-# at unspecified
-# run from armor/modifier/type/drain/check
-
-# put changes on armor piece
-scoreboard players set $change gm4_ce_data 1
-
-# get data
-execute store result score $curr_level gm4_ce_data run data get storage gm4_combat_expanded:temp components."minecraft:attribute_modifiers".modifiers[{id:"gm4_combat_expanded:dynamic"}].amount
-execute store result score $max_level gm4_ce_data run data get storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.level
-scoreboard players operation $max_level gm4_ce_data *= #2 gm4_ce_data
-scoreboard players add $max_level gm4_ce_data 4
-
-# if level is at cap don't increase it
-execute if score $curr_level gm4_ce_data >= $max_level gm4_ce_data run return 0
-
-# increase level by kills, up to max level and store
-scoreboard players operation $curr_level gm4_ce_data += @s gm4_ce_kill
-execute store result storage gm4_combat_expanded:temp components."minecraft:attribute_modifiers".modifiers[{id:"gm4_combat_expanded:dynamic"}].amount float 1 run scoreboard players operation $curr_level gm4_ce_data < $max_level gm4_ce_data
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/drain/reduce.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/drain/reduce.mcfunction
deleted file mode 100644
index 34e3f272bd..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/drain/reduce.mcfunction
+++ /dev/null
@@ -1,13 +0,0 @@
-# decrease the health bonus on the drain armor
-# @s = player wearing armor
-# at unspecified
-# run from armor/modifier/type/drain/check
-
-# put changes on armor piece
-scoreboard players set $change gm4_ce_data 1
-
-# get data
-execute store result score $curr_level gm4_ce_data run data get storage gm4_combat_expanded:temp components."minecraft:attribute_modifiers".modifiers[{id:"gm4_combat_expanded:dynamic"}].amount
-
-# reduce level by 1 and store
-execute store result storage gm4_combat_expanded:temp components."minecraft:attribute_modifiers".modifiers[{id:"gm4_combat_expanded:dynamic"}].amount float 1 run scoreboard players remove $curr_level gm4_ce_data 1
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/focus/check.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/focus/check.mcfunction
deleted file mode 100644
index 4d530a9b73..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/focus/check.mcfunction
+++ /dev/null
@@ -1,13 +0,0 @@
-# check if armor should activate
-# @s = player being checked
-# at unspecified
-# run from armor/check_modifier/safety
-
-# activate attributes if player is safe
-execute unless score $active gm4_ce_data matches 1 unless score @s gm4_ce_natural_regen_damage matches 1.. run function gm4_combat_expanded:armor/modifier/type/focus/safe
-
-# activate attributes if player is unsafe
-execute unless score $active gm4_ce_data matches -1 if score @s gm4_ce_natural_regen_damage matches 1.. run function gm4_combat_expanded:armor/modifier/type/focus/unsafe
-
-# grant glowing to nearby mobs if active
-execute if score $active gm4_ce_data matches 1 at @s run effect give @e[distance=..24,predicate=gm4_combat_expanded:technical/pvp_able,team=!gm4_ce_team_check,tag=!smithed.strict] glowing 2 0 true
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/focus/safe.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/focus/safe.mcfunction
deleted file mode 100644
index 01e6c5d8b0..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/focus/safe.mcfunction
+++ /dev/null
@@ -1,11 +0,0 @@
-# activate the positive modifiers on the armor piece
-# @s = player wearing the armor
-# at unspecified
-# run from functions in armor/modifier/type/focus/check
-
-# mark for change and set to active
-scoreboard players set $change gm4_ce_data 1
-data modify storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.active set value 1
-
-# modify attribute
-execute store result storage gm4_combat_expanded:temp components."minecraft:attribute_modifiers".modifiers[{id:"gm4_combat_expanded:dynamic"}].amount float 0.1 run data get storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.level2 10
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/focus/unsafe.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/focus/unsafe.mcfunction
deleted file mode 100644
index 71b53b8fd8..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/focus/unsafe.mcfunction
+++ /dev/null
@@ -1,11 +0,0 @@
-# activate the negative modifiers on the armor piece
-# @s = player wearing the armor
-# at unspecified
-# run from functions in armor/modifier/type/focus/check
-
-# mark for change and set to -active
-scoreboard players set $change gm4_ce_data 1
-data modify storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.active set value -1
-
-# modify attribute
-execute store result storage gm4_combat_expanded:temp components."minecraft:attribute_modifiers".modifiers[{id:"gm4_combat_expanded:dynamic"}].amount float -0.5 run data get storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.level 1
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/half/apply.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/half/apply.mcfunction
deleted file mode 100644
index 13f7b2c77d..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/half/apply.mcfunction
+++ /dev/null
@@ -1,8 +0,0 @@
-# activate armor effects
-# @s = player wearing half armour
-# at unspecified
-# run from armor/modifier/check_modifier/hp_check
-
-effect give @s resistance 2 2 true
-execute if score @s[gamemode=!creative] gm4_ce_health.current >= @s gm4_ce_health.max_half run effect clear @s regeneration
-execute if score @s[gamemode=!creative] gm4_ce_health.current > @s gm4_ce_health.max_half run function gm4_combat_expanded:armor/modifier/type/half/damage
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/half/damage.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/half/damage.mcfunction
deleted file mode 100644
index 9c05c86adb..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/half/damage.mcfunction
+++ /dev/null
@@ -1,8 +0,0 @@
-# damage player if above half health
-# @s = player wearing half armour
-# at unspecified
-# run from armor/modifier/type/half/apply
-
-scoreboard players operation $health_change gm4_ce_data = @s gm4_ce_health.current
-scoreboard players operation $health_change gm4_ce_data -= @s gm4_ce_health.max_half
-execute if score $health_change gm4_ce_data matches 1.. run function gm4_combat_expanded:player/damage/activate
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/half/limit_heal.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/half/limit_heal.mcfunction
deleted file mode 100644
index 92032f18c7..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/half/limit_heal.mcfunction
+++ /dev/null
@@ -1,9 +0,0 @@
-# limit healing to half of max health
-# @s = player to heal
-# at unspecified
-# run from any armor/active/heal/activate
-
-scoreboard players operation $heal_to_remove gm4_ce_data = @s gm4_ce_health.current
-scoreboard players operation $heal_to_remove gm4_ce_data += @s gm4_ce_healstore
-scoreboard players operation $heal_to_remove gm4_ce_data -= @s gm4_ce_health.max_half
-execute if score $heal_to_remove gm4_ce_data matches 1.. run scoreboard players operation @s gm4_ce_healstore -= $heal_to_remove gm4_ce_data
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/horse/apply_effect.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/horse/apply_effect.mcfunction
deleted file mode 100644
index 45e780baf6..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/horse/apply_effect.mcfunction
+++ /dev/null
@@ -1,16 +0,0 @@
-# give mount speed
-# @s = vehicle that had speed stored
-# at unspecified
-# run from clocks/player_submain
-
-# give effect
-effect give @s[scores={gm4_ce_horse.speed_level=1}] speed 3 0 true
-effect give @s[scores={gm4_ce_horse.speed_level=2..3}] speed 3 1 true
-effect give @s[scores={gm4_ce_horse.speed_level=4..7}] speed 3 2 true
-effect give @s[scores={gm4_ce_horse.speed_level=8..15}] speed 3 3 true
-effect give @s[scores={gm4_ce_horse.speed_level=16..31}] speed 3 4 true
-# in case of additional player a higher level can be reached
-effect give @s[scores={gm4_ce_horse.speed_level=32..}] speed 3 5 true
-
-
-scoreboard players reset @s gm4_ce_horse.speed_level
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/horse/mount.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/horse/mount.mcfunction
deleted file mode 100644
index d8d93e954e..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/horse/mount.mcfunction
+++ /dev/null
@@ -1,28 +0,0 @@
-# give mount speed and secondary effects
-# @s = vehicle of player with armor
-# at @s
-# run from armor/check_modifier/equip
-
-# apply secondary effects
-execute store result score $level2 gm4_ce_data run data get storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.level2
-execute if score $level2 gm4_ce_data matches 1 run effect give @s resistance 3 1 true
-execute if score $level2 gm4_ce_data matches 2 run effect give @s jump_boost 3 1 true
-execute if score $level2 gm4_ce_data matches 3 run effect give @s fire_resistance 3 0 true
-execute if score $level2 gm4_ce_data matches 4 run effect give @s regeneration 3 0 true
-
-# add levels among pieces and store to mount
-execute if data storage gm4_combat_expanded:temp Items[{Slot:0b}].components."minecraft:custom_data".gm4_combat_expanded{modifier:74} store result score $level_add gm4_ce_data run data get storage gm4_combat_expanded:temp Items[{Slot:0b}].components."minecraft:custom_data".gm4_combat_expanded.level
-execute if score $level_add gm4_ce_data matches 3 run scoreboard players set $level_add gm4_ce_data 4
-scoreboard players operation @s gm4_ce_horse.speed_level += $level_add gm4_ce_data
-
-execute if data storage gm4_combat_expanded:temp Items[{Slot:1b}].components."minecraft:custom_data".gm4_combat_expanded{modifier:74} store result score $level_add gm4_ce_data run data get storage gm4_combat_expanded:temp Items[{Slot:1b}].components."minecraft:custom_data".gm4_combat_expanded.level
-execute if score $level_add gm4_ce_data matches 3 run scoreboard players set $level_add gm4_ce_data 4
-scoreboard players operation @s gm4_ce_horse.speed_level += $level_add gm4_ce_data
-
-execute if data storage gm4_combat_expanded:temp Items[{Slot:2b}].components."minecraft:custom_data".gm4_combat_expanded{modifier:74} store result score $level_add gm4_ce_data run data get storage gm4_combat_expanded:temp Items[{Slot:2b}].components."minecraft:custom_data".gm4_combat_expanded.level
-execute if score $level_add gm4_ce_data matches 3 run scoreboard players set $level_add gm4_ce_data 4
-scoreboard players operation @s gm4_ce_horse.speed_level += $level_add gm4_ce_data
-
-execute if data storage gm4_combat_expanded:temp Items[{Slot:3b}].components."minecraft:custom_data".gm4_combat_expanded{modifier:74} store result score $level_add gm4_ce_data run data get storage gm4_combat_expanded:temp Items[{Slot:3b}].components."minecraft:custom_data".gm4_combat_expanded.level
-execute if score $level_add gm4_ce_data matches 3 run scoreboard players set $level_add gm4_ce_data 4
-scoreboard players operation @s gm4_ce_horse.speed_level += $level_add gm4_ce_data
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/husk/apply.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/husk/apply.mcfunction
deleted file mode 100644
index 4ed05956a9..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/husk/apply.mcfunction
+++ /dev/null
@@ -1,39 +0,0 @@
-# grant ramping move speed and hunger to sprinting player
-# @s = player wearing husk armour above 50% health and sprinting
-# at unspecified
-# run from armor/modifier/check_modifier/equip
-
-# advance sprinting timer (can advance by 1 for every husk armor piece) if player is sprinting
-scoreboard players add @s[scores={gm4_ce_sprinting=1..}] gm4_ce_t_sprinting 1
-
-# mark this as a worn piece
-scoreboard players add @s gm4_ce_husk_pieces 1
-
-# give effect
-execute if score @s gm4_ce_t_sprinting matches 1..4 run effect give @s speed 2 0
-execute if score @s gm4_ce_t_sprinting matches 1..4 run effect give @s[tag=!gm4_ce_immune_hunger] hunger 2 0 true
-
-execute if score @s gm4_ce_t_sprinting matches 5..9 run effect give @s speed 2 1
-execute if score @s gm4_ce_t_sprinting matches 5..9 run effect give @s[tag=!gm4_ce_immune_hunger] hunger 2 1 true
-
-execute if score @s gm4_ce_t_sprinting matches 10..14 run effect give @s speed 2 2
-execute if score @s gm4_ce_t_sprinting matches 10..14 run effect give @s[tag=!gm4_ce_immune_hunger] hunger 2 2 true
-
-execute if score @s gm4_ce_t_sprinting matches 15..19 run effect give @s speed 2 3
-execute if score @s gm4_ce_t_sprinting matches 15..19 run effect give @s[tag=!gm4_ce_immune_hunger] hunger 2 3 true
-
-execute if score @s gm4_ce_t_sprinting matches 20.. run effect give @s speed 2 4
-execute if score @s gm4_ce_t_sprinting matches 20.. run effect give @s[tag=!gm4_ce_immune_hunger] hunger 2 4 true
-
-execute if score @s[scores={gm4_ce_husk_pieces=2..}] gm4_ce_t_sprinting matches 25.. run effect give @s speed 2 5
-execute if score @s[scores={gm4_ce_husk_pieces=2..}] gm4_ce_t_sprinting matches 25.. run effect give @s[tag=!gm4_ce_immune_hunger] hunger 2 5 true
-
-execute if score @s[scores={gm4_ce_husk_pieces=3..}] gm4_ce_t_sprinting matches 30.. run effect give @s speed 2 6
-execute if score @s[scores={gm4_ce_husk_pieces=3..}] gm4_ce_t_sprinting matches 30.. run effect give @s[tag=!gm4_ce_immune_hunger] hunger 2 6 true
-
-execute if score @s[scores={gm4_ce_husk_pieces=4..}] gm4_ce_t_sprinting matches 35.. run effect give @s speed 2 7
-execute if score @s[scores={gm4_ce_husk_pieces=4..}] gm4_ce_t_sprinting matches 35.. run effect give @s[tag=!gm4_ce_immune_hunger] hunger 2 7 true
-
-# keep effect for a bit after you stop sprinting, refresh this timer when you sprint or swim
-scoreboard players reset @s[scores={gm4_ce_sprinting=1..}] gm4_ce_sprinting_timeout
-scoreboard players reset @s[scores={gm4_ce_swimming=1..}] gm4_ce_sprinting_timeout
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/immune/get_immunities.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/immune/get_immunities.mcfunction
deleted file mode 100644
index f395125286..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/immune/get_immunities.mcfunction
+++ /dev/null
@@ -1,31 +0,0 @@
-# grant immunity tags to player depending on the armor worn
-# @s = player wearing immune armour below 50% health
-# at unspecified
-# run from armor/modifier/check_modifier/hp_check
-
-# get levels
-execute store result score $level gm4_ce_data run data get storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.level
-execute store result score $level2 gm4_ce_data run data get storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.level2
-
-# get effects to become immune to
-execute if score $level gm4_ce_data matches 1 run tag @s add gm4_ce_immune_fatigue
-execute if score $level gm4_ce_data matches 2 run tag @s add gm4_ce_immune_poison
-execute if score $level gm4_ce_data matches 3 run tag @s add gm4_ce_immune_weakness
-
-execute if score $level2 gm4_ce_data matches 1 run tag @s add gm4_ce_immune_hunger
-execute if score $level2 gm4_ce_data matches 2 run tag @s add gm4_ce_immune_blind
-execute if score $level2 gm4_ce_data matches 3 run tag @s add gm4_ce_immune_nausea
-execute if score $level2 gm4_ce_data matches 4 run tag @s add gm4_ce_immune_wither
-
-# remove effects if they were present
-execute if score $level gm4_ce_data matches 1 run effect clear @s mining_fatigue
-execute if score $level gm4_ce_data matches 2 run effect clear @s poison
-execute if score $level gm4_ce_data matches 3 run effect clear @s weakness
-
-execute if score $level2 gm4_ce_data matches 1 run effect clear @s hunger
-execute if score $level2 gm4_ce_data matches 2 run effect clear @s blindness
-execute if score $level2 gm4_ce_data matches 3 run effect clear @s nausea
-execute if score $level2 gm4_ce_data matches 4 run effect clear @s wither
-
-# tag for effect removal
-tag @s add gm4_ce_immune_active
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/link/check.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/link/check.mcfunction
deleted file mode 100644
index f5d8113737..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/link/check.mcfunction
+++ /dev/null
@@ -1,45 +0,0 @@
-# activate link for this player
-# @s = player wearing link armor
-# at @s
-# run from armor/modifier/check_modifier/equip
-
-# first ensure this player is actually alive, otherwise do not allow them into the link
-function gm4_combat_expanded:player/calculate_hp
-execute unless score @s gm4_ce_health.current matches 1.. run return 0
-
-# check if armor has been given a new custom name
-execute store success score $renamed gm4_ce_data run data get storage gm4_combat_expanded:temp components."minecraft:custom_name"
-execute if score $renamed gm4_ce_data matches 1 run data modify storage gm4_combat_expanded:temp format_name_args.name set from storage gm4_combat_expanded:temp components."minecraft:custom_name"
-execute if score $renamed gm4_ce_data matches 1 run function gm4_combat_expanded:armor/modifier/type/link/format_name with storage gm4_combat_expanded:temp format_name_args
-execute if score $renamed gm4_ce_data matches 1 run data remove storage gm4_combat_expanded:temp format_name_args
-
-# if player is already in a link from a previous link piece skip this
-execute if score @s gm4_ce_link_id matches 1.. store success score $change gm4_ce_data run data modify storage gm4_combat_expanded:temp components."minecraft:attribute_modifiers".modifiers[{id:"gm4_combat_expanded:dynamic"}].amount set value 0
-execute if score @s gm4_ce_link_id matches 1.. run return 0
-
-# loop through links to find the one this player belongs to
-scoreboard players set @s gm4_ce_link_id 0
-scoreboard players set $wrong_link gm4_ce_data 1
-data modify storage gm4_combat_expanded:temp search_links.list set from storage gm4_combat_expanded:data active_links
-data modify storage gm4_combat_expanded:temp search_links.find_name set from storage gm4_combat_expanded:temp components."minecraft:custom_name"
-function gm4_combat_expanded:armor/modifier/type/link/search_links
-execute if score $wrong_link gm4_ce_data matches 0 store result score @s gm4_ce_link_id run data get storage gm4_combat_expanded:temp search_links.list[0].id
-data remove storage gm4_combat_expanded:temp search_links
-
-# if an id was found no need to put a new entry in storage
-execute if score @s gm4_ce_link_id matches 0 run function gm4_combat_expanded:armor/modifier/type/link/create_link
-
-# tag player as wearing this armor
-tag @s[gamemode=!creative] add gm4_ce_linked
-
-# get max health of this player -max health change from linked piece
-function gm4_combat_expanded:player/calculate_hp
-execute store result score @s gm4_ce_link_max_health run data get storage gm4_combat_expanded:temp components."minecraft:attribute_modifiers".modifiers[{id:"gm4_combat_expanded:dynamic"}].amount -1
-scoreboard players operation @s gm4_ce_link_max_health += @s gm4_ce_health.max
-
-# store slot this players linked armor is in
-execute store result score $slot gm4_ce_data run data get storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.slot
-scoreboard players operation @s gm4_ce_link_slot = $slot gm4_ce_data
-
-# start clock
-execute unless score $keep_tick.link gm4_ce_keep_tick matches 1 run schedule function gm4_combat_expanded:clocks/temp/link 1t
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/link/create_link.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/link/create_link.mcfunction
deleted file mode 100644
index cbeb92aabc..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/link/create_link.mcfunction
+++ /dev/null
@@ -1,15 +0,0 @@
-# find link this armor belongs to or make a new one
-# @s = player wearing link armor
-# at @s
-# run from armor/modifier/type/link/check
-
-# put the new link into storage
-data modify storage gm4_combat_expanded:temp new_link set value {id:0,health:1,max_health:20,name:null}
-data modify storage gm4_combat_expanded:temp new_link.name set from storage gm4_combat_expanded:temp components."minecraft:custom_name"
-execute store result storage gm4_combat_expanded:temp new_link.id int 1 run scoreboard players add $latest_id gm4_ce_link_id 1
-execute store result storage gm4_combat_expanded:temp new_link.health int 1 run scoreboard players get @s gm4_ce_health.current
-data modify storage gm4_combat_expanded:data active_links append from storage gm4_combat_expanded:temp new_link
-data remove storage gm4_combat_expanded:temp new_link
-
-# set player link id to this link
-scoreboard players operation @s gm4_ce_link_id = $latest_id gm4_ce_link_id
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/link/format_name.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/link/format_name.mcfunction
deleted file mode 100644
index 8d83a8b587..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/link/format_name.mcfunction
+++ /dev/null
@@ -1,21 +0,0 @@
-# format the link name to be purple and non-italic
-# @s = player wearing link armor
-# at @s
-# run from armor/modifier/type/link/check
-
-# replace the name with a formatted version
-$data modify storage gm4_combat_expanded:temp components."minecraft:custom_name" set value '{"translate":"item.gm4.combat_expanded.name.link_no_translate","fallback":$(name),"italic":false,"color":"light_purple"}'
-scoreboard players set $change gm4_ce_data 1
-
-# armors active tag is used to track if armor was renamed before, if so no need to do so again
-execute if score $active gm4_ce_data matches 1 run return 0
-data modify storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.active set value 1
-
-# use lib_lore to remove the 'Rename to Link' text and brighten the 'Lifelink' text
-data modify storage gm4_lore:temp Source set from storage gm4_combat_expanded:temp components."minecraft:lore"
-data modify storage gm4_lore:temp Target set value '{"translate":"item.gm4.combat_expanded.lore.link_2","fallback":"Rename to Link","italic":false,"color":"blue"}'
-function #gm4_lore:remove
-data modify storage gm4_lore:temp Target set value '{"translate":"item.gm4.combat_expanded.lore.link_3","fallback":"Lifelink","italic":false,"color":"dark_gray"}'
-data modify storage gm4_lore:temp Input set value ['{"translate":"item.gm4.combat_expanded.lore.link_3","fallback":"Lifelink","italic":false,"color":"blue"}']
-function #gm4_lore:replace
-data modify storage gm4_combat_expanded:temp components."minecraft:lore" set from storage gm4_lore:temp Source
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/link/process/calc_health_change.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/link/process/calc_health_change.mcfunction
deleted file mode 100644
index 617f812ece..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/link/process/calc_health_change.mcfunction
+++ /dev/null
@@ -1,9 +0,0 @@
-# calculate link health change from this player
-# @s = player in this link
-# at unspecified
-# run from armor/modifier/type/link/process/process_link
-
-# assume health last tick was link health, see how it changed and apply to link_health
-scoreboard players operation $health_change gm4_ce_data = @s gm4_ce_health.current
-scoreboard players operation $health_change gm4_ce_data -= $link_health_start gm4_ce_data
-scoreboard players operation $link_health gm4_ce_data += $health_change gm4_ce_data
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/link/process/calc_max_health.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/link/process/calc_max_health.mcfunction
deleted file mode 100644
index 7c714824ca..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/link/process/calc_max_health.mcfunction
+++ /dev/null
@@ -1,8 +0,0 @@
-
-# calculate average max health between all players in this link
-scoreboard players set $link_max_health gm4_ce_data 0
-execute as @a[tag=gm4_ce_link.process] run scoreboard players operation $link_max_health gm4_ce_data += @s gm4_ce_link_max_health
-execute store result storage gm4_combat_expanded:temp run_links[0].max_health int 1 run scoreboard players operation $link_max_health gm4_ce_data /= $link_players gm4_ce_data
-
-# translate this health to players
-execute as @a[tag=gm4_ce_link.process] run function gm4_combat_expanded:armor/modifier/type/link/process/calc_max_health_change
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/link/process/calc_max_health_change.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/link/process/calc_max_health_change.mcfunction
deleted file mode 100644
index 20d5788e25..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/link/process/calc_max_health_change.mcfunction
+++ /dev/null
@@ -1,5 +0,0 @@
-
-# set health on linked piece to get player max health to average in link
-scoreboard players operation $set_max_health gm4_ce_data = $link_max_health gm4_ce_data
-scoreboard players operation $set_max_health gm4_ce_data -= @s gm4_ce_link_max_health
-function gm4_combat_expanded:armor/modifier/type/link/process/set_max_health
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/link/process/death.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/link/process/death.mcfunction
deleted file mode 100644
index 2bb78f9a5e..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/link/process/death.mcfunction
+++ /dev/null
@@ -1,16 +0,0 @@
-# process a link that has run out of health
-# @s = unspecified
-# at unspecified
-# run from armor/modifier/type/link/process/process_link
-
-# check which players were killed and which followed them to their death
-execute store result score $killed_player_count gm4_ce_data run tag @a[tag=gm4_ce_link.process,scores={gm4_ce_health.current=..0}] add gm4_ce_link.killed
-execute if score $killed_player_count gm4_ce_data matches 2.. run tag @r[tag=gm4_ce_link.killed] add gm4_ce_link.killed_2
-
-execute as @a[tag=gm4_ce_link.process,tag=!gm4_ce_link.killed] run function gm4_combat_expanded:armor/modifier/type/link/process/death_message
-
-# remove tags as processing is done
-tag @a[tag=gm4_ce_link.process] remove gm4_ce_linked
-tag @a remove gm4_ce_link.process
-tag @a remove gm4_ce_link.killed
-tag @a remove gm4_ce_link.killed_2
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/link/process/death_message.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/link/process/death_message.mcfunction
deleted file mode 100644
index ad20d342be..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/link/process/death_message.mcfunction
+++ /dev/null
@@ -1,15 +0,0 @@
-# kill player in dead link
-# @s = player in link to kill
-# at unspecified
-# run from armor/modifier/type/link/process/death
-
-
-# display custom death message if death messages are on
-execute store result score $death_messages gm4_ce_data run gamerule showDeathMessages
-gamerule showDeathMessages false
-execute if score $death_messages gm4_ce_data matches 1 if score $killed_player_count gm4_ce_data matches 0 at @s run tellraw @a {"translate":"death.gm4.combat_expanded.link_0","fallback":"%s followed eachother to their death","with":[{"selector":"@a[tag=gm4_ce_link.process]"}]}
-execute if score $death_messages gm4_ce_data matches 1 if score $killed_player_count gm4_ce_data matches 1 at @s run tellraw @a {"translate":"death.gm4.combat_expanded.link_1","fallback":"%s followed %s to their death","with":[{"selector":"@s"},{"selector":"@p[tag=gm4_ce_link.killed]"}]}
-execute if score $death_messages gm4_ce_data matches 1 if score $killed_player_count gm4_ce_data matches 2.. at @s run tellraw @a {"translate":"death.gm4.combat_expanded.link_2+","fallback":"%s followed %s and %s to their deaths","with":[{"selector":"@s"},{"selector":"@a[tag=gm4_ce_link.killed,tag=!gm4_ce_link.killed_2]"},{"selector":"@a[tag=gm4_ce_link.killed_2]"}]}
-execute if score $killed_player_count gm4_ce_data matches 0 run scoreboard players set $killed_player_count gm4_ce_data -1
-kill @s
-execute if score $death_messages gm4_ce_data matches 1 run gamerule showDeathMessages true
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/link/process/loop_links.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/link/process/loop_links.mcfunction
deleted file mode 100644
index fd94dd1e4f..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/link/process/loop_links.mcfunction
+++ /dev/null
@@ -1,17 +0,0 @@
-# loop through links
-# @s = unspecified
-# at unspecified
-# run from clocks/temp/link
-
-# grab id of this link
-execute store result score $link_id gm4_ce_link_id run data get storage gm4_combat_expanded:temp run_links[0].id
-
-# look for players in this link
-execute as @a[tag=gm4_ce_linked,gamemode=!spectator,gamemode=!creative] if score @s gm4_ce_link_id = $link_id gm4_ce_link_id run tag @s add gm4_ce_link.process
-execute store result score $link_players gm4_ce_data if entity @a[tag=gm4_ce_link.process]
-execute if score $link_players gm4_ce_data matches 1 as @p[tag=gm4_ce_link.process] run function gm4_combat_expanded:armor/modifier/type/link/process/one_player_link
-execute if score $link_players gm4_ce_data matches 2.. run function gm4_combat_expanded:armor/modifier/type/link/process/process_link
-
-# check for more links
-data remove storage gm4_combat_expanded:temp run_links[0]
-execute if data storage gm4_combat_expanded:temp run_links[0] run function gm4_combat_expanded:armor/modifier/type/link/process/loop_links
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/link/process/one_player_link.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/link/process/one_player_link.mcfunction
deleted file mode 100644
index f57f20ff1e..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/link/process/one_player_link.mcfunction
+++ /dev/null
@@ -1,18 +0,0 @@
-# process a link with 1 player
-# @s = unspecified
-# at unspecified
-# run from armor/modifier/type/link/process/loop_links
-
-scoreboard players set $keep_tick.link gm4_ce_keep_tick 1
-
-# set link health to this player health
-execute store result storage gm4_combat_expanded:temp run_links[0].health int 1 run scoreboard players get @s gm4_ce_health.current
-
-scoreboard players set $set_max_health gm4_ce_data 0
-execute if score $link.calc_max_health gm4_ce_data matches 1 run function gm4_combat_expanded:armor/modifier/type/link/process/set_max_health
-
-# remove tag
-tag @s remove gm4_ce_link.process
-
-# add this link back to storage to keep it for next tick
-data modify storage gm4_combat_expanded:temp rebuild_links append from storage gm4_combat_expanded:temp run_links[0]
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/link/process/process_link.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/link/process/process_link.mcfunction
deleted file mode 100644
index 639f8e6f7b..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/link/process/process_link.mcfunction
+++ /dev/null
@@ -1,34 +0,0 @@
-# process a link with 2+ players
-# @s = unspecified
-# at unspecified
-# run from armor/modifier/type/link/process/loop_links
-
-scoreboard players set $keep_tick.link gm4_ce_keep_tick 1
-
-# grab link health from last tick
-execute store result score $link_health gm4_ce_data run data get storage gm4_combat_expanded:temp run_links[0].health
-
-# get average max health of all players in this link once per 16t
-execute if score $link.calc_max_health gm4_ce_data matches 1 run function gm4_combat_expanded:armor/modifier/type/link/process/calc_max_health
-execute if score $link.calc_max_health gm4_ce_data matches 0 store result score $link_max_health gm4_ce_data run data get storage gm4_combat_expanded:temp run_links[0].max_health
-
-# all player already in this link modify link health by their health change since last tick
-scoreboard players operation $link_health_start gm4_ce_data = $link_health gm4_ce_data
-execute as @a[tag=gm4_ce_link.process,tag=gm4_ce_was_linked] run function gm4_combat_expanded:armor/modifier/type/link/process/calc_health_change
-
-# make sure link health does not exceed any link max health
-scoreboard players operation $link_health gm4_ce_data < $link_max_health gm4_ce_data
-
-# any new player will keep the link health below theirs so link never heals a player
-execute as @a[tag=gm4_ce_link.process,tag=!gm4_ce_was_linked] run scoreboard players operation $link_health gm4_ce_data < @s gm4_ce_health.current
-tag @a[tag=gm4_ce_link.process,tag=!gm4_ce_was_linked] add gm4_ce_was_linked
-
-# process health set or death
-execute if score $link_health gm4_ce_data matches 1.. as @a[tag=gm4_ce_link.process] run function gm4_combat_expanded:armor/modifier/type/link/process/set_health
-execute unless score $link_health gm4_ce_data matches 1.. run function gm4_combat_expanded:armor/modifier/type/link/process/death
-
-# store the new health total in storage, make sure there is at least some health in case new players join
-execute store result storage gm4_combat_expanded:temp run_links[0].health int 1 run scoreboard players operation $link_health gm4_ce_data > #1 gm4_ce_data
-
-# add this link back to storage to keep it for next tick
-data modify storage gm4_combat_expanded:temp rebuild_links append from storage gm4_combat_expanded:temp run_links[0]
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/link/process/set_health.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/link/process/set_health.mcfunction
deleted file mode 100644
index 3b6699f090..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/link/process/set_health.mcfunction
+++ /dev/null
@@ -1,22 +0,0 @@
-# set player to link health
-# @s = player in this link
-# at unspecified
-# run from armor/modifier/type/link/process/process_link
-
-# remove tag as processing is done
-tag @s remove gm4_ce_link.process
-
-# calculate how health needs to change for this link
-scoreboard players operation $health_change gm4_ce_data = @s gm4_ce_health.current
-scoreboard players operation $health_change gm4_ce_data -= $link_health gm4_ce_data
-scoreboard players operation @s gm4_ce_healstore -= $health_change gm4_ce_data
-
-# pause regen next tick if damaged
-tag @s[scores={gm4_ce_healstore=..-1}] add gm4_ce_pause_nat_regen
-
-# change player health
-execute if score @s gm4_ce_healstore matches 1.. run function gm4_combat_expanded:player/heal/heal_calc
-execute if score @s gm4_ce_healstore matches ..-1 run function gm4_combat_expanded:player/damage/activate
-
-# cleanup
-scoreboard players reset @s gm4_ce_healstore
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/link/process/set_max_health.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/link/process/set_max_health.mcfunction
deleted file mode 100644
index 01555a724e..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/link/process/set_max_health.mcfunction
+++ /dev/null
@@ -1,22 +0,0 @@
-# process a link with 1 player
-# @s = unspecified
-# at unspecified
-# run from armor/modifier/type/link/process/one_player_link
-
-# grab item data from linked armor piece
-execute if score @s gm4_ce_link_slot matches 0 run item replace block 29999998 1 7134 container.0 from entity @s armor.head
-execute if score @s gm4_ce_link_slot matches 1 run item replace block 29999998 1 7134 container.0 from entity @s armor.chest
-execute if score @s gm4_ce_link_slot matches 2 run item replace block 29999998 1 7134 container.0 from entity @s armor.legs
-execute if score @s gm4_ce_link_slot matches 3 run item replace block 29999998 1 7134 container.0 from entity @s armor.feet
-data modify storage gm4_combat_expanded:temp components set from block 29999998 1 7134 Items[{Slot:0b}].components
-data remove block 29999998 1 7134 Items
-
-# set max health to calculated value
-execute store result storage gm4_combat_expanded:temp components."minecraft:attribute_modifiers".modifiers[{id:"gm4_combat_expanded:dynamic"}].amount int 1 run scoreboard players get $set_max_health gm4_ce_data
-
-# update linked armor piece
-execute if score @s gm4_ce_link_slot matches 0 run function gm4_combat_expanded:item_modify_eval/head_update with storage gm4_combat_expanded:temp
-execute if score @s gm4_ce_link_slot matches 1 run function gm4_combat_expanded:item_modify_eval/chest_update with storage gm4_combat_expanded:temp
-execute if score @s gm4_ce_link_slot matches 2 run function gm4_combat_expanded:item_modify_eval/legs_update with storage gm4_combat_expanded:temp
-execute if score @s gm4_ce_link_slot matches 3 run function gm4_combat_expanded:item_modify_eval/feet_update with storage gm4_combat_expanded:temp
-function gm4_combat_expanded:armor/slot/silence_equip_sound
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/link/search_links.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/link/search_links.mcfunction
deleted file mode 100644
index 194443eac0..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/link/search_links.mcfunction
+++ /dev/null
@@ -1,16 +0,0 @@
-# search links for the one this player belongs to
-# @s = player wearing link armor
-# at @s
-# run from armor/modifier/type/link/check
-# run from here
-
-# check first link in list to see if name matches
-data modify storage gm4_combat_expanded:temp search_links.check_name set from storage gm4_combat_expanded:temp search_links.list[0].name
-execute store success score $wrong_link gm4_ce_data run data modify storage gm4_combat_expanded:temp search_links.check_name set from storage gm4_combat_expanded:temp search_links.find_name
-
-# if link was found return
-execute if score $wrong_link gm4_ce_data matches 0 run return 1
-
-# if link was not found check next link in list
-data remove storage gm4_combat_expanded:temp search_links.list[0]
-execute if data storage gm4_combat_expanded:temp search_links.list[0] run function gm4_combat_expanded:armor/modifier/type/link/search_links
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/poised/check.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/poised/check.mcfunction
deleted file mode 100644
index 74e94e0d46..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/poised/check.mcfunction
+++ /dev/null
@@ -1,10 +0,0 @@
-# check if armor should activate
-# @s = player being checked
-# at unspecified
-# run from armor/check_modifier/hp_check
-
-# activate attributes if player above 50% health
-execute if score @s gm4_ce_health.current > @s gm4_ce_health.max_half unless score $active gm4_ce_data matches 1 run function gm4_combat_expanded:armor/modifier/type/poised/high_hp
-
-# activate attributes if player below 50% health
-execute if score @s gm4_ce_health.current <= @s gm4_ce_health.max_half unless score $active gm4_ce_data matches -1 run function gm4_combat_expanded:armor/modifier/type/poised/low_hp
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/poised/high_hp.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/poised/high_hp.mcfunction
deleted file mode 100644
index 55f191f983..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/poised/high_hp.mcfunction
+++ /dev/null
@@ -1,12 +0,0 @@
-# activate the positive modifiers on the armor piece
-# @s = player wearing the armor
-# at unspecified
-# run from functions in armor/modifier/type/poised/check
-
-# mark for change and set to active
-scoreboard players set $change gm4_ce_data 1
-data modify storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.active set value 1
-
-# modify attributes
-execute store result storage gm4_combat_expanded:temp components."minecraft:attribute_modifiers".modifiers[{id:"gm4_combat_expanded:dynamic"}].amount float -1 run data get storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.level
-data modify storage gm4_combat_expanded:temp components."minecraft:attribute_modifiers".modifiers[{id:"gm4_combat_expanded:dynamic_2"}].amount set from storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.level2
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/poised/low_hp.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/poised/low_hp.mcfunction
deleted file mode 100644
index bde789530e..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/poised/low_hp.mcfunction
+++ /dev/null
@@ -1,12 +0,0 @@
-# activate the negative modifiers on the armor piece
-# @s = player wearing the armor
-# at unspecified
-# run from functions in armor/modifier/type/poised/check
-
-# mark for change and set to -active
-scoreboard players set $change gm4_ce_data 1
-data modify storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.active set value -1
-
-# modify attributes
-data modify storage gm4_combat_expanded:temp components."minecraft:attribute_modifiers".modifiers[{id:"gm4_combat_expanded:dynamic"}].amount set from storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.level
-execute store result storage gm4_combat_expanded:temp components."minecraft:attribute_modifiers".modifiers[{id:"gm4_combat_expanded:dynamic_2"}].amount float -1 run data get storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.level2
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/reactive/add_level.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/reactive/add_level.mcfunction
deleted file mode 100644
index 781b82891b..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/reactive/add_level.mcfunction
+++ /dev/null
@@ -1,35 +0,0 @@
-# add absorption to player that got hit (red health hits only)
-# @s = player wearing armor
-# at @s
-advancement revoke @s only gm4_combat_expanded:damaged/armor/reactive
-
-# store armor for checking
-item replace block 29999998 1 7134 container.0 from entity @s armor.head
-item replace block 29999998 1 7134 container.1 from entity @s armor.chest
-item replace block 29999998 1 7134 container.2 from entity @s armor.legs
-item replace block 29999998 1 7134 container.3 from entity @s armor.feet
-data modify storage gm4_combat_expanded:temp Items set from block 29999998 1 7134 Items
-data remove block 29999998 1 7134 Items
-
-# add level of absorption to player total for each armor piece
-scoreboard players set $level gm4_ce_data 0
-execute if data storage gm4_combat_expanded:temp Items[{Slot:0b}].components."minecraft:custom_data".gm4_combat_expanded{modifier:reactive} store result score $level gm4_ce_data run data get storage gm4_combat_expanded:temp Items[{Slot:0b}].components."minecraft:custom_data".gm4_combat_expanded.level
-scoreboard players operation @s gm4_ce_absorp += $level gm4_ce_data
-
-scoreboard players set $level gm4_ce_data 0
-execute if data storage gm4_combat_expanded:temp Items[{Slot:1b}].components."minecraft:custom_data".gm4_combat_expanded{modifier:reactive} store result score $level gm4_ce_data run data get storage gm4_combat_expanded:temp Items[{Slot:1b}].components."minecraft:custom_data".gm4_combat_expanded.level
-scoreboard players operation @s gm4_ce_absorp += $level gm4_ce_data
-
-scoreboard players set $level gm4_ce_data 0
-execute if data storage gm4_combat_expanded:temp Items[{Slot:2b}].components."minecraft:custom_data".gm4_combat_expanded{modifier:reactive} store result score $level gm4_ce_data run data get storage gm4_combat_expanded:temp Items[{Slot:2b}].components."minecraft:custom_data".gm4_combat_expanded.level
-scoreboard players operation @s gm4_ce_absorp += $level gm4_ce_data
-
-scoreboard players set $level gm4_ce_data 0
-execute if data storage gm4_combat_expanded:temp Items[{Slot:3b}].components."minecraft:custom_data".gm4_combat_expanded{modifier:reactive} store result score $level gm4_ce_data run data get storage gm4_combat_expanded:temp Items[{Slot:3b}].components."minecraft:custom_data".gm4_combat_expanded.level
-scoreboard players operation @s gm4_ce_absorp += $level gm4_ce_data
-
-# cooldown
-scoreboard players set @s gm4_ce_t_reactive 37
-
-# grant effect
-function gm4_combat_expanded:player/shield/prep
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/reckless/activate.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/reckless/activate.mcfunction
deleted file mode 100644
index a1c6371225..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/reckless/activate.mcfunction
+++ /dev/null
@@ -1,31 +0,0 @@
-# activate reckless armor on mob kill
-# @s = player wearing armor
-# at unspecified
-# run from armor/modifier/killing
-
-# get max level
-scoreboard players set $armor_level gm4_ce_data 0
-data modify storage gm4_combat_expanded:temp attribute_modifiers set from storage gm4_combat_expanded:temp components."minecraft:attribute_modifiers".modifiers
-function gm4_combat_expanded:armor/modifier/type/reckless/loop_attributes
-data remove storage gm4_combat_expanded:temp check_modifier
-
-# update time to deactivate (15 sec)
-execute store result score $deactive_at gm4_ce_data run time query gametime
-execute store result storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.deactivates_at int 1 run scoreboard players add $deactive_at gm4_ce_data 300
-
-# don't update armor if it is at its cap
-execute if score $armor_level gm4_ce_data matches 0 run return 0
-
-scoreboard players set $change gm4_ce_data 1
-
-# add kils to level and store for future
-scoreboard players operation $armor_level gm4_ce_data += $active gm4_ce_data
-scoreboard players operation $active gm4_ce_data += @s gm4_ce_kill
-execute store result storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.active int 1 run scoreboard players operation $active gm4_ce_data < $armor_level gm4_ce_data
-
-# update modifiers
-execute store result storage gm4_combat_expanded:temp components."minecraft:attribute_modifiers".modifiers[{id:"gm4_combat_expanded:dynamic"}].amount float 0.5 run scoreboard players get $active gm4_ce_data
-execute store result storage gm4_combat_expanded:temp components."minecraft:attribute_modifiers".modifiers[{id:"gm4_combat_expanded:dynamic_2"}].amount float -1 run scoreboard players get $active gm4_ce_data
-
-# sound
-execute at @s run playsound minecraft:entity.vex.ambient player @s ~ ~ ~ 0.8 1.6
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/reckless/check.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/reckless/check.mcfunction
deleted file mode 100644
index 0072379e67..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/reckless/check.mcfunction
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-execute if score @s gm4_ce_kill matches 1.. run function gm4_combat_expanded:armor/modifier/type/reckless/activate
-execute unless score @s gm4_ce_kill matches 1.. if score $active gm4_ce_data matches 1.. run function gm4_combat_expanded:armor/modifier/type/reckless/check_time
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/reckless/check_time.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/reckless/check_time.mcfunction
deleted file mode 100644
index 87f3a9a812..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/reckless/check_time.mcfunction
+++ /dev/null
@@ -1,4 +0,0 @@
-
-execute store result score $curr_time gm4_ce_data run time query gametime
-execute store result score $deactivates_at gm4_ce_data run data get storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.deactivates_at
-execute if score $curr_time gm4_ce_data >= $deactivates_at gm4_ce_data run function gm4_combat_expanded:armor/modifier/type/reckless/deactivate
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/reckless/deactivate.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/reckless/deactivate.mcfunction
deleted file mode 100644
index 01589d27c7..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/reckless/deactivate.mcfunction
+++ /dev/null
@@ -1,11 +0,0 @@
-# activate reckless armor on mob kill
-# @s = player wearing armor
-# at @s
-# run from armor/modifier/killing
-
-scoreboard players set $change gm4_ce_data 1
-
-# reset level and modifiers
-data modify storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.active set value 0
-data modify storage gm4_combat_expanded:temp components."minecraft:attribute_modifiers".modifiers[{id:"gm4_combat_expanded:dynamic"}].amount set value 0
-data modify storage gm4_combat_expanded:temp components."minecraft:attribute_modifiers".modifiers[{id:"gm4_combat_expanded:dynamic_2"}].amount set value 0
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/reckless/loop_attributes.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/reckless/loop_attributes.mcfunction
deleted file mode 100644
index 39f28de39b..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/reckless/loop_attributes.mcfunction
+++ /dev/null
@@ -1,14 +0,0 @@
-# loop over armor modifiers to add together armor values
-# @s = player wearing convert armor
-# at @s
-# run from armor/modifier/type/reckless/activate
-# run from here
-
-# check modifier to see armor it grants
-data modify storage gm4_combat_expanded:temp check_modifier set from storage gm4_combat_expanded:temp attribute_modifiers[0]
-execute store result score $armor_add gm4_ce_data run data get storage gm4_combat_expanded:temp check_modifier{type:"minecraft:armor"}.amount
-scoreboard players operation $armor_level gm4_ce_data += $armor_add gm4_ce_data
-
-# loop over all modifiers
-data remove storage gm4_combat_expanded:temp attribute_modifiers[0]
-execute if data storage gm4_combat_expanded:temp attribute_modifiers[0] run function gm4_combat_expanded:armor/modifier/type/reckless/loop_attributes
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/scout/activate.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/scout/activate.mcfunction
deleted file mode 100644
index a502a9d91d..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/scout/activate.mcfunction
+++ /dev/null
@@ -1,11 +0,0 @@
-# activate the modifiers on the armor piece
-# @s = player wearing the armor
-# at unspecified
-# run from functions in armor/modifier/type/scout/check
-
-# mark for change and set to active
-scoreboard players set $change gm4_ce_data 1
-data modify storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.active set value 1
-
-# modify attribute
-execute store result storage gm4_combat_expanded:temp components."minecraft:attribute_modifiers".modifiers[{id:"gm4_combat_expanded:dynamic"}].amount float 0.01 run data get storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.level
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/scout/check.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/scout/check.mcfunction
deleted file mode 100644
index ff8038455e..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/scout/check.mcfunction
+++ /dev/null
@@ -1,10 +0,0 @@
-# check if armor should activate
-# @s = player being checked
-# at unspecified
-# run from armor/check_modifier/safety
-
-# activate armor if player is regenerating again
-execute unless score @s gm4_ce_natural_regen_damage matches 1.. if score $active gm4_ce_data matches 0 run function gm4_combat_expanded:armor/modifier/type/scout/activate
-
-# otherwise deactivate armor
-execute if score @s gm4_ce_natural_regen_damage matches 1.. if score $active gm4_ce_data matches 1 run function gm4_combat_expanded:armor/modifier/type/scout/deactivate
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/scout/deactivate.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/scout/deactivate.mcfunction
deleted file mode 100644
index ea90f427dd..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/scout/deactivate.mcfunction
+++ /dev/null
@@ -1,11 +0,0 @@
-# deactivate the modifiers on the armor piece
-# @s = player wearing the armor
-# at unspecified
-# run from functions in armor/modifier/type/scout/check
-
-# mark for change and set to inactive
-scoreboard players set $change gm4_ce_data 1
-data modify storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.active set value 0
-
-# disable attribute
-data modify storage gm4_combat_expanded:temp components."minecraft:attribute_modifiers".modifiers[{id:"gm4_combat_expanded:dynamic"}].amount set value 0
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/second_wind/activate.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/second_wind/activate.mcfunction
deleted file mode 100644
index 1b20fcf34b..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/second_wind/activate.mcfunction
+++ /dev/null
@@ -1,7 +0,0 @@
-# activate armor
-# @s = player being checked
-# at unspecified
-# run from armor/modifier/type/second_wind/check
-
-tag @s add gm4_ce_second_wind.active
-scoreboard players reset @s gm4_ce_second_wind
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/second_wind/check.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/second_wind/check.mcfunction
deleted file mode 100644
index 46fe9da975..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/second_wind/check.mcfunction
+++ /dev/null
@@ -1,14 +0,0 @@
-# check if armor should activate
-# @s = player being checked
-# at unspecified
-# run from armor/check_modifier/safety
-
-# activate armor if player is regenerating
-execute if score @s[tag=!gm4_ce_second_wind.active] gm4_ce_hurt matches 1.. run function gm4_combat_expanded:armor/modifier/type/second_wind/activate
-
-# translate damage taken to stored health if armor is active
-execute if score @s[tag=gm4_ce_second_wind.active] gm4_ce_hurt matches 1.. at @s run function gm4_combat_expanded:armor/modifier/type/second_wind/store
-
-# restore health when player is safe
-execute unless score @s[tag=gm4_ce_second_wind.active] gm4_ce_natural_regen_damage matches 1.. at @s run function gm4_combat_expanded:armor/modifier/type/second_wind/restore
-
\ No newline at end of file
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/second_wind/restore.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/second_wind/restore.mcfunction
deleted file mode 100644
index cf8e5a2f85..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/second_wind/restore.mcfunction
+++ /dev/null
@@ -1,13 +0,0 @@
-# restore stored health to player
-# @s = player being checked
-# at @s
-# run from armor/modifier/type/second_wind/check
-
-scoreboard players operation @s gm4_ce_second_wind /= #100 gm4_ce_data
-scoreboard players operation @s gm4_ce_healstore += @s gm4_ce_second_wind
-
-tag @s remove gm4_ce_second_wind.active
-scoreboard players reset @s gm4_ce_second_wind
-
-playsound minecraft:item.bottle.fill player @s ~ ~ ~ 0.6 2
-particle heart ~ ~1 ~ 0.3 0.3 0.3 1 3
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/second_wind/store.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/second_wind/store.mcfunction
deleted file mode 100644
index 2b76293688..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/second_wind/store.mcfunction
+++ /dev/null
@@ -1,12 +0,0 @@
-# store portion of damage taken in score
-# @s = player being checked
-# at @s
-# run from armor/modifier/type/second_wind/check
-
-execute store result score $level gm4_ce_data run data get storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.level2 2
-
-scoreboard players operation $store_health gm4_ce_data = @s gm4_ce_hurt
-scoreboard players operation $store_health gm4_ce_data *= $level gm4_ce_data
-scoreboard players operation @s gm4_ce_second_wind += $store_health gm4_ce_data
-
-playsound minecraft:item.bottle.empty player @s ~ ~ ~ 0.6 2
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/shielded/add_level.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/shielded/add_level.mcfunction
deleted file mode 100644
index 0200e35eb4..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/shielded/add_level.mcfunction
+++ /dev/null
@@ -1,7 +0,0 @@
-# add level of absorption to player total depending on armor piece level, absorption will be granted at end of player processing (this tick)
-# @s = player to get shield
-# at unspecified
-# run from armor/check_modifier/safety
-
-execute store result score $level gm4_ce_data run data get storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.level
-scoreboard players operation @s gm4_ce_absorp += $level gm4_ce_data
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/shielded/lose_shield.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/shielded/lose_shield.mcfunction
deleted file mode 100644
index d6bc5d86e8..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/shielded/lose_shield.mcfunction
+++ /dev/null
@@ -1,9 +0,0 @@
-# remove player absorption when hit
-# @s = player wearing shielded armor being damaged
-# at @s
-advancement revoke @s only gm4_combat_expanded:damaged/armor/shielded
-
-effect clear @s absorption
-
-# put effect on cooldown
-scoreboard players set @s gm4_ce_t_shield 5
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/sneak/active.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/sneak/active.mcfunction
deleted file mode 100644
index d4fdb435be..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/sneak/active.mcfunction
+++ /dev/null
@@ -1,9 +0,0 @@
-# mark armor as active
-# @s = player wearing armor
-# at unspecified
-# run from armor/modifier/type/sneak/check
-
-# mark as active
-scoreboard players set $change gm4_ce_data 1
-data modify storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.active set value 1
-scoreboard players set $active gm4_ce_data 1
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/sneak/attack_speed.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/sneak/attack_speed.mcfunction
deleted file mode 100644
index 50d24d77dd..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/sneak/attack_speed.mcfunction
+++ /dev/null
@@ -1,18 +0,0 @@
-# apply sneak attack speed
-# @s = player wearing armor
-# at unspecified
-# run from armor/modifier/type/sneak/check
-
-# remove invisibility
-effect clear @s invisibility
-
-# activate armor with 2, mark for change and set the time when attack speed should be removed
-scoreboard players set $change gm4_ce_data 1
-execute store result score $stop_time gm4_ce_data run time query gametime
-execute store result storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.stop_time int 1 run scoreboard players add $stop_time gm4_ce_data 79
-data modify storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.active set value 2
-scoreboard players set $active gm4_ce_data 2
-
-# activate attributes
-execute store result storage gm4_combat_expanded:temp components."minecraft:attribute_modifiers".modifiers[{id:"gm4_combat_expanded:dynamic"}].amount float 0.25 run data get storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.level
-execute store result storage gm4_combat_expanded:temp components."minecraft:attribute_modifiers".modifiers[{id:"gm4_combat_expanded:dynamic_2"}].amount float 0.01 run data get storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.level2
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/sneak/check.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/sneak/check.mcfunction
deleted file mode 100644
index 2b1f934b03..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/sneak/check.mcfunction
+++ /dev/null
@@ -1,15 +0,0 @@
-# invisibility and jump boost when undamaged
-# @s = player wearing armor
-# at unspecified
-# run from armor/check_modifier/safety
-
-# if armor is giving attack speed check if it should be removed
-execute if score $active gm4_ce_data matches 2 run function gm4_combat_expanded:armor/modifier/type/sneak/check_time
-
-# if armor was active and is now no longer grant the attack speed for 4 seconds if player is not hurt
-execute if score $active gm4_ce_data matches 1 if score @s gm4_ce_natural_regen_damage matches 1.. run function gm4_combat_expanded:armor/modifier/type/sneak/deactivate
-execute if score $active gm4_ce_data matches 1 unless predicate gm4_combat_expanded:technical/crouching run function gm4_combat_expanded:armor/modifier/type/sneak/attack_speed
-
-# check if player is sneaking while undamaged to grant invis
-execute if score $active gm4_ce_data matches 0 unless score @s[predicate=gm4_combat_expanded:technical/crouching] gm4_ce_hurt matches 1.. run function gm4_combat_expanded:armor/modifier/type/sneak/active
-execute if score $active gm4_ce_data matches 1 run effect give @s invisibility 2 0 true
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/sneak/check_time.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/sneak/check_time.mcfunction
deleted file mode 100644
index 8734399238..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/sneak/check_time.mcfunction
+++ /dev/null
@@ -1,8 +0,0 @@
-# check if time of attack speed has ran out
-# @s = player wearing armor
-# at unspecified
-# run from armor/modifier/type/sneak/check
-
-execute store result score $current_time gm4_ce_data run time query gametime
-execute store result score $stop_time gm4_ce_data run data get storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.stop_time
-execute if score $current_time gm4_ce_data >= $stop_time gm4_ce_data run function gm4_combat_expanded:armor/modifier/type/sneak/deactivate
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/sneak/deactivate.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/sneak/deactivate.mcfunction
deleted file mode 100644
index e17cdde115..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/sneak/deactivate.mcfunction
+++ /dev/null
@@ -1,17 +0,0 @@
-# deactivate sneak attack speed
-# @s = player wearing armor
-# at unspecified
-# run from armor/modifier/type/sneak/check_time
-# run from armor/modifier/type/sneak/check
-
-# remove invisibility
-effect clear @s invisibility
-
-# mark as inactive
-scoreboard players set $change gm4_ce_data 1
-data modify storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.active set value 0
-scoreboard players set $active gm4_ce_data 0
-
-# remove attribute
-data modify storage gm4_combat_expanded:temp components."minecraft:attribute_modifiers".modifiers[{id:"gm4_combat_expanded:dynamic"}].amount set value 0
-data modify storage gm4_combat_expanded:temp components."minecraft:attribute_modifiers".modifiers[{id:"gm4_combat_expanded:dynamic_2"}].amount set value 0
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/soothe/activate.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/soothe/activate.mcfunction
deleted file mode 100644
index b3bcf5915a..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/soothe/activate.mcfunction
+++ /dev/null
@@ -1,42 +0,0 @@
-# activate heal pulse
-# @s = player wearing soothing armour
-# at @s
-# run from armor/modifier/type/soothe/check
-
-# mark for change and set to active
-scoreboard players set $change gm4_ce_data 1
-data modify storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.active set value 1
-
-# healing pulse effects
-execute store result score $level gm4_ce_data run data get storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.level
-execute if score $level gm4_ce_data matches 1 run effect give @e[type=!player,distance=..2.75,tag=!smithed.strict] instant_health 1 0
-execute if score $level gm4_ce_data matches 2 run effect give @e[type=!player,distance=..4.5,tag=!smithed.strict] instant_health 1 1
-execute if score $level gm4_ce_data matches 3 run effect give @e[type=!player,distance=..6.25,tag=!smithed.strict] instant_health 1 2
-effect give @a[distance=..6.5] regeneration 2 4
-execute if score $level gm4_ce_data matches 2 run effect give @a[distance=..4.5] instant_health 1 0
-execute if score $level gm4_ce_data matches 3 run effect give @a[distance=..6.25] instant_health 1 1
-
-# healing pulse particles and sound
-playsound minecraft:block.conduit.activate player @a ~ ~ ~ 1 2
-execute positioned ~ ~.6 ~ summon marker at @s run function gm4_combat_expanded:armor/modifier/type/soothe/particles
-
-# use lib_lore to darken the 'Heal Pulse' text
-data modify storage gm4_lore:temp Source set from storage gm4_combat_expanded:temp components."minecraft:lore"
-execute if score $level gm4_ce_data matches 1 run data modify storage gm4_lore:temp Target set value '{"color":"blue","italic":false,"translate":"potion.withAmplifier","with":[{"fallback":"Heal Pulse","translate":"item.gm4.combat_expanded.lore.soothe"},{"translate":"potion.potency.0"}]}'
-execute if score $level gm4_ce_data matches 2 run data modify storage gm4_lore:temp Target set value '{"color":"blue","italic":false,"translate":"potion.withAmplifier","with":[{"fallback":"Heal Pulse","translate":"item.gm4.combat_expanded.lore.soothe"},{"translate":"potion.potency.1"}]}'
-execute if score $level gm4_ce_data matches 3 run data modify storage gm4_lore:temp Target set value '{"color":"blue","italic":false,"translate":"potion.withAmplifier","with":[{"fallback":"Heal Pulse","translate":"item.gm4.combat_expanded.lore.soothe"},{"translate":"potion.potency.2"}]}'
-execute if score $level gm4_ce_data matches 1 run data modify storage gm4_lore:temp Input set value ['{"color":"dark_gray","italic":false,"translate":"potion.withAmplifier","with":[{"fallback":"Heal Pulse","translate":"item.gm4.combat_expanded.lore.soothe"},{"translate":"potion.potency.0"}]}','{"text":"NaN"}']
-execute if score $level gm4_ce_data matches 2 run data modify storage gm4_lore:temp Input set value ['{"color":"dark_gray","italic":false,"translate":"potion.withAmplifier","with":[{"fallback":"Heal Pulse","translate":"item.gm4.combat_expanded.lore.soothe"},{"translate":"potion.potency.1"}]}','{"text":"NaN"}']
-execute if score $level gm4_ce_data matches 3 run data modify storage gm4_lore:temp Input set value ['{"color":"dark_gray","italic":false,"translate":"potion.withAmplifier","with":[{"fallback":"Heal Pulse","translate":"item.gm4.combat_expanded.lore.soothe"},{"translate":"potion.potency.2"}]}','{"text":"NaN"}']
-function #gm4_lore:replace
-data modify storage gm4_combat_expanded:temp components."minecraft:lore" set from storage gm4_lore:temp Source
-
-# update recharge text
-data modify storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.recharge set value 0
-scoreboard players set $max_charge gm4_ce_data 35
-execute store result score $level2 gm4_ce_data run data get storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.level2
-execute store result storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.max_charge int 1 run scoreboard players operation $max_charge gm4_ce_data -= $level2 gm4_ce_data
-function gm4_combat_expanded:armor/modifier/type/soothe/recharge_text with storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded
-
-# set cooldown
-scoreboard players set @s gm4_ce_t_soothe 2
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/soothe/check.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/soothe/check.mcfunction
deleted file mode 100644
index a479181c19..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/soothe/check.mcfunction
+++ /dev/null
@@ -1,10 +0,0 @@
-# check if heal pulse is off cooldown
-# @s = player wearing soothing armour
-# at @s
-# run from armor/check_modifier/hp_check
-
-# recharge
-execute if score $active gm4_ce_data matches 1 if score @s gm4_ce_kill matches 1.. run function gm4_combat_expanded:armor/modifier/type/soothe/recharge
-
-# check health if ready
-execute unless score @s gm4_ce_t_soothe matches 1.. at @s if score $active gm4_ce_data matches 0 if score @s gm4_ce_health.current <= @s gm4_ce_health.max_half run function gm4_combat_expanded:armor/modifier/type/soothe/activate
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/soothe/particles.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/soothe/particles.mcfunction
deleted file mode 100644
index 25de3b4d9d..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/soothe/particles.mcfunction
+++ /dev/null
@@ -1,15 +0,0 @@
-# display a ring of heart particles on heal pulse activation
-# @s = soothe pulse marker
-# at @s
-# run from armor/modifier/type/soothe/activate
-
-scoreboard players add @s gm4_ce_data 1
-particle heart ^ ^ ^-1.25 0 0 0 0 1
-particle heart ^ ^ ^-2 0.05 0.05 0.05 0 1
-particle heart ^ ^ ^-2.75 0.15 0.15 0.15 0 1
-execute if score $level gm4_ce_data matches 2.. run particle heart ^ ^ ^-4.5 0.3 0.3 0.3 0 1
-execute if score $level gm4_ce_data matches 3 run particle heart ^ ^ ^-6.25 0.5 0.5 0.5 0 1
-tp @s ~ ~ ~ ~15 ~
-
-kill @s[scores={gm4_ce_data=24..}]
-execute if score @s gm4_ce_data matches ..23 at @s run function gm4_combat_expanded:armor/modifier/type/soothe/particles
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/soothe/recharge.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/soothe/recharge.mcfunction
deleted file mode 100644
index 4abee6f1a4..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/soothe/recharge.mcfunction
+++ /dev/null
@@ -1,16 +0,0 @@
-# recharge the heal pulse armor piece when cooldown is over
-# @s = player wearing soothing armour
-# at @s
-# run from armor/modifier/type/soothe/check
-
-# mark for change
-scoreboard players set $change gm4_ce_data 1
-
-# add kills to the recharge
-execute store result score $recharge gm4_ce_data run data get storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.recharge
-execute store result storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.recharge int 1 run scoreboard players operation $recharge gm4_ce_data += @s gm4_ce_kill
-
-# update the lore
-execute store result score $max_charge gm4_ce_data run data get storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.max_charge
-execute if score $recharge gm4_ce_data >= $max_charge gm4_ce_data run function gm4_combat_expanded:armor/modifier/type/soothe/recharge_fully
-execute unless score $recharge gm4_ce_data >= $max_charge gm4_ce_data run function gm4_combat_expanded:armor/modifier/type/soothe/recharge_text with storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/soothe/recharge_fully.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/soothe/recharge_fully.mcfunction
deleted file mode 100644
index aa0f814614..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/soothe/recharge_fully.mcfunction
+++ /dev/null
@@ -1,21 +0,0 @@
-
-# get level and mark as ready
-execute store result score $level gm4_ce_data run data get storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.level
-data modify storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.active set value 0
-execute at @s run playsound minecraft:block.conduit.activate player @s ~ ~ ~ 0.6 2
-
-# use lib_lore to remove the rechrage text
-data modify storage gm4_lore:temp Source set from storage gm4_combat_expanded:temp components."minecraft:lore"
-data modify storage gm4_lore:temp Target set value '{"color":"gray","fallback":"When Low on Health:","italic":false,"translate":"item.gm4.combat_expanded.lore.low_hp"}'
-scoreboard players set $start gm4_lore 2
-function #gm4_lore:remove
-
-# use lib_lore to brighten the 'Heal Pulse' text
-execute if score $level gm4_ce_data matches 1 run data modify storage gm4_lore:temp Target set value '{"color":"dark_gray","italic":false,"translate":"potion.withAmplifier","with":[{"fallback":"Heal Pulse","translate":"item.gm4.combat_expanded.lore.soothe"},{"translate":"potion.potency.0"}]}'
-execute if score $level gm4_ce_data matches 2 run data modify storage gm4_lore:temp Target set value '{"color":"dark_gray","italic":false,"translate":"potion.withAmplifier","with":[{"fallback":"Heal Pulse","translate":"item.gm4.combat_expanded.lore.soothe"},{"translate":"potion.potency.1"}]}'
-execute if score $level gm4_ce_data matches 3 run data modify storage gm4_lore:temp Target set value '{"color":"dark_gray","italic":false,"translate":"potion.withAmplifier","with":[{"fallback":"Heal Pulse","translate":"item.gm4.combat_expanded.lore.soothe"},{"translate":"potion.potency.2"}]}'
-execute if score $level gm4_ce_data matches 1 run data modify storage gm4_lore:temp Input set value ['{"color":"blue","italic":false,"translate":"potion.withAmplifier","with":[{"fallback":"Heal Pulse","translate":"item.gm4.combat_expanded.lore.soothe"},{"translate":"potion.potency.0"}]}']
-execute if score $level gm4_ce_data matches 2 run data modify storage gm4_lore:temp Input set value ['{"color":"blue","italic":false,"translate":"potion.withAmplifier","with":[{"fallback":"Heal Pulse","translate":"item.gm4.combat_expanded.lore.soothe"},{"translate":"potion.potency.1"}]}']
-execute if score $level gm4_ce_data matches 3 run data modify storage gm4_lore:temp Input set value ['{"color":"blue","italic":false,"translate":"potion.withAmplifier","with":[{"fallback":"Heal Pulse","translate":"item.gm4.combat_expanded.lore.soothe"},{"translate":"potion.potency.2"}]}']
-function #gm4_lore:replace
-data modify storage gm4_combat_expanded:temp components."minecraft:lore" set from storage gm4_lore:temp Source
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/soothe/recharge_text.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/soothe/recharge_text.mcfunction
deleted file mode 100644
index 31690cfdae..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/soothe/recharge_text.mcfunction
+++ /dev/null
@@ -1,14 +0,0 @@
-
-# use lib_lore to remove the old rechrage text
-data modify storage gm4_lore:temp Source set from storage gm4_combat_expanded:temp components."minecraft:lore"
-data modify storage gm4_lore:temp Target set value '{"color":"gray","fallback":"When Low on Health:","italic":false,"translate":"item.gm4.combat_expanded.lore.low_hp"}'
-scoreboard players set $start gm4_lore 2
-function #gm4_lore:remove
-
-# use lib_lore to update the rechrage text
-data modify storage gm4_lore:temp Target set value '{"color":"gray","fallback":"When Low on Health:","italic":false,"translate":"item.gm4.combat_expanded.lore.low_hp"}'
-$data modify storage gm4_lore:temp Input set value ['{"color":"dark_gray","fallback":"Kills: %s/%s","italic":false,"translate":"item.gm4.combat_expanded.lore.soothe_recharge","with":["$(recharge)","$(max_charge)"]}']
-scoreboard players set $start gm4_lore 2
-function #gm4_lore:insert
-
-data modify storage gm4_combat_expanded:temp components."minecraft:lore" set from storage gm4_lore:temp Source
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/spark/activate.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/spark/activate.mcfunction
deleted file mode 100644
index 216d22cf6c..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/spark/activate.mcfunction
+++ /dev/null
@@ -1,25 +0,0 @@
-# actiavate spark armor on wearer getting hit
-# @s = player wearing armor
-# at @s
-advancement revoke @s only gm4_combat_expanded:damaged/armor/spark
-
-item replace block 29999998 1 7134 container.0 from entity @s armor.head
-item replace block 29999998 1 7134 container.1 from entity @s armor.chest
-item replace block 29999998 1 7134 container.2 from entity @s armor.legs
-item replace block 29999998 1 7134 container.3 from entity @s armor.feet
-data modify storage gm4_combat_expanded:temp Items set from block 29999998 1 7134 Items
-data remove block 29999998 1 7134 Items
-
-scoreboard players set $spark_pieces gm4_ce_data 0
-execute if data storage gm4_combat_expanded:temp Items[{Slot:0b}].components."minecraft:custom_data".gm4_combat_expanded{modifier:spark} run scoreboard players add $spark_pieces gm4_ce_data 1
-execute if data storage gm4_combat_expanded:temp Items[{Slot:1b}].components."minecraft:custom_data".gm4_combat_expanded{modifier:spark} run scoreboard players add $spark_pieces gm4_ce_data 1
-execute if data storage gm4_combat_expanded:temp Items[{Slot:2b}].components."minecraft:custom_data".gm4_combat_expanded{modifier:spark} run scoreboard players add $spark_pieces gm4_ce_data 1
-execute if data storage gm4_combat_expanded:temp Items[{Slot:3b}].components."minecraft:custom_data".gm4_combat_expanded{modifier:spark} run scoreboard players add $spark_pieces gm4_ce_data 1
-
-tag @s add gm4_ce_self
-execute on attacker run scoreboard players operation @s[tag=!gm4_ce_self] gm4_ce_lightning_charge += $spark_pieces gm4_ce_data
-execute on attacker run scoreboard players set @s[tag=!gm4_ce_self] gm4_ce_lightning_charge.timer 160
-tag @s remove gm4_ce_self
-
-# spark processing is run through the weapon modifier
-schedule function gm4_combat_expanded:clocks/temp/lightning 1t
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/sustain/activate.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/sustain/activate.mcfunction
deleted file mode 100644
index f4255b9fbc..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/sustain/activate.mcfunction
+++ /dev/null
@@ -1,7 +0,0 @@
-# reduce natural regen timer
-# @s = player wearing sustain armour below 50% health
-# at unspecified
-# run from armor/modifier/check_modifier/hp_check
-
-scoreboard players remove @s[scores={gm4_ce_natural_regen_damage=1..}] gm4_ce_natural_regen_damage 2
-tag @s[scores={gm4_ce_natural_regen_damage=..0}] add gm4_ce_sustain_active
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/sustain/extra_regen.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/sustain/extra_regen.mcfunction
deleted file mode 100644
index 9020bf2014..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/sustain/extra_regen.mcfunction
+++ /dev/null
@@ -1,8 +0,0 @@
-# add an additional tick of regen
-# @s = player wearing sustain armour below 50% health
-# at unspecified
-# run from main
-
-# need to run heal_calc here to make sure the regen happens now
-function gm4_combat_expanded:player/regen/check
-execute if score @s gm4_ce_healstore matches 1.. run function gm4_combat_expanded:player/heal/heal_calc
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/sword_ring/change_material.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/sword_ring/change_material.mcfunction
deleted file mode 100644
index a5de03843e..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/sword_ring/change_material.mcfunction
+++ /dev/null
@@ -1,14 +0,0 @@
-# swap sword material if player armor has changed
-# @s = player wearing armor
-# at unspecified
-# run from armor/modifier/type/sword_ring/find_sword
-
-execute unless score $sword_material gm4_ce_data matches 2.. run data modify entity @s item.id set value "wooden_sword"
-execute if score $sword_material gm4_ce_data matches 2 run data modify entity @s item.id set value "stone_sword"
-execute if score $sword_material gm4_ce_data matches 3 run data modify entity @s item.id set value "iron_sword"
-execute if score $sword_material gm4_ce_data matches 4 run data modify entity @s item.id set value "golden_sword"
-execute if score $sword_material gm4_ce_data matches 5 run data modify entity @s item.id set value "diamond_sword"
-execute if score $sword_material gm4_ce_data matches 6 run data modify entity @s item.id set value "netherite_sword"
-
-# store material for damage calculation
-scoreboard players operation @s gm4_ce_data = $sword_material gm4_ce_data
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/sword_ring/damage_dealt/apply_durability.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/sword_ring/damage_dealt/apply_durability.mcfunction
deleted file mode 100644
index 1d5b541178..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/sword_ring/damage_dealt/apply_durability.mcfunction
+++ /dev/null
@@ -1,18 +0,0 @@
-# damage armor durability
-# @s = sword item_display
-# at player rotated ~x ~
-# run from armor/modifier/type/sword_ring/damage_dealt/durability
-
-# add incoming damage to the current damage
-scoreboard players operation $sword_damage gm4_ce_data += $incoming_damage gm4_ce_data
-execute store result storage gm4_combat_expanded:temp damage int 1 run scoreboard players operation $sword_damage gm4_ce_data < $sword_durability gm4_ce_data
-
-# apply to correct piece of armor
-execute as @p[tag=gm4_ce_target] run function gm4_combat_expanded:item_modify_eval/set_damage with storage gm4_combat_expanded:temp
-execute as @p[tag=gm4_ce_target] run function gm4_combat_expanded:armor/slot/silence_equip_sound
-
-# effect in case sword broke
-execute if score $sword_damage gm4_ce_data = $sword_durability gm4_ce_data run playsound entity.item.break player @p[tag=gm4_ce_target] ~ ~ ~ 1 1
-
-# cleanup
-data remove storage gm4_combat_expanded:temp damage
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/sword_ring/damage_dealt/durability.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/sword_ring/damage_dealt/durability.mcfunction
deleted file mode 100644
index 3e7041c828..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/sword_ring/damage_dealt/durability.mcfunction
+++ /dev/null
@@ -1,18 +0,0 @@
-# damage armor durability
-# @s = sword item_display
-# at player rotated ~x ~
-# run from armor/modifier/type/sword_ring/damage_dealt/run
-
-# calculate incoming damage based on unbreaking
-execute store result score $unbreaking_level gm4_ce_data run data get storage gm4_combat_expanded:temp sword_ring.data[0].components."minecraft:enchantments".levels."minecraft:unbreaking"
-scoreboard players add $unbreaking_level gm4_ce_data 1
-scoreboard players set $damage_chance gm4_ce_data 100
-scoreboard players operation $damage_chance gm4_ce_data /= $unbreaking_level gm4_ce_data
-scoreboard players set $damage_opportunities gm4_ce_data 1
-execute store result score $incoming_damage gm4_ce_data run loot spawn 29999998 1 7133 loot gm4_combat_expanded:technical/roll_damage
-
-# if damage should be dealt apply it
-execute if score $incoming_damage gm4_ce_data matches 1.. run function gm4_combat_expanded:armor/modifier/type/sword_ring/damage_dealt/apply_durability
-
-# TODO: remove (spigot bug)
-execute positioned 29999998 1 7133 run kill @e[type=item,distance=..2]
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/sword_ring/damage_dealt/run.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/sword_ring/damage_dealt/run.mcfunction
deleted file mode 100644
index 3ea2ff0852..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/sword_ring/damage_dealt/run.mcfunction
+++ /dev/null
@@ -1,12 +0,0 @@
-# run if sword damaged an entity
-# @s = sword item_display
-# at player rotated ~x ~
-# run from armor/modifier/type/sword_ring/move_sword
-
-# vfx
-playsound minecraft:entity.player.attack.sweep player @a ~ ~ ~ 0.75 1.4
-particle sweep_attack ~ ~ ~ 0.05 0.15 0.05 0.01 1
-
-# check if damage should be done to the armor
-execute if score $player_creative gm4_ce_data matches 0 run function gm4_combat_expanded:armor/modifier/type/sword_ring/damage_dealt/durability
-
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/sword_ring/eval_deg.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/sword_ring/eval_deg.mcfunction
deleted file mode 100644
index db0e2134f0..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/sword_ring/eval_deg.mcfunction
+++ /dev/null
@@ -1,6 +0,0 @@
-# get degrees offset from 0 0 for first sword
-# @s = player wearing armor
-# at unspecified
-# run from armor/modifier/type/sword_ring/prep
-
-$execute positioned ~ ~$(height) ~ rotated 0 0 rotated ~$(deg) ~ run function gm4_combat_expanded:armor/modifier/type/sword_ring/find_sword with storage gm4_combat_expanded:temp sword_ring
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/sword_ring/find_sword.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/sword_ring/find_sword.mcfunction
deleted file mode 100644
index 6711c5e207..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/sword_ring/find_sword.mcfunction
+++ /dev/null
@@ -1,27 +0,0 @@
-# find this players sword and move it
-# @s = player wearing armor
-# at @s rotated ~x ~
-# run from armor/modifier/type/sword_ring/eval_deg
-# run from here
-
-# find sword that should be moved
-execute store result score $sword_id gm4_ce_data run data get storage gm4_combat_expanded:temp sword_ring.data[0].components."minecraft:custom_data".gm4_combat_expanded.slot
-execute as @e[type=item_display,tag=gm4_ce_sword_ring.check_sword,distance=..12] if score @s gm4_ce_sword_ring = $sword_id gm4_ce_data run tag @s add gm4_ce_sword_ring.current_sword
-
-# check durability left on this armor
-execute store result score $sword_damage gm4_ce_data run data get storage gm4_combat_expanded:temp sword_ring.data[0].components."minecraft:damage"
-execute store result score $sword_durability gm4_ce_data run data get storage gm4_combat_expanded:temp sword_ring.data[0].components."minecraft:custom_data".gm4_combat_expanded.durability
-
-# if no sword exists yet spawn a new one
-execute if score $sword_damage gm4_ce_data < $sword_durability gm4_ce_data unless entity @e[type=item_display,tag=gm4_ce_sword_ring.current_sword,distance=..12] summon item_display run function gm4_combat_expanded:armor/modifier/type/sword_ring/init_sword
-
-# move the sword to the correct position
-tag @s add gm4_ce_self
-$execute if score $sword_damage gm4_ce_data < $sword_durability gm4_ce_data as @e[type=item_display,tag=gm4_ce_sword_ring.current_sword,distance=..12,limit=1] positioned ^ ^ ^$(offset) run function gm4_combat_expanded:armor/modifier/type/sword_ring/move_sword
-tag @s remove gm4_ce_self
-
-# if more swords should exist run this again for those rotated around the player
-data remove storage gm4_combat_expanded:temp sword_ring.data[0]
-execute if score $sword_ring.count gm4_ce_data matches 2 if data storage gm4_combat_expanded:temp sword_ring.data[0] rotated ~180 ~ run function gm4_combat_expanded:armor/modifier/type/sword_ring/find_sword with storage gm4_combat_expanded:temp sword_ring
-execute if score $sword_ring.count gm4_ce_data matches 3 if data storage gm4_combat_expanded:temp sword_ring.data[0] rotated ~120 ~ run function gm4_combat_expanded:armor/modifier/type/sword_ring/find_sword with storage gm4_combat_expanded:temp sword_ring
-execute if score $sword_ring.count gm4_ce_data matches 4 if data storage gm4_combat_expanded:temp sword_ring.data[0] rotated ~90 ~ run function gm4_combat_expanded:armor/modifier/type/sword_ring/find_sword with storage gm4_combat_expanded:temp sword_ring
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/sword_ring/get_relevant_data.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/sword_ring/get_relevant_data.mcfunction
deleted file mode 100644
index 44da9b8b1d..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/sword_ring/get_relevant_data.mcfunction
+++ /dev/null
@@ -1,9 +0,0 @@
-# keep only data from sword_ring_armor
-# @s = player wearing armor
-# at unspecified
-# run from armor/modifier/type/sword_ring/prep
-# run from here
-
-execute if data storage gm4_combat_expanded:temp Items[0].components."minecraft:custom_data".gm4_combat_expanded{modifier:sword_ring} run data modify storage gm4_combat_expanded:temp sword_ring.data append from storage gm4_combat_expanded:temp Items[0]
-data remove storage gm4_combat_expanded:temp Items[0]
-execute if data storage gm4_combat_expanded:temp Items[0] run function gm4_combat_expanded:armor/modifier/type/sword_ring/get_relevant_data
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/sword_ring/init_sword.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/sword_ring/init_sword.mcfunction
deleted file mode 100644
index 403bb27324..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/sword_ring/init_sword.mcfunction
+++ /dev/null
@@ -1,26 +0,0 @@
-# spawn sword if it doesn't exist
-# @s = new sword item_display
-# at @s
-# run from armor/modifier/type/sword_ring/find_sword
-
-data merge entity @s {teleport_duration:2,Tags:["gm4_ce_sword_ring.current_sword","gm4_ce_sword_ring.sword"],transformation:{left_rotation:[0f,0.425f,0f,1f],right_rotation:[1f,0f,0f,1f],translation:[0f,0f,0f],scale:[1f,1f,1f]},item:{id:"minecraft:wooden_sword",count:1}}
-
-# set the scales
-execute store result entity @s transformation.scale[0] float 0.003 run data get storage gm4_combat_expanded:temp sword_ring.scale 100
-execute store result entity @s transformation.scale[1] float 0.003 run data get storage gm4_combat_expanded:temp sword_ring.scale 100
-execute store result entity @s transformation.scale[2] float 0.003 run data get storage gm4_combat_expanded:temp sword_ring.scale 100
-
-# set scores
-scoreboard players operation @s gm4_ce_sword_ring = $sword_id gm4_ce_data
-scoreboard players operation @s gm4_ce_id = $player_id gm4_ce_id
-
-# set material
-execute store result score $sword_material gm4_ce_data run data get storage gm4_combat_expanded:temp sword_ring.data[0].components."minecraft:custom_data".gm4_combat_expanded.material
-execute if score $sword_material gm4_ce_data matches 2 run data modify entity @s item.id set value "stone_sword"
-execute if score $sword_material gm4_ce_data matches 3 run data modify entity @s item.id set value "iron_sword"
-execute if score $sword_material gm4_ce_data matches 4 run data modify entity @s item.id set value "golden_sword"
-execute if score $sword_material gm4_ce_data matches 5 run data modify entity @s item.id set value "diamond_sword"
-execute if score $sword_material gm4_ce_data matches 6 run data modify entity @s item.id set value "netherite_sword"
-
-# store material for damage calculation
-scoreboard players operation @s gm4_ce_data = $sword_material gm4_ce_data
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/sword_ring/move_sword.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/sword_ring/move_sword.mcfunction
deleted file mode 100644
index 81fcc4e366..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/sword_ring/move_sword.mcfunction
+++ /dev/null
@@ -1,31 +0,0 @@
-# move sword to correct location
-# @s = sword item_display
-# at player rotated ~x ~
-# run from armor/modifier/type/sword_ring/find_sword
-
-# move sword to correct position
-tp @s ~ ~ ~ facing ^-1 ^ ^
-
-# check if material still matches
-execute store result score $sword_material gm4_ce_data run data get storage gm4_combat_expanded:temp sword_ring.data[0].components."minecraft:custom_data".gm4_combat_expanded.material
-execute unless score @s gm4_ce_data = $sword_material gm4_ce_data run function gm4_combat_expanded:armor/modifier/type/sword_ring/change_material
-
-# reset the scales
-execute store result entity @s transformation.scale[0] float 0.003 run data get storage gm4_combat_expanded:temp sword_ring.scale 100
-execute store result entity @s transformation.scale[1] float 0.003 run data get storage gm4_combat_expanded:temp sword_ring.scale 100
-execute store result entity @s transformation.scale[2] float 0.003 run data get storage gm4_combat_expanded:temp sword_ring.scale 100
-
-# remove tags so this sword is not processed anymore this tick
-tag @s remove gm4_ce_sword_ring.current_sword
-tag @s remove gm4_ce_sword_ring.check_sword
-
-# keep this sword around until next tick
-scoreboard players operation @s gm4_ce_keep_tick = $check.sword_ring gm4_ce_keep_tick
-
-# damage entities the sword contacts
-scoreboard players set $damage_dealt gm4_ce_data 0
-execute if score $sword_material gm4_ce_data matches 1 at @s positioned ~-.15 ~-.15 ~-.15 as @e[tag=!gm4_ce_self,dx=0,dy=0,dz=0,predicate=gm4_combat_expanded:technical/pvp_able,team=!gm4_ce_team_check,tag=!smithed.strict] positioned ~-.7 ~-.7 ~-.7 if entity @s[dx=0,dy=0,dz=0] store success score $damage_dealt gm4_ce_data run damage @s 2 player_attack by @p[tag=gm4_ce_self]
-execute if score $sword_material gm4_ce_data matches 2 at @s positioned ~-.15 ~-.15 ~-.15 as @e[tag=!gm4_ce_self,dx=0,dy=0,dz=0,predicate=gm4_combat_expanded:technical/pvp_able,team=!gm4_ce_team_check,tag=!smithed.strict] positioned ~-.7 ~-.7 ~-.7 if entity @s[dx=0,dy=0,dz=0] store success score $damage_dealt gm4_ce_data run damage @s 3 player_attack by @p[tag=gm4_ce_self]
-execute if score $sword_material gm4_ce_data matches 3..4 at @s positioned ~-.15 ~-.15 ~-.15 as @e[tag=!gm4_ce_self,dx=0,dy=0,dz=0,predicate=gm4_combat_expanded:technical/pvp_able,team=!gm4_ce_team_check,tag=!smithed.strict] positioned ~-.7 ~-.7 ~-.7 if entity @s[dx=0,dy=0,dz=0] store success score $damage_dealt gm4_ce_data run damage @s 4 player_attack by @p[tag=gm4_ce_self]
-execute if score $sword_material gm4_ce_data matches 5..6 at @s positioned ~-.15 ~-.15 ~-.15 as @e[tag=!gm4_ce_self,dx=0,dy=0,dz=0,predicate=gm4_combat_expanded:technical/pvp_able,team=!gm4_ce_team_check,tag=!smithed.strict] positioned ~-.7 ~-.7 ~-.7 if entity @s[dx=0,dy=0,dz=0] store success score $damage_dealt gm4_ce_data run damage @s 5 player_attack by @p[tag=gm4_ce_self]
-execute if score $damage_dealt gm4_ce_data matches 1 at @s run function gm4_combat_expanded:armor/modifier/type/sword_ring/damage_dealt/run
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/sword_ring/prep.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/sword_ring/prep.mcfunction
deleted file mode 100644
index 86cc03a825..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/sword_ring/prep.mcfunction
+++ /dev/null
@@ -1,42 +0,0 @@
-# prepare everything needed to process sword_ring armor
-# @s = player wearing armor
-# at @s
-# run from clocks/temp/sword_ring
-
-scoreboard players set $keep_tick.sword_ring gm4_ce_keep_tick 1
-
-tag @s add gm4_ce_target
-execute store result score $player_creative gm4_ce_data if entity @s[gamemode=creative]
-
-# grab armor data
-data modify block 29999998 1 7134 Items set value []
-item replace block 29999998 1 7134 container.0 from entity @s armor.head
-item replace block 29999998 1 7134 container.1 from entity @s armor.chest
-item replace block 29999998 1 7134 container.2 from entity @s armor.legs
-item replace block 29999998 1 7134 container.3 from entity @s armor.feet
-data modify storage gm4_combat_expanded:temp Items set from block 29999998 1 7134 Items
-data remove block 29999998 1 7134 Items
-
-function gm4_combat_expanded:armor/modifier/type/sword_ring/get_relevant_data
-execute store result score $sword_ring.count gm4_ce_data run data get storage gm4_combat_expanded:temp sword_ring.data
-
-# check for crouching
-scoreboard players set $stats_set gm4_ce_data 0
-execute if predicate gm4_combat_expanded:technical/crouching run function gm4_combat_expanded:armor/modifier/type/sword_ring/set_stats_crouching
-execute if score $stats_set gm4_ce_data matches 0 run function gm4_combat_expanded:armor/modifier/type/sword_ring/set_stats
-
-# rotate the spawn location
-scoreboard players add @s gm4_ce_sword_ring.deg 5
-scoreboard players remove @s[scores={gm4_ce_sword_ring.deg=360..}] gm4_ce_sword_ring.deg 360
-execute store result storage gm4_combat_expanded:temp sword_ring.deg int 1 run scoreboard players get @s gm4_ce_sword_ring.deg
-
-# get all swords that match this players id
-scoreboard players operation $player_id gm4_ce_id = @s gm4_ce_id
-execute as @e[type=item_display,tag=gm4_ce_sword_ring.sword,distance=..12] if score @s gm4_ce_id = $player_id gm4_ce_id run tag @s add gm4_ce_sword_ring.check_sword
-
-# find location for the first sword
-function gm4_combat_expanded:armor/modifier/type/sword_ring/eval_deg with storage gm4_combat_expanded:temp sword_ring
-
-# cleanup
-tag @s remove gm4_ce_target
-data remove storage gm4_combat_expanded:temp sword_ring
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/sword_ring/set_stats.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/sword_ring/set_stats.mcfunction
deleted file mode 100644
index d46f9c6f64..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/sword_ring/set_stats.mcfunction
+++ /dev/null
@@ -1,8 +0,0 @@
-# set sword stats when player is not sneaking
-# @s = player wearing armor
-# at unspecified
-# run from armor/modifier/type/sword_ring/prep
-
-execute store result storage gm4_combat_expanded:temp sword_ring.scale float 0.1 run attribute @s minecraft:scale get 10
-execute store result storage gm4_combat_expanded:temp sword_ring.height float 0.11 run data get storage gm4_combat_expanded:temp sword_ring.scale 10
-execute store result storage gm4_combat_expanded:temp sword_ring.offset float 0.1 run attribute @s minecraft:entity_interaction_range get 10
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/sword_ring/set_stats_crouching.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/sword_ring/set_stats_crouching.mcfunction
deleted file mode 100644
index 8dc46ef43b..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/sword_ring/set_stats_crouching.mcfunction
+++ /dev/null
@@ -1,11 +0,0 @@
-# set sword stats when player is sneaking
-# @s = player wearing armor
-# at unspecified
-# run from armor/modifier/type/sword_ring/prep
-
-execute store result storage gm4_combat_expanded:temp sword_ring.scale float 0.1 run attribute @s minecraft:scale get 10
-execute store result storage gm4_combat_expanded:temp sword_ring.height float 0.065 run data get storage gm4_combat_expanded:temp sword_ring.scale 10
-execute store result storage gm4_combat_expanded:temp sword_ring.offset float 0.075 run attribute @s minecraft:entity_interaction_range get 10
-
-scoreboard players set $stats_set gm4_ce_data 1
-scoreboard players add @s gm4_ce_sword_ring.deg 4
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/totem/activate.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/totem/activate.mcfunction
deleted file mode 100644
index d55998adbe..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/totem/activate.mcfunction
+++ /dev/null
@@ -1,15 +0,0 @@
-# activate or spawn a totem
-# @s = player that got the kill
-# at @s
-# run from armor/check_modifier/killing
-
-# if there's no totem nearby spawn a new one and start the clock
-execute unless entity @e[type=armor_stand,tag=gm4_ce_totem,distance=..18,limit=1] run schedule function gm4_combat_expanded:clocks/temp/totem 1t
-execute unless entity @e[type=armor_stand,tag=gm4_ce_totem,distance=..18,limit=1] run summon armor_stand ~ ~1.2 ~ {Silent:1b,Invulnerable:1b,NoBasePlate:1b,Motion:[0.0,0.05,0.0],Tags:["gm4_ce_totem","smithed.entity","smithed.strict"],Pose:{LeftLeg:[0f,0f,11f],RightLeg:[0f,0f,348f],Head:[179f,0f,0f]},DisabledSlots:4144959,Passengers:[{id:"minecraft:block_display",Tags:["gm4_ce_totem_display","smithed.entity","smithed.strict"],block_state:{Name:"minecraft:oak_fence",Properties:{north:"false",south:"false",east:"false",west:"false"}},transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[-0.5f,-1.4825f,-0.5f],scale:[1f,1f,1f]}}],ArmorItems:[{},{},{},{id:"minecraft:beacon",count:1}]}
-
-# check which effect should be applied
-execute store result score $level gm4_ce_data run data get storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.level
-execute if score $level gm4_ce_data matches 1 as @e[type=armor_stand,tag=gm4_ce_totem,distance=..18,limit=1,sort=nearest] at @s run function gm4_combat_expanded:armor/modifier/type/totem/regeneration
-execute if score $level gm4_ce_data matches 2 as @e[type=armor_stand,tag=gm4_ce_totem,distance=..18,limit=1,sort=nearest] at @s run function gm4_combat_expanded:armor/modifier/type/totem/resistance
-execute if score $level gm4_ce_data matches 3 as @e[type=armor_stand,tag=gm4_ce_totem,distance=..18,limit=1,sort=nearest] at @s run function gm4_combat_expanded:armor/modifier/type/totem/speed
-execute if score $level gm4_ce_data matches 4 as @e[type=armor_stand,tag=gm4_ce_totem,distance=..18,limit=1,sort=nearest] at @s run function gm4_combat_expanded:armor/modifier/type/totem/strength
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/totem/process.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/totem/process.mcfunction
deleted file mode 100644
index dda085db79..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/totem/process.mcfunction
+++ /dev/null
@@ -1,20 +0,0 @@
-# process totems
-# @s = totem armor stand
-# at @s
-# run from clocks/temp/totem
-
-tp @s ~ ~ ~ ~90 ~
-playsound minecraft:block.beacon.ambient block @a ~ ~ ~ 0.4 2
-playsound minecraft:block.beacon.ambient block @a ~ ~ ~ 0.8 0.6
-
-execute if entity @s[tag=gm4_ce_totem.regeneration] run effect give @a[distance=..18,gamemode=!spectator] regeneration 7 0 true
-execute if entity @s[tag=gm4_ce_totem.resistance] run effect give @a[distance=..18,gamemode=!spectator] resistance 7 0 true
-execute if entity @s[tag=gm4_ce_totem.speed] run effect give @a[distance=..18,gamemode=!spectator] speed 7 0 true
-execute if entity @s[tag=gm4_ce_totem.strength] run effect give @a[distance=..18,gamemode=!spectator] strength 7 0 true
-
-execute if entity @s[tag=gm4_ce_totem.regeneration] run particle entity_effect{color:[0.8,0.36,0.67,0.33]} ~ ~1.2 ~ 0.1 0.1 0.1 0.05 12
-execute if entity @s[tag=gm4_ce_totem.resistance] run particle entity_effect{color:[0.56,0.27,0.93,0.33]} ~ ~1.2 ~ 0.1 0.1 0.1 0.05 12
-execute if entity @s[tag=gm4_ce_totem.speed] run particle entity_effect{color:[0.2,0.92,1.0,0.33]} ~ ~1.2 ~ 0.1 0.1 0.1 0.05 12
-execute if entity @s[tag=gm4_ce_totem.strength] run particle entity_effect{color:[1.0,0.78,0.0,0.33]} ~ ~1.2 ~ 0.1 0.1 0.1 0.05 12
-
-execute unless entity @a[distance=..32,gamemode=!spectator] run function gm4_combat_expanded:armor/modifier/type/totem/remove
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/totem/regeneration.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/totem/regeneration.mcfunction
deleted file mode 100644
index 2b8b083516..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/totem/regeneration.mcfunction
+++ /dev/null
@@ -1,9 +0,0 @@
-# apply regeneration to this totem, or if it already has it pulse a stronger effect
-# @s = totem armor_stand
-# at @s
-# run from armor/modifier/type/totem/activate
-
-execute if entity @s[tag=gm4_ce_totem.regeneration] run effect give @a[distance=..18,gamemode=!spectator] regeneration 10 1 true
-execute unless entity @s[tag=gm4_ce_totem.regeneration] run tag @s add gm4_ce_totem.regeneration
-particle entity_effect{color:[0.8,0.36,0.67,0.33]} ~ ~1.2 ~ 0.1 0.1 0.1 0.5 24
-tp @s ~ ~ ~ ~180 ~
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/totem/remove.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/totem/remove.mcfunction
deleted file mode 100644
index d018e47cdc..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/totem/remove.mcfunction
+++ /dev/null
@@ -1,8 +0,0 @@
-# remove this totem because players went too far away
-# @s = totem armor stand
-# at @s
-# run from armor/modifier/type/totem/process
-
-particle minecraft:poof ~ ~0.2 ~ 0.2 0.2 0.2 0.01 5
-execute on passengers run kill @s
-kill @s
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/totem/resistance.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/totem/resistance.mcfunction
deleted file mode 100644
index 657a8481e1..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/totem/resistance.mcfunction
+++ /dev/null
@@ -1,9 +0,0 @@
-# apply resistance to this totem, or if it already has it pulse a stronger effect
-# @s = totem armor_stand
-# at @s
-# run from armor/modifier/type/totem/activate
-
-execute if entity @s[tag=gm4_ce_totem.resistance] run effect give @a[distance=..18,gamemode=!spectator] resistance 10 1 true
-execute unless entity @s[tag=gm4_ce_totem.resistance] run tag @s add gm4_ce_totem.resistance
-particle entity_effect{color:[0.56,0.27,0.93,0.33]} ~ ~1.2 ~ 0.1 0.1 0.1 0.5 24
-tp @s ~ ~ ~ ~180 ~
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/totem/speed.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/totem/speed.mcfunction
deleted file mode 100644
index 9440bd1bac..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/totem/speed.mcfunction
+++ /dev/null
@@ -1,9 +0,0 @@
-# apply speed to this totem, or if it already has it pulse a stronger effect
-# @s = totem armor_stand
-# at @s
-# run from armor/modifier/type/totem/activate
-
-execute if entity @s[tag=gm4_ce_totem.speed] run effect give @a[distance=..18,gamemode=!spectator] speed 10 1 true
-execute unless entity @s[tag=gm4_ce_totem.speed] run tag @s add gm4_ce_totem.speed
-particle entity_effect{color:[0.2,0.92,1.0,0.33]} ~ ~1.2 ~ 0.1 0.1 0.1 0.5 24
-tp @s ~ ~ ~ ~180 ~
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/totem/strength.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/totem/strength.mcfunction
deleted file mode 100644
index 1d135758d3..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/totem/strength.mcfunction
+++ /dev/null
@@ -1,9 +0,0 @@
-# apply strength to this totem, or if it already has it pulse a stronger effect
-# @s = totem armor_stand
-# at @s
-# run from armor/modifier/type/totem/activate
-
-execute if entity @s[tag=gm4_ce_totem.strength] run effect give @a[distance=..18,gamemode=!spectator] strength 10 1 true
-execute unless entity @s[tag=gm4_ce_totem.strength] run tag @s add gm4_ce_totem.strength
-particle entity_effect{color:[1.0,0.78,0.0,0.33]} ~ ~1.2 ~ 0.1 0.1 0.1 0.5 24
-tp @s ~ ~ ~ ~180 ~
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/toxic/activate.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/toxic/activate.mcfunction
deleted file mode 100644
index cd4ccb8419..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/toxic/activate.mcfunction
+++ /dev/null
@@ -1,59 +0,0 @@
-# actiavate toxic armor on wearer getting hit
-# @s = player wearing armor
-# at @s
-advancement revoke @s only gm4_combat_expanded:damaged/armor/toxic
-
-# store armor for checking
-item replace block 29999998 1 7134 container.0 from entity @s armor.head
-item replace block 29999998 1 7134 container.1 from entity @s armor.chest
-item replace block 29999998 1 7134 container.2 from entity @s armor.legs
-item replace block 29999998 1 7134 container.3 from entity @s armor.feet
-data modify storage gm4_combat_expanded:temp Items set from block 29999998 1 7134 Items
-data remove block 29999998 1 7134 Items
-
-scoreboard players set $level.poison gm4_ce_data 0
-scoreboard players set $level.weakness gm4_ce_data 0
-scoreboard players set $level.instant_health gm4_ce_data 0
-
-# add levels among pieces
-scoreboard players set $level gm4_ce_data 0
-execute if data storage gm4_combat_expanded:temp Items[{Slot:0b}].components."minecraft:custom_data".gm4_combat_expanded{modifier:toxic} store result score $level gm4_ce_data run data get storage gm4_combat_expanded:temp Items[{Slot:0b}].components."minecraft:custom_data".gm4_combat_expanded.level
-execute if score $level gm4_ce_data matches 1 run scoreboard players add $level.poison gm4_ce_data 1
-execute if score $level gm4_ce_data matches 2 run scoreboard players add $level.weakness gm4_ce_data 1
-execute if score $level gm4_ce_data matches 3 run scoreboard players add $level.instant_health gm4_ce_data 1
-
-scoreboard players set $level gm4_ce_data 0
-execute if data storage gm4_combat_expanded:temp Items[{Slot:1b}].components."minecraft:custom_data".gm4_combat_expanded{modifier:toxic} store result score $level gm4_ce_data run data get storage gm4_combat_expanded:temp Items[{Slot:1b}].components."minecraft:custom_data".gm4_combat_expanded.level
-execute if score $level gm4_ce_data matches 1 run scoreboard players add $level.poison gm4_ce_data 1
-execute if score $level gm4_ce_data matches 2 run scoreboard players add $level.weakness gm4_ce_data 1
-execute if score $level gm4_ce_data matches 3 run scoreboard players add $level.instant_health gm4_ce_data 1
-
-scoreboard players set $level gm4_ce_data 0
-execute if data storage gm4_combat_expanded:temp Items[{Slot:2b}].components."minecraft:custom_data".gm4_combat_expanded{modifier:toxic} store result score $level gm4_ce_data run data get storage gm4_combat_expanded:temp Items[{Slot:2b}].components."minecraft:custom_data".gm4_combat_expanded.level
-execute if score $level gm4_ce_data matches 1 run scoreboard players add $level.poison gm4_ce_data 1
-execute if score $level gm4_ce_data matches 2 run scoreboard players add $level.weakness gm4_ce_data 1
-execute if score $level gm4_ce_data matches 3 run scoreboard players add $level.instant_health gm4_ce_data 1
-
-scoreboard players set $level gm4_ce_data 0
-execute if data storage gm4_combat_expanded:temp Items[{Slot:3b}].components."minecraft:custom_data".gm4_combat_expanded{modifier:toxic} store result score $level gm4_ce_data run data get storage gm4_combat_expanded:temp Items[{Slot:3b}].components."minecraft:custom_data".gm4_combat_expanded.level
-execute if score $level gm4_ce_data matches 1 run scoreboard players add $level.poison gm4_ce_data 1
-execute if score $level gm4_ce_data matches 2 run scoreboard players add $level.weakness gm4_ce_data 1
-execute if score $level gm4_ce_data matches 3 run scoreboard players add $level.instant_health gm4_ce_data 1
-
-# grant effect
-tag @s add gm4_ce_self
-execute if score $level.poison gm4_ce_data matches 1 on attacker run effect give @s[tag=!smithed.strict,tag=!gm4_ce_self,tag=!gm4_ce_immune_poison] poison 6 0
-execute if score $level.poison gm4_ce_data matches 2 on attacker run effect give @s[tag=!smithed.strict,tag=!gm4_ce_self,tag=!gm4_ce_immune_poison] poison 6 1
-execute if score $level.poison gm4_ce_data matches 3 on attacker run effect give @s[tag=!smithed.strict,tag=!gm4_ce_self,tag=!gm4_ce_immune_poison] poison 6 2
-execute if score $level.poison gm4_ce_data matches 4 on attacker run effect give @s[tag=!smithed.strict,tag=!gm4_ce_self,tag=!gm4_ce_immune_poison] poison 6 3
-
-execute if score $level.weakness gm4_ce_data matches 1 on attacker run effect give @s[tag=!smithed.strict,tag=!gm4_ce_self,tag=!gm4_ce_immune_weakness] weakness 10 0
-execute if score $level.weakness gm4_ce_data matches 2 on attacker run effect give @s[tag=!smithed.strict,tag=!gm4_ce_self,tag=!gm4_ce_immune_weakness] weakness 10 1
-execute if score $level.weakness gm4_ce_data matches 3 on attacker run effect give @s[tag=!smithed.strict,tag=!gm4_ce_self,tag=!gm4_ce_immune_weakness] weakness 10 2
-execute if score $level.weakness gm4_ce_data matches 4 on attacker run effect give @s[tag=!smithed.strict,tag=!gm4_ce_self,tag=!gm4_ce_immune_weakness] weakness 10 3
-
-execute if score $level.instant_health gm4_ce_data matches 1 on attacker run effect give @s[tag=!smithed.strict,tag=!gm4_ce_self] instant_health 1 0
-execute if score $level.instant_health gm4_ce_data matches 2 on attacker run effect give @s[tag=!smithed.strict,tag=!gm4_ce_self] instant_health 1 1
-execute if score $level.instant_health gm4_ce_data matches 3 on attacker run effect give @s[tag=!smithed.strict,tag=!gm4_ce_self] instant_health 1 2
-execute if score $level.instant_health gm4_ce_data matches 4 on attacker run effect give @s[tag=!smithed.strict,tag=!gm4_ce_self] instant_health 1 3
-tag @s remove gm4_ce_self
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/unburden/check.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/unburden/check.mcfunction
deleted file mode 100644
index 8477613901..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/unburden/check.mcfunction
+++ /dev/null
@@ -1,8 +0,0 @@
-# check unburden armor
-# @s = player wearing unburden armour
-# at @s
-# run from armor/check_modifier/equip
-
-execute store result score $stored_armor gm4_ce_data run data get storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.stored_armor
-
-execute unless score @s gm4_ce_armor = $stored_armor gm4_ce_data run function gm4_combat_expanded:armor/modifier/type/unburden/update
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/unburden/update.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/unburden/update.mcfunction
deleted file mode 100644
index 32e4345a24..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/unburden/update.mcfunction
+++ /dev/null
@@ -1,22 +0,0 @@
-# update unburden armor
-# @s = player wearing unburden armour
-# at @s
-# run from armor/check_modifier/type/unburden/check
-
-# mark for change
-scoreboard players set $change gm4_ce_data 1
-
-# update the stored armor to not have to do this update until armor value changes
-execute store result storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.stored_armor int 1 run scoreboard players get @s gm4_ce_armor
-
-# calculate level of bonus movement speed and attack speed
-execute store result score $level gm4_ce_data run data get storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.level 2
-execute if score $level gm4_ce_data matches 1 run scoreboard players set $level gm4_ce_data 150
-execute if score $level gm4_ce_data matches 2 run scoreboard players set $level gm4_ce_data 175
-execute if score $level gm4_ce_data matches 3 run scoreboard players set $level gm4_ce_data 200
-execute if score $level gm4_ce_data matches 4 run scoreboard players set $level gm4_ce_data 225
-scoreboard players set $missing_armor gm4_ce_data 20
-scoreboard players operation $missing_armor gm4_ce_data -= @s gm4_ce_armor
-scoreboard players operation $level gm4_ce_data *= $missing_armor gm4_ce_data
-execute store result storage gm4_combat_expanded:temp components."minecraft:attribute_modifiers".modifiers[{id:"gm4_combat_expanded:dynamic"}].amount float 0.0001 run scoreboard players get $level gm4_ce_data
-execute store result storage gm4_combat_expanded:temp components."minecraft:attribute_modifiers".modifiers[{id:"gm4_combat_expanded:dynamic_2"}].amount float 0.0001 run scoreboard players get $level gm4_ce_data
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/vamp/vamp.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/vamp/vamp.mcfunction
deleted file mode 100644
index 8f76307704..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/vamp/vamp.mcfunction
+++ /dev/null
@@ -1,8 +0,0 @@
-# store healing in 'healstore' which will be healed at the end of the player processing (this tick)
-# @s = player to heal
-# at unspecified
-# run from armor/check_modifier/killing
-
-# store healing, 2x to make it 1 heart per kill
-scoreboard players operation @s gm4_ce_healstore += @s gm4_ce_kill
-scoreboard players operation @s gm4_ce_healstore += @s gm4_ce_kill
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/vorpal/attempt.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/vorpal/attempt.mcfunction
deleted file mode 100644
index 9caa4c0a45..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/vorpal/attempt.mcfunction
+++ /dev/null
@@ -1,15 +0,0 @@
-# code taken from Orb of Ankou - expeditious
-# @s = player wearing vorpal armor being damaged
-# at @s
-# run from armor/type/vorpal/context
-
-tag @s remove gm4_ce_vorpal_start
-
-# effects where you leave
-particle reverse_portal ~ ~0.8 ~ 0.2 0.4 0.2 0.1 16
-
-# teleport up to 8 blocks away
-execute summon marker run function gm4_combat_expanded:armor/modifier/type/vorpal/spawn_marker
-
-execute if score $warp_safe gm4_ce_data matches 1 run function gm4_combat_expanded:armor/modifier/type/vorpal/tp_player
-execute if score $warp_safe gm4_ce_data matches 0 run function gm4_combat_expanded:armor/modifier/type/vorpal/failsafe
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/vorpal/context.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/vorpal/context.mcfunction
deleted file mode 100644
index 2a0ad30843..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/vorpal/context.mcfunction
+++ /dev/null
@@ -1,7 +0,0 @@
-# schedule is needed to let teleport work, because minecraft, that's why
-# @s = unspecified
-# at unspecified
-# run from armor/type/vorpal/schedule
-
-# regain context
-execute as @a[tag=gm4_ce_vorpal_start] at @s run function gm4_combat_expanded:armor/modifier/type/vorpal/attempt
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/vorpal/eval_failsafe.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/vorpal/eval_failsafe.mcfunction
deleted file mode 100644
index 9ca34e62cb..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/vorpal/eval_failsafe.mcfunction
+++ /dev/null
@@ -1,8 +0,0 @@
-# eval spreadplayer command
-# @s = player wearing vorpal armor being damaged
-# at @s
-# run from armor/type/vorpal/failsafe
-
-$spreadplayers ~ ~ 0 8 under $(max_y) false @s
-scoreboard players set $warp_safe gm4_ce_data 0
-execute at @s if predicate gm4_combat_expanded:technical/valid_tp run scoreboard players set $warp_safe gm4_ce_data 1
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/vorpal/failsafe.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/vorpal/failsafe.mcfunction
deleted file mode 100644
index 7805a0a601..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/vorpal/failsafe.mcfunction
+++ /dev/null
@@ -1,12 +0,0 @@
-# use spreadplayer command if other method fails
-# @s = player wearing vorpal armor being damaged
-# at @s
-# run from armor/type/vorpal/attempt
-
-# search for the correct height
-execute store result storage gm4_combat_expanded:temp vorpal.max_y int 1 run scoreboard players add $y_pos gm4_ce_data 8
-execute as @e[type=marker,tag=gm4_ce_vorpal] run function gm4_combat_expanded:armor/modifier/type/vorpal/eval_failsafe with storage gm4_combat_expanded:temp vorpal
-data remove storage gm4_combat_expanded:temp vorpal
-
-# teleport
-function gm4_combat_expanded:armor/modifier/type/vorpal/tp_player
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/vorpal/randomize.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/vorpal/randomize.mcfunction
deleted file mode 100644
index d73a356e00..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/vorpal/randomize.mcfunction
+++ /dev/null
@@ -1,10 +0,0 @@
-# code taken from Orb of Ankou - expeditious
-# @s = vorpal marker
-# at @s
-# run from armor/type/vorpal/spawn_marker
-# run from armor/type/vorpal/tp_marker
-
-execute store result score $randomZ gm4_ce_data run random value 0..16
-execute store result score $randomZ gm4_ce_data run random value 0..16
-
-execute at @s run function gm4_combat_expanded:armor/modifier/type/vorpal/tp_marker
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/vorpal/schedule.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/vorpal/schedule.mcfunction
deleted file mode 100644
index f5480589cb..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/vorpal/schedule.mcfunction
+++ /dev/null
@@ -1,7 +0,0 @@
-# activate vorpal armor when player is damaged
-# @s = player wearing armor
-# at @s
-advancement revoke @s only gm4_combat_expanded:damaged/armor/vorpal
-
-tag @s add gm4_ce_vorpal_start
-schedule function gm4_combat_expanded:armor/modifier/type/vorpal/context 1t
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/vorpal/set_ypos.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/vorpal/set_ypos.mcfunction
deleted file mode 100644
index ee3e1b8d76..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/vorpal/set_ypos.mcfunction
+++ /dev/null
@@ -1,11 +0,0 @@
-# code taken from Orb of Ankou - expeditious
-# @s = vorpal marker
-# at @s
-# run from armor/type/vorpal/tp_marker
-
-execute at @s run tp @s ~ ~-1 ~
-scoreboard players add $set_y gm4_ce_data 1
-scoreboard players set $warp_safe gm4_ce_data 0
-execute at @s if predicate gm4_combat_expanded:technical/valid_tp run scoreboard players set $warp_safe gm4_ce_data 1
-execute if score $warp_safe gm4_ce_data matches 1 run scoreboard players set $warp_attempt gm4_ce_data 33
-execute unless score $set_y gm4_ce_data matches 17.. at @s unless score $warp_safe gm4_ce_data matches 1 run function gm4_combat_expanded:armor/modifier/type/vorpal/set_ypos
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/vorpal/spawn_marker.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/vorpal/spawn_marker.mcfunction
deleted file mode 100644
index 96aa1f5d78..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/vorpal/spawn_marker.mcfunction
+++ /dev/null
@@ -1,11 +0,0 @@
-# spawn a marker and start the moving of it
-# @s = vorpal marker
-# at @s
-# run from armor/type/vorpal/attempt
-
-tag @s add gm4_ce_vorpal
-tp @s ~-8 ~ ~-8
-execute store result score $y_pos gm4_ce_data run data get entity @s Pos[1]
-scoreboard players set $warp_attempt gm4_ce_data 0
-
-function gm4_combat_expanded:armor/modifier/type/vorpal/randomize
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/vorpal/tp_marker.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/vorpal/tp_marker.mcfunction
deleted file mode 100644
index f5b7bfebba..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/vorpal/tp_marker.mcfunction
+++ /dev/null
@@ -1,34 +0,0 @@
-# code taken from Orb of Ankou - expeditious
-# @s = vorpal marker
-# at @s
-# run from armor/type/vorpal/randomize
-
-execute at @s if score $randomX gm4_ce_data matches 16.. run tp @s ~16 ~ ~
-execute if score $randomX gm4_ce_data matches 16.. run scoreboard players remove $randomX gm4_ce_data 16
-execute at @s if score $randomX gm4_ce_data matches 8.. run tp @s ~8 ~ ~
-execute if score $randomX gm4_ce_data matches 8.. run scoreboard players remove $randomX gm4_ce_data 8
-execute at @s if score $randomX gm4_ce_data matches 4.. run tp @s ~4 ~ ~
-execute if score $randomX gm4_ce_data matches 4.. run scoreboard players remove $randomX gm4_ce_data 4
-execute at @s if score $randomX gm4_ce_data matches 2.. run tp @s ~2 ~ ~
-execute if score $randomX gm4_ce_data matches 2.. run scoreboard players remove $randomX gm4_ce_data 2
-execute at @s if score $randomX gm4_ce_data matches 1.. run tp @s ~1 ~ ~
-execute if score $randomX gm4_ce_data matches 1.. run scoreboard players remove $randomX gm4_ce_data 1
-
-execute at @s if score $randomZ gm4_ce_data matches 16.. run tp @s ~ ~ ~16
-execute if score $randomZ gm4_ce_data matches 16.. run scoreboard players remove $randomZ gm4_ce_data 16
-execute at @s if score $randomZ gm4_ce_data matches 8.. run tp @s ~ ~ ~8
-execute if score $randomZ gm4_ce_data matches 8.. run scoreboard players remove $randomZ gm4_ce_data 8
-execute at @s if score $randomZ gm4_ce_data matches 4.. run tp @s ~ ~ ~4
-execute if score $randomZ gm4_ce_data matches 4.. run scoreboard players remove $randomZ gm4_ce_data 4
-execute at @s if score $randomZ gm4_ce_data matches 2.. run tp @s ~ ~ ~2
-execute if score $randomZ gm4_ce_data matches 2.. run scoreboard players remove $randomZ gm4_ce_data 2
-execute at @s if score $randomZ gm4_ce_data matches 1.. run tp @s ~ ~ ~1
-execute if score $randomZ gm4_ce_data matches 1.. run scoreboard players remove $randomZ gm4_ce_data 1
-
-execute store result entity @s Pos[1] double 1 run scoreboard players get $y_pos gm4_ce_data
-execute at @s run tp @s ~ ~8 ~
-scoreboard players set $set_y gm4_ce_data 0
-execute at @s run function gm4_combat_expanded:armor/modifier/type/vorpal/set_ypos
-
-scoreboard players add $warp_attempt gm4_ce_data 1
-execute unless score $warp_attempt gm4_ce_data matches 33.. run function gm4_combat_expanded:armor/modifier/type/vorpal/randomize
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/vorpal/tp_player.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/vorpal/tp_player.mcfunction
deleted file mode 100644
index c97f4897b5..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/vorpal/tp_player.mcfunction
+++ /dev/null
@@ -1,18 +0,0 @@
-# code taken from Orb of Ankou - expeditious
-# @s = player wearing vorpal armor being damaged
-# at @s
-# run from armor/type/vorpal/attempt
-
-# effects
-execute if score $warp_safe gm4_ce_data matches 1.. at @e[type=marker,tag=gm4_ce_vorpal] align xyz run tp @s ~0.5 ~ ~0.5
-kill @e[type=marker,tag=gm4_ce_vorpal]
-
-playsound entity.enderman.teleport player @a ~ ~ ~ 0.8 1.2
-execute at @s run playsound entity.enderman.teleport player @a ~ ~ ~ 0.8 0.8
-execute at @s run particle portal ~ ~0.8 ~ 0.2 0.4 0.2 1 16
-
-# compatibility with teleportation anchors
-execute if score gm4_teleportation_anchors load.status matches 1 run function gm4_teleportation_anchors:player/used_chorus
-
-# advancement
-advancement grant @s only gm4:combat_expanded_vorpal
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/activate.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/activate.mcfunction
deleted file mode 100644
index eef3e2fe61..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/activate.mcfunction
+++ /dev/null
@@ -1,55 +0,0 @@
-# activate wild_magic armor when player is damaged
-# @s = player wearing armor
-# at @s
-advancement revoke @s only gm4_combat_expanded:damaged/armor/wild_magic
-
-# Pick Effect
-execute store result score $wild_magic.id gm4_ce_data run random value 1..100
-scoreboard players set $add gm4_ce_data 0
-# rare good
-execute if score $wild_magic.id gm4_ce_data matches 100 run function gm4_combat_expanded:armor/modifier/type/wild_magic/effect/good/instant_health
-execute if score $wild_magic.id gm4_ce_data matches 99 run function gm4_combat_expanded:armor/modifier/type/wild_magic/effect/good/haste
-execute if score $wild_magic.id gm4_ce_data matches 98 run function gm4_combat_expanded:armor/modifier/type/wild_magic/effect/good/absorption
-execute if score $wild_magic.id gm4_ce_data matches 97 run function gm4_combat_expanded:armor/modifier/type/wild_magic/effect/good/strength
-# uncommon good
-execute if score $wild_magic.id gm4_ce_data matches 95..96 run function gm4_combat_expanded:armor/modifier/type/wild_magic/effect/good/health_boost
-execute if score $wild_magic.id gm4_ce_data matches 93..94 run function gm4_combat_expanded:armor/modifier/type/wild_magic/effect/good/regeneration
-execute if score $wild_magic.id gm4_ce_data matches 91..92 run function gm4_combat_expanded:armor/modifier/type/wild_magic/effect/good/resistance
-execute if score $wild_magic.id gm4_ce_data matches 89..90 run function gm4_combat_expanded:armor/modifier/type/wild_magic/effect/good/saturation
-execute if score $wild_magic.id gm4_ce_data matches 87..88 run function gm4_combat_expanded:armor/modifier/type/wild_magic/effect/good/speed
-# common good
-execute if score $wild_magic.id gm4_ce_data matches 83..86 run function gm4_combat_expanded:armor/modifier/type/wild_magic/effect/good/conduit_power
-execute if score $wild_magic.id gm4_ce_data matches 79..82 run function gm4_combat_expanded:armor/modifier/type/wild_magic/effect/good/jump_boost
-execute if score $wild_magic.id gm4_ce_data matches 75..78 run function gm4_combat_expanded:armor/modifier/type/wild_magic/effect/good/invisibility
-execute if score $wild_magic.id gm4_ce_data matches 71..74 run function gm4_combat_expanded:armor/modifier/type/wild_magic/effect/good/dolphins_grace
-execute if score $wild_magic.id gm4_ce_data matches 66..70 run function gm4_combat_expanded:armor/modifier/type/wild_magic/effect/good/glowing
-execute if score $wild_magic.id gm4_ce_data matches 58..65 run function gm4_combat_expanded:armor/modifier/type/wild_magic/effect/good/fire_resistance
-execute if score $wild_magic.id gm4_ce_data matches 48..57 run function gm4_combat_expanded:armor/modifier/type/wild_magic/effect/good/night_vision
-execute if score $wild_magic.id gm4_ce_data matches 38..47 run function gm4_combat_expanded:armor/modifier/type/wild_magic/effect/good/water_breathing
-# common bad
-execute if score $wild_magic.id gm4_ce_data matches 33..37 run function gm4_combat_expanded:armor/modifier/type/wild_magic/effect/bad/hunger
-execute if score $wild_magic.id gm4_ce_data matches 28..32 run function gm4_combat_expanded:armor/modifier/type/wild_magic/effect/bad/mining_fatigue
-execute if score $wild_magic.id gm4_ce_data matches 23..27 run function gm4_combat_expanded:armor/modifier/type/wild_magic/effect/bad/nausea
-execute if score $wild_magic.id gm4_ce_data matches 17..22 run function gm4_combat_expanded:armor/modifier/type/wild_magic/effect/bad/slowness
-# uncommon bad
-execute if score $wild_magic.id gm4_ce_data matches 11..12 run function gm4_combat_expanded:armor/modifier/type/wild_magic/effect/bad/levitation
-execute if score $wild_magic.id gm4_ce_data matches 9..10 run function gm4_combat_expanded:armor/modifier/type/wild_magic/effect/bad/slow_falling
-execute if score $wild_magic.id gm4_ce_data matches 7..8 run function gm4_combat_expanded:armor/modifier/type/wild_magic/effect/bad/weakness
-execute if score $wild_magic.id gm4_ce_data matches 5..6 run function gm4_combat_expanded:armor/modifier/type/wild_magic/effect/bad/darkness
-# rare bad
-execute if score $wild_magic.id gm4_ce_data matches 4 run function gm4_combat_expanded:armor/modifier/type/wild_magic/effect/bad/wither
-execute if score $wild_magic.id gm4_ce_data matches 3 run function gm4_combat_expanded:armor/modifier/type/wild_magic/effect/bad/poison
-execute if score $wild_magic.id gm4_ce_data matches 2 run function gm4_combat_expanded:armor/modifier/type/wild_magic/effect/bad/blindness
-execute if score $wild_magic.id gm4_ce_data matches 1 run function gm4_combat_expanded:armor/modifier/type/wild_magic/effect/bad/instant_damage
-
-# TODO: remove (spigot bug)
-execute positioned 29999998 1 7133 run kill @e[type=item,distance=..2]
-
-# Store in storage and apply
-function gm4_combat_expanded:armor/modifier/type/wild_magic/eval with storage gm4_combat_expanded:temp wild_magic
-
-# SFX
-playsound minecraft:entity.allay.item_thrown player @s ~ ~ ~ 1 0.55
-
-# Cleanup
-data remove storage gm4_combat_expanded:temp wild_magic
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/bad/blindness.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/bad/blindness.mcfunction
deleted file mode 100644
index f6af6621e9..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/bad/blindness.mcfunction
+++ /dev/null
@@ -1,8 +0,0 @@
-
-data modify storage gm4_combat_expanded:temp wild_magic.id set value "blindness"
-
-# Duration
-execute store result storage gm4_combat_expanded:temp wild_magic.duration int 1 run random value 6..25
-
-# Level
-execute store result storage gm4_combat_expanded:temp wild_magic.level int 1 run scoreboard players set $base gm4_ce_data 0
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/bad/darkness.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/bad/darkness.mcfunction
deleted file mode 100644
index 8e61696c0b..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/bad/darkness.mcfunction
+++ /dev/null
@@ -1,8 +0,0 @@
-
-data modify storage gm4_combat_expanded:temp wild_magic.id set value "darkness"
-
-# Duration
-execute store result storage gm4_combat_expanded:temp wild_magic.duration int 1 run random value 15..45
-
-# Level
-execute store result storage gm4_combat_expanded:temp wild_magic.level int 1 run scoreboard players set $base gm4_ce_data 0
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/bad/hunger.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/bad/hunger.mcfunction
deleted file mode 100644
index 628fd1a057..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/bad/hunger.mcfunction
+++ /dev/null
@@ -1,9 +0,0 @@
-
-data modify storage gm4_combat_expanded:temp wild_magic.id set value "hunger"
-
-# Duration
-execute store result storage gm4_combat_expanded:temp wild_magic.duration int 1 run random value 15..60
-
-# Level
-scoreboard players set $add gm4_ce_data 9
-execute store result storage gm4_combat_expanded:temp wild_magic.level int 1 run loot spawn 29999998 1 7133 loot gm4_combat_expanded:technical/wild_magic_level
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/bad/instant_damage.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/bad/instant_damage.mcfunction
deleted file mode 100644
index 20bc51e499..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/bad/instant_damage.mcfunction
+++ /dev/null
@@ -1,9 +0,0 @@
-
-data modify storage gm4_combat_expanded:temp wild_magic.id set value "instant_damage"
-
-# Duration
-execute store result storage gm4_combat_expanded:temp wild_magic.duration int 1 run scoreboard players set $base gm4_ce_data 1
-
-# Level
-scoreboard players set $add gm4_ce_data 2
-execute store result storage gm4_combat_expanded:temp wild_magic.level int 1 run loot spawn 29999998 1 7133 loot gm4_combat_expanded:technical/wild_magic_level
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/bad/levitation.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/bad/levitation.mcfunction
deleted file mode 100644
index 3e7fd6503f..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/bad/levitation.mcfunction
+++ /dev/null
@@ -1,9 +0,0 @@
-
-data modify storage gm4_combat_expanded:temp wild_magic.id set value "levitation"
-
-# Duration
-execute store result storage gm4_combat_expanded:temp wild_magic.duration int 1 run random value 1..5
-
-# Level
-scoreboard players set $add gm4_ce_data 9
-execute store result storage gm4_combat_expanded:temp wild_magic.level int 1 run loot spawn 29999998 1 7133 loot gm4_combat_expanded:technical/wild_magic_level
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/bad/mining_fatigue.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/bad/mining_fatigue.mcfunction
deleted file mode 100644
index 312752d350..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/bad/mining_fatigue.mcfunction
+++ /dev/null
@@ -1,9 +0,0 @@
-
-data modify storage gm4_combat_expanded:temp wild_magic.id set value "mining_fatigue"
-
-# Duration
-execute store result storage gm4_combat_expanded:temp wild_magic.duration int 1 run random value 15..45
-
-# Level
-scoreboard players set $add gm4_ce_data 4
-execute store result storage gm4_combat_expanded:temp wild_magic.level int 1 run loot spawn 29999998 1 7133 loot gm4_combat_expanded:technical/wild_magic_level
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/bad/nausea.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/bad/nausea.mcfunction
deleted file mode 100644
index 0b28c644da..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/bad/nausea.mcfunction
+++ /dev/null
@@ -1,8 +0,0 @@
-
-data modify storage gm4_combat_expanded:temp wild_magic.id set value "nausea"
-
-# Duration
-execute store result storage gm4_combat_expanded:temp wild_magic.duration int 1 run random value 15..45
-
-# Level
-execute store result storage gm4_combat_expanded:temp wild_magic.level int 1 run scoreboard players set $base gm4_ce_data 0
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/bad/poison.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/bad/poison.mcfunction
deleted file mode 100644
index 1dd64d3526..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/bad/poison.mcfunction
+++ /dev/null
@@ -1,9 +0,0 @@
-
-data modify storage gm4_combat_expanded:temp wild_magic.id set value "poison"
-
-# Duration
-execute store result storage gm4_combat_expanded:temp wild_magic.duration int 1 run random value 6..25
-
-# Level
-scoreboard players set $add gm4_ce_data 2
-execute store result storage gm4_combat_expanded:temp wild_magic.level int 1 run loot spawn 29999998 1 7133 loot gm4_combat_expanded:technical/wild_magic_level
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/bad/slow_falling.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/bad/slow_falling.mcfunction
deleted file mode 100644
index 4865028fcb..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/bad/slow_falling.mcfunction
+++ /dev/null
@@ -1,8 +0,0 @@
-
-data modify storage gm4_combat_expanded:temp wild_magic.id set value "slow_falling"
-
-# Duration
-execute store result storage gm4_combat_expanded:temp wild_magic.duration int 1 run random value 15..60
-
-# Level
-execute store result storage gm4_combat_expanded:temp wild_magic.level int 1 run scoreboard players set $base gm4_ce_data 0
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/bad/slowness.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/bad/slowness.mcfunction
deleted file mode 100644
index 57ac38ac72..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/bad/slowness.mcfunction
+++ /dev/null
@@ -1,9 +0,0 @@
-
-data modify storage gm4_combat_expanded:temp wild_magic.id set value "slowness"
-
-# Duration
-execute store result storage gm4_combat_expanded:temp wild_magic.duration int 1 run random value 15..90
-
-# Level
-scoreboard players set $add gm4_ce_data 4
-execute store result storage gm4_combat_expanded:temp wild_magic.level int 1 run loot spawn 29999998 1 7133 loot gm4_combat_expanded:technical/wild_magic_level
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/bad/weakness.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/bad/weakness.mcfunction
deleted file mode 100644
index 79d564f6ba..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/bad/weakness.mcfunction
+++ /dev/null
@@ -1,9 +0,0 @@
-
-data modify storage gm4_combat_expanded:temp wild_magic.id set value "weakness"
-
-# Duration
-execute store result storage gm4_combat_expanded:temp wild_magic.duration int 1 run random value 15..45
-
-# Level
-scoreboard players set $add gm4_ce_data 4
-execute store result storage gm4_combat_expanded:temp wild_magic.level int 1 run loot spawn 29999998 1 7133 loot gm4_combat_expanded:technical/wild_magic_level
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/bad/wither.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/bad/wither.mcfunction
deleted file mode 100644
index aea4673ba6..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/bad/wither.mcfunction
+++ /dev/null
@@ -1,9 +0,0 @@
-
-data modify storage gm4_combat_expanded:temp wild_magic.id set value "wither"
-
-# Duration
-execute store result storage gm4_combat_expanded:temp wild_magic.duration int 1 run random value 6..20
-
-# Level
-scoreboard players set $add gm4_ce_data 2
-execute store result storage gm4_combat_expanded:temp wild_magic.level int 1 run loot spawn 29999998 1 7133 loot gm4_combat_expanded:technical/wild_magic_level
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/good/absorption.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/good/absorption.mcfunction
deleted file mode 100644
index b8d8dc07ce..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/good/absorption.mcfunction
+++ /dev/null
@@ -1,9 +0,0 @@
-
-data modify storage gm4_combat_expanded:temp wild_magic.id set value "absorption"
-
-# Duration
-execute store result storage gm4_combat_expanded:temp wild_magic.duration int 1 run random value 45..90
-
-# Level
-scoreboard players set $add gm4_ce_data 4
-execute store result storage gm4_combat_expanded:temp wild_magic.level int 1 run loot spawn 29999998 1 7133 loot gm4_combat_expanded:technical/wild_magic_level
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/good/conduit_power.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/good/conduit_power.mcfunction
deleted file mode 100644
index 63319d2a23..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/good/conduit_power.mcfunction
+++ /dev/null
@@ -1,8 +0,0 @@
-
-data modify storage gm4_combat_expanded:temp wild_magic.id set value "conduit_power"
-
-# Duration
-execute store result storage gm4_combat_expanded:temp wild_magic.duration int 1 run random value 15..90
-
-# Level
-execute store result storage gm4_combat_expanded:temp wild_magic.level int 1 run scoreboard players set $base gm4_ce_data 0
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/good/dolphins_grace.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/good/dolphins_grace.mcfunction
deleted file mode 100644
index daa1522af9..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/good/dolphins_grace.mcfunction
+++ /dev/null
@@ -1,9 +0,0 @@
-
-data modify storage gm4_combat_expanded:temp wild_magic.id set value "dolphins_grace"
-
-# Duration
-execute store result storage gm4_combat_expanded:temp wild_magic.duration int 1 run random value 45..180
-
-# Level
-scoreboard players set $add gm4_ce_data 9
-execute store result storage gm4_combat_expanded:temp wild_magic.level int 1 run loot spawn 29999998 1 7133 loot gm4_combat_expanded:technical/wild_magic_level
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/good/fire_resistance.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/good/fire_resistance.mcfunction
deleted file mode 100644
index 1c3ca9394b..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/good/fire_resistance.mcfunction
+++ /dev/null
@@ -1,8 +0,0 @@
-
-data modify storage gm4_combat_expanded:temp wild_magic.id set value "fire_resistance"
-
-# Duration
-execute store result storage gm4_combat_expanded:temp wild_magic.duration int 1 run random value 60..90
-
-# Level
-execute store result storage gm4_combat_expanded:temp wild_magic.level int 1 run scoreboard players set $base gm4_ce_data 0
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/good/glowing.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/good/glowing.mcfunction
deleted file mode 100644
index cfc673ba5d..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/good/glowing.mcfunction
+++ /dev/null
@@ -1,8 +0,0 @@
-
-data modify storage gm4_combat_expanded:temp wild_magic.id set value "glowing"
-
-# Duration
-execute store result storage gm4_combat_expanded:temp wild_magic.duration int 1 run random value 15..90
-
-# Level
-execute store result storage gm4_combat_expanded:temp wild_magic.level int 1 run scoreboard players set $base gm4_ce_data 0
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/good/haste.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/good/haste.mcfunction
deleted file mode 100644
index 6036a34b69..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/good/haste.mcfunction
+++ /dev/null
@@ -1,9 +0,0 @@
-
-data modify storage gm4_combat_expanded:temp wild_magic.id set value "haste"
-
-# Duration
-execute store result storage gm4_combat_expanded:temp wild_magic.duration int 1 run random value 45..120
-
-# Level
-scoreboard players set $add gm4_ce_data 3
-execute store result storage gm4_combat_expanded:temp wild_magic.level int 1 run loot spawn 29999998 1 7133 loot gm4_combat_expanded:technical/wild_magic_level
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/good/health_boost.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/good/health_boost.mcfunction
deleted file mode 100644
index 23292a9313..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/good/health_boost.mcfunction
+++ /dev/null
@@ -1,9 +0,0 @@
-
-data modify storage gm4_combat_expanded:temp wild_magic.id set value "health_boost"
-
-# Duration
-execute store result storage gm4_combat_expanded:temp wild_magic.duration int 1 run random value 45..120
-
-# Level
-scoreboard players set $add gm4_ce_data 4
-execute store result storage gm4_combat_expanded:temp wild_magic.level int 1 run loot spawn 29999998 1 7133 loot gm4_combat_expanded:technical/wild_magic_level
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/good/instant_health.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/good/instant_health.mcfunction
deleted file mode 100644
index 9ad871fd8f..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/good/instant_health.mcfunction
+++ /dev/null
@@ -1,9 +0,0 @@
-
-data modify storage gm4_combat_expanded:temp wild_magic.id set value "instant_health"
-
-# Duration
-execute store result storage gm4_combat_expanded:temp wild_magic.duration int 1 run scoreboard players set $base gm4_ce_data 1
-
-# Level
-scoreboard players set $add gm4_ce_data 4
-execute store result storage gm4_combat_expanded:temp wild_magic.level int 1 run loot spawn 29999998 1 7133 loot gm4_combat_expanded:technical/wild_magic_level
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/good/invisibility.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/good/invisibility.mcfunction
deleted file mode 100644
index 7388418e1a..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/good/invisibility.mcfunction
+++ /dev/null
@@ -1,8 +0,0 @@
-
-data modify storage gm4_combat_expanded:temp wild_magic.id set value "invisibility"
-
-# Duration
-execute store result storage gm4_combat_expanded:temp wild_magic.duration int 1 run random value 15..120
-
-# Level
-execute store result storage gm4_combat_expanded:temp wild_magic.level int 1 run scoreboard players set $base gm4_ce_data 0
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/good/jump_boost.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/good/jump_boost.mcfunction
deleted file mode 100644
index b268b559cc..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/good/jump_boost.mcfunction
+++ /dev/null
@@ -1,9 +0,0 @@
-
-data modify storage gm4_combat_expanded:temp wild_magic.id set value "jump_boost"
-
-# Duration
-execute store result storage gm4_combat_expanded:temp wild_magic.duration int 1 run random value 15..90
-
-# Level
-scoreboard players set $add gm4_ce_data 9
-execute store result storage gm4_combat_expanded:temp wild_magic.level int 1 run loot spawn 29999998 1 7133 loot gm4_combat_expanded:technical/wild_magic_level
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/good/night_vision.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/good/night_vision.mcfunction
deleted file mode 100644
index 3eb4111822..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/good/night_vision.mcfunction
+++ /dev/null
@@ -1,8 +0,0 @@
-
-data modify storage gm4_combat_expanded:temp wild_magic.id set value "night_vision"
-
-# Duration
-execute store result storage gm4_combat_expanded:temp wild_magic.duration int 1 run random value 45..180
-
-# Level
-execute store result storage gm4_combat_expanded:temp wild_magic.level int 1 run scoreboard players set $base gm4_ce_data 0
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/good/regeneration.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/good/regeneration.mcfunction
deleted file mode 100644
index 6b8dfdd92b..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/good/regeneration.mcfunction
+++ /dev/null
@@ -1,9 +0,0 @@
-
-data modify storage gm4_combat_expanded:temp wild_magic.id set value "regeneration"
-
-# Duration
-execute store result storage gm4_combat_expanded:temp wild_magic.duration int 1 run random value 15..30
-
-# Level
-scoreboard players set $add gm4_ce_data 4
-execute store result storage gm4_combat_expanded:temp wild_magic.level int 1 run loot spawn 29999998 1 7133 loot gm4_combat_expanded:technical/wild_magic_level
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/good/resistance.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/good/resistance.mcfunction
deleted file mode 100644
index 8a0b112393..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/good/resistance.mcfunction
+++ /dev/null
@@ -1,9 +0,0 @@
-
-data modify storage gm4_combat_expanded:temp wild_magic.id set value "resistance"
-
-# Duration
-execute store result storage gm4_combat_expanded:temp wild_magic.duration int 1 run random value 15..60
-
-# Level
-scoreboard players set $add gm4_ce_data 4
-execute store result storage gm4_combat_expanded:temp wild_magic.level int 1 run loot spawn 29999998 1 7133 loot gm4_combat_expanded:technical/wild_magic_level
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/good/saturation.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/good/saturation.mcfunction
deleted file mode 100644
index c2ddf5c983..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/good/saturation.mcfunction
+++ /dev/null
@@ -1,9 +0,0 @@
-
-data modify storage gm4_combat_expanded:temp wild_magic.id set value "saturation"
-
-# Duration
-execute store result storage gm4_combat_expanded:temp wild_magic.duration int 1 run random value 5..20
-
-# Level
-scoreboard players set $add gm4_ce_data 1
-execute store result storage gm4_combat_expanded:temp wild_magic.level int 1 run loot spawn 29999998 1 7133 loot gm4_combat_expanded:technical/wild_magic_level
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/good/speed.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/good/speed.mcfunction
deleted file mode 100644
index c0efe58cf4..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/good/speed.mcfunction
+++ /dev/null
@@ -1,9 +0,0 @@
-
-data modify storage gm4_combat_expanded:temp wild_magic.id set value "speed"
-
-# Duration
-execute store result storage gm4_combat_expanded:temp wild_magic.duration int 1 run random value 60..180
-
-# Level
-scoreboard players set $add gm4_ce_data 9
-execute store result storage gm4_combat_expanded:temp wild_magic.level int 1 run loot spawn 29999998 1 7133 loot gm4_combat_expanded:technical/wild_magic_level
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/good/strength.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/good/strength.mcfunction
deleted file mode 100644
index 04f58705c8..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/good/strength.mcfunction
+++ /dev/null
@@ -1,9 +0,0 @@
-
-data modify storage gm4_combat_expanded:temp wild_magic.id set value "strength"
-
-# Duration
-execute store result storage gm4_combat_expanded:temp wild_magic.duration int 1 run random value 45..90
-
-# Level
-scoreboard players set $add gm4_ce_data 1
-execute store result storage gm4_combat_expanded:temp wild_magic.level int 1 run loot spawn 29999998 1 7133 loot gm4_combat_expanded:technical/wild_magic_level
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/good/water_breathing.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/good/water_breathing.mcfunction
deleted file mode 100644
index 497cfe3ffd..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/effect/good/water_breathing.mcfunction
+++ /dev/null
@@ -1,8 +0,0 @@
-
-data modify storage gm4_combat_expanded:temp wild_magic.id set value "water_breathing"
-
-# Duration
-execute store result storage gm4_combat_expanded:temp wild_magic.duration int 1 run random value 60..180
-
-# Level
-execute store result storage gm4_combat_expanded:temp wild_magic.level int 1 run scoreboard players set $base gm4_ce_data 0
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/eval.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/eval.mcfunction
deleted file mode 100644
index 6e86874aed..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/modifier/type/wild_magic/eval.mcfunction
+++ /dev/null
@@ -1,6 +0,0 @@
-# apply the stored effect to player
-# @s = player wearing armor
-# at @s
-# run from armor/modifier/type/wild_magic/activate
-
-$effect give @s $(id) $(duration) $(level)
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/process.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/process.mcfunction
deleted file mode 100644
index f878b9fac2..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/process.mcfunction
+++ /dev/null
@@ -1,20 +0,0 @@
-# store armor information in storage and process them
-# @s = player wearing armor with modifiers
-# at unspecified
-# run from player/process
-
-# store armor items to storage
-item replace block 29999998 1 7134 container.0 from entity @s armor.head
-item replace block 29999998 1 7134 container.1 from entity @s armor.chest
-item replace block 29999998 1 7134 container.2 from entity @s armor.legs
-item replace block 29999998 1 7134 container.3 from entity @s armor.feet
-data modify storage gm4_combat_expanded:temp Items set from block 29999998 1 7134 Items
-
-# process identified armor
-execute if data storage gm4_combat_expanded:temp Items[{Slot:0b}].components."minecraft:custom_data".gm4_combat_expanded run function gm4_combat_expanded:armor/slot/head
-execute if data storage gm4_combat_expanded:temp Items[{Slot:1b}].components."minecraft:custom_data".gm4_combat_expanded run function gm4_combat_expanded:armor/slot/chest
-execute if data storage gm4_combat_expanded:temp Items[{Slot:2b}].components."minecraft:custom_data".gm4_combat_expanded run function gm4_combat_expanded:armor/slot/legs
-execute if data storage gm4_combat_expanded:temp Items[{Slot:3b}].components."minecraft:custom_data".gm4_combat_expanded run function gm4_combat_expanded:armor/slot/feet
-
-# cleanup
-data remove block 29999998 1 7134 Items
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/slot/chest.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/slot/chest.mcfunction
deleted file mode 100644
index d6b4373888..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/slot/chest.mcfunction
+++ /dev/null
@@ -1,18 +0,0 @@
-# process the chestplate
-# @s = player wearing the armor
-# at unspecified
-# run from armor/process
-
-# store information
-data modify storage gm4_combat_expanded:temp components set from storage gm4_combat_expanded:temp Items[{Slot:1b}].components
-execute store result score $modifier gm4_ce_data run data get storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.modifier 100
-
-# check netherite
-execute if predicate gm4_combat_expanded:technical/convert_netherite/chest run function gm4_combat_expanded:armor/convert_netherite
-
-# check modifier
-execute if score $modifier gm4_ce_data matches 100.. run function gm4_combat_expanded:armor/modifier/check_modifier
-
-# make changes
-execute if score $change gm4_ce_data matches 1 run function gm4_combat_expanded:item_modify_eval/chest_update with storage gm4_combat_expanded:temp
-execute if score $change gm4_ce_data matches 1 run function gm4_combat_expanded:armor/slot/silence_equip_sound
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/slot/feet.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/slot/feet.mcfunction
deleted file mode 100644
index b5c28f69e4..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/slot/feet.mcfunction
+++ /dev/null
@@ -1,18 +0,0 @@
-# process the boots
-# @s = player wearing the armor
-# at unspecified
-# run from armor/process
-
-# store information
-data modify storage gm4_combat_expanded:temp components set from storage gm4_combat_expanded:temp Items[{Slot:3b}].components
-execute store result score $modifier gm4_ce_data run data get storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.modifier 100
-
-# check netherite
-execute if predicate gm4_combat_expanded:technical/convert_netherite/feet run function gm4_combat_expanded:armor/convert_netherite
-
-# check modifier
-execute if score $modifier gm4_ce_data matches 100.. run function gm4_combat_expanded:armor/modifier/check_modifier
-
-# make changes
-execute if score $change gm4_ce_data matches 1 run function gm4_combat_expanded:item_modify_eval/feet_update with storage gm4_combat_expanded:temp
-execute if score $change gm4_ce_data matches 1 run function gm4_combat_expanded:armor/slot/silence_equip_sound
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/slot/head.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/slot/head.mcfunction
deleted file mode 100644
index 8ecb425dad..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/slot/head.mcfunction
+++ /dev/null
@@ -1,18 +0,0 @@
-# process the helmet
-# @s = player wearing the armor
-# at unspecified
-# run from armor/process
-
-# store information
-data modify storage gm4_combat_expanded:temp components set from storage gm4_combat_expanded:temp Items[{Slot:0b}].components
-execute store result score $modifier gm4_ce_data run data get storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.modifier 100
-
-# check netherite
-execute if predicate gm4_combat_expanded:technical/convert_netherite/head run function gm4_combat_expanded:armor/convert_netherite
-
-# check modifier
-execute if score $modifier gm4_ce_data matches 100.. run function gm4_combat_expanded:armor/modifier/check_modifier
-
-# make changes
-execute if score $change gm4_ce_data matches 1 run function gm4_combat_expanded:item_modify_eval/head_update with storage gm4_combat_expanded:temp
-execute if score $change gm4_ce_data matches 1 run function gm4_combat_expanded:armor/slot/silence_equip_sound
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/slot/legs.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/slot/legs.mcfunction
deleted file mode 100644
index 2a2cef1c77..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/slot/legs.mcfunction
+++ /dev/null
@@ -1,18 +0,0 @@
-# process the leggings
-# @s = player wearing the armor
-# at unspecified
-# run from armor/process
-
-# store information
-data modify storage gm4_combat_expanded:temp components set from storage gm4_combat_expanded:temp Items[{Slot:2b}].components
-execute store result score $modifier gm4_ce_data run data get storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.modifier 100
-
-# check netherite
-execute if predicate gm4_combat_expanded:technical/convert_netherite/legs run function gm4_combat_expanded:armor/convert_netherite
-
-# check modifier
-execute if score $modifier gm4_ce_data matches 100.. run function gm4_combat_expanded:armor/modifier/check_modifier
-
-# make changes
-execute if score $change gm4_ce_data matches 1 run function gm4_combat_expanded:item_modify_eval/legs_update with storage gm4_combat_expanded:temp
-execute if score $change gm4_ce_data matches 1 run function gm4_combat_expanded:armor/slot/silence_equip_sound
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/slot/silence_equip_sound.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/slot/silence_equip_sound.mcfunction
deleted file mode 100644
index b043862643..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/armor/slot/silence_equip_sound.mcfunction
+++ /dev/null
@@ -1,16 +0,0 @@
-# stop the equip sound from playing when armor changes
-# @s = player that is having their armor nbt change
-# at unspecified
-# run from any armor/slot/
-# run from armor/modifier/type/link/process/set_max_health
-
-stopsound @s player item.armor.equip_chain
-stopsound @s player item.armor.equip_diamond
-stopsound @s player item.armor.equip_generic
-stopsound @s player item.armor.equip_gold
-stopsound @s player item.armor.equip_iron
-stopsound @s player item.armor.equip_leather
-stopsound @s player item.armor.equip_netherite
-stopsound @s player item.armor.equip_turtle
-
-scoreboard players reset $change gm4_ce_data
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/activation/spawn/bossbar_no_twin.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/activation/spawn/bossbar_no_twin.mcfunction
deleted file mode 100644
index 4bf0090ab2..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/activation/spawn/bossbar_no_twin.mcfunction
+++ /dev/null
@@ -1,9 +0,0 @@
-# init bossbar
-# @s = boss shulker (main)
-# at @s
-# run from boss/watchers/activation/spawn/head
-
-$bossbar add gm4_combat_expanded:boss_watcher_$(running_id) "Watcher"
-$bossbar set gm4_combat_expanded:boss_watcher_$(running_id) color purple
-$bossbar set gm4_combat_expanded:boss_watcher_$(running_id) max 300
-$bossbar set gm4_combat_expanded:boss_watcher_$(running_id) players @a[distance=..96]
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/activation/spawn/bossbar_with_twin.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/activation/spawn/bossbar_with_twin.mcfunction
deleted file mode 100644
index 502724dc67..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/activation/spawn/bossbar_with_twin.mcfunction
+++ /dev/null
@@ -1,9 +0,0 @@
-# init bossbar
-# @s = boss shulker (main)
-# at @s
-# run from boss/watchers/activation/spawn/head
-
-$bossbar add gm4_combat_expanded:boss_watcher_$(running_id) "Watchers"
-$bossbar set gm4_combat_expanded:boss_watcher_$(running_id) color purple
-$bossbar set gm4_combat_expanded:boss_watcher_$(running_id) max 600
-$bossbar set gm4_combat_expanded:boss_watcher_$(running_id) players @a[distance=..96]
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/activation/spawn/head.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/activation/spawn/head.mcfunction
deleted file mode 100644
index 78fb5158d0..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/activation/spawn/head.mcfunction
+++ /dev/null
@@ -1,26 +0,0 @@
-# spawn boss secondary head
-# @s = unspecified
-# at unspecified
-# run from ???
-## TODO: add spawn function
-
-summon item_display ~ ~ ~ {Tags:["gm4_ce_boss.watcher","gm4_ce_boss.watcher.head","gm4_ce_boss.watcher.face","gm4_ce_boss.watcher.new","smithed.entity","smithed.strict"],teleport_duration:2,item:{id:"minecraft:chiseled_deepslate",count:1,components:{"minecraft:custom_data":{gm4_combat_expanded:{return:{scale:[1f,1f,1f],translation:[0f,0f,0f]}}}}},Passengers:[\
- {id:"minecraft:item_display",brightness:{sky:15,block:15},Tags:["gm4_ce_boss.watcher","gm4_ce_boss.watcher.head","gm4_ce_boss.watcher.eyes","gm4_ce_boss.watcher.new","smithed.entity","smithed.strict"],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0.1875f,0.3125f],scale:[1.005f,0.125f,0.25f]},item:{id:"minecraft:polished_deepslate",count:1,components:{"minecraft:custom_data":{gm4_combat_expanded:{return:{scale:[1.005f,0.125f,0.25f],translation:[0f,0.1875f,0.3125f]}}}}}},\
- {id:"minecraft:item_display",brightness:{sky:15,block:15},Tags:["gm4_ce_boss.watcher","gm4_ce_boss.watcher.head","gm4_ce_boss.watcher.eyes","gm4_ce_boss.watcher.new","smithed.entity","smithed.strict"],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0.1875f,-0.3125f],scale:[1.005f,0.125f,0.25f]},item:{id:"minecraft:polished_deepslate",count:1,components:{"minecraft:custom_data":{gm4_combat_expanded:{return:{scale:[1.005f,0.125f,0.25f],translation:[0f,0.1875f,-0.3125f]}}}}}},\
- {id:"minecraft:item_display",brightness:{sky:15,block:15},Tags:["gm4_ce_boss.watcher","gm4_ce_boss.watcher.head","gm4_ce_boss.watcher.eyes","gm4_ce_boss.watcher.new","smithed.entity","smithed.strict"],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0.3125f,0.1875f,0f],scale:[0.25f,0.125f,1.005f]},item:{id:"minecraft:polished_deepslate",count:1,components:{"minecraft:custom_data":{gm4_combat_expanded:{return:{scale:[0.25f,0.125f,1.005f],translation:[0.3125f,0.1875f,0f]}}}}}},\
- {id:"minecraft:item_display",brightness:{sky:15,block:15},Tags:["gm4_ce_boss.watcher","gm4_ce_boss.watcher.head","gm4_ce_boss.watcher.eyes","gm4_ce_boss.watcher.new","smithed.entity","smithed.strict"],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[-0.3125f,0.1875f,0f],scale:[0.25f,0.125f,1.005f]},item:{id:"minecraft:polished_deepslate",count:1,components:{"minecraft:custom_data":{gm4_combat_expanded:{return:{scale:[0.25f,0.125f,1.005f],translation:[-0.3125f,0.1875f,0f]}}}}}},\
- {id:"minecraft:block_display",Rotation:[0F,-90F],teleport_duration:2,Tags:["gm4_ce_boss.watcher","gm4_ce_boss.watcher.head","gm4_ce_boss.watcher.crystal","gm4_ce_boss.watcher.new","smithed.entity","smithed.strict"],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[1f,0f,0f,1f],translation:[-0.5f,0.5f,0.4375f],scale:[0.5f,0.5f,0.5f]},block_state:{Name:"minecraft:small_amethyst_bud"}},\
- {id:"minecraft:item_display",Tags:["gm4_ce_boss.watcher","gm4_ce_boss.watcher.head","gm4_ce_boss.watcher.vertical","gm4_ce_boss.watcher.new","smithed.entity","smithed.strict"],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,-0.0025f,0f],scale:[0.95f,1.0075f,0.95f]},item:{id:"minecraft:copper_block",count:1,components:{"minecraft:custom_data":{gm4_combat_expanded:{return:{scale:[0.95f,1.0075f,0.95f],translation:[0f,-0.0025f,0f]}}}}}}\
- ]}
-
-summon shulker ~ ~-1 ~ {Silent:1b,CustomName:'{"text":"Watcher"}',DeathLootTable:"gm4:empty",PersistenceRequired:1b,NoAI:1b,Health:960f,Peek:1b,AttachFace:1b,Tags:["gm4_ce_boss.watcher","gm4_ce_boss.watcher.main","gm4_ce_boss.watcher.new","smithed.entity"],active_effects:[{id:"minecraft:invisibility",amplifier:0b,duration:-1,show_particles:0b}],attributes:[{id:"minecraft:max_health",base:1024},{id:"minecraft:max_absorption",base:0},{id:"minecraft:armor",base:20}],ArmorItems:[{},{},{},{id:"minecraft:leather_helmet",count:1,components:{"minecraft:unbreakable":{},"minecraft:enchantments":{"minecraft:blast_protection":2,"minecraft:projectile_protection":6},"minecraft:attribute_modifiers":[{type:"minecraft:armor",slot:"head",id:"minecraft:armor.helmet",amount:10,operation:"add_value"}]}}],ArmorDropChances:[-327.670F,-327.670F,-327.670F,-327.670F]}
-
-execute store result storage gm4_combat_expanded:temp boss.running_id int 1 run scoreboard players add $next_id gm4_ce_boss.id 1
-execute unless score $boss_has_twin gm4_ce_boss matches 1 run function gm4_combat_expanded:boss/watchers/activation/spawn/bossbar_no_twin with storage gm4_combat_expanded:temp boss
-execute if score $boss_has_twin gm4_ce_boss matches 1 run function gm4_combat_expanded:boss/watchers/activation/spawn/bossbar_with_twin with storage gm4_combat_expanded:temp boss
-data remove storage gm4_combat_expanded:temp boss
-
-execute as @e[tag=gm4_ce_boss.watcher.new] run function gm4_combat_expanded:boss/watchers/activation/spawn/head_init
-scoreboard players reset $boss_has_twin gm4_ce_boss
-
-schedule function gm4_combat_expanded:clocks/boss/watchers 1t
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/activation/spawn/head_init.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/activation/spawn/head_init.mcfunction
deleted file mode 100644
index 0176b25cb0..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/activation/spawn/head_init.mcfunction
+++ /dev/null
@@ -1,13 +0,0 @@
-# init boss scores
-# @s = boss shulker (main)
-# at @s
-# run from boss/watchers/activation/spawn/head
-
-scoreboard players operation @s gm4_ce_boss.id = $next_id gm4_ce_boss.id
-execute unless score $boss_has_twin gm4_ce_boss matches 1 run scoreboard players set @s[tag=gm4_ce_boss.watcher.main] gm4_ce_boss.health 300
-execute if score $boss_has_twin gm4_ce_boss matches 1 run scoreboard players set @s[tag=gm4_ce_boss.watcher.main] gm4_ce_boss.health 600
-scoreboard players set @s[tag=gm4_ce_boss.watcher.main] gm4_ce_boss.attack_id 1
-scoreboard players set @s[tag=gm4_ce_boss.watcher.main] gm4_ce_boss.phase 0
-execute if score $boss_has_twin gm4_ce_boss matches 1 run tag @s[tag=gm4_ce_boss.watcher.main] add gm4_ce_boss.watcher.has_twin
-
-tag @s remove gm4_ce_boss.watcher.new
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/activation/spawn_sentinel/head.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/activation/spawn_sentinel/head.mcfunction
deleted file mode 100644
index 4cb56953f4..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/activation/spawn_sentinel/head.mcfunction
+++ /dev/null
@@ -1,18 +0,0 @@
-# spawn boss secondary head
-# @s = boss shulker (main)
-# at @s
-# run from boss/watchers/running/attack/spawn/process
-
-summon item_display ~ ~-.5 ~ {Tags:["gm4_ce_boss.watcher","gm4_ce_boss.watcher.head","gm4_ce_boss.watcher.face","gm4_ce_boss.watcher.new","smithed.entity","smithed.strict"],teleport_duration:2,item:{id:"minecraft:chiseled_deepslate",count:1,components:{"minecraft:custom_data":{gm4_combat_expanded:{return:{scale:[1f,1f,1f],translation:[0f,0f,0f]}}}}},Passengers:[\
- {id:"minecraft:item_display",brightness:{sky:12,block:12},Tags:["gm4_ce_boss.watcher","gm4_ce_boss.watcher.head","gm4_ce_boss.watcher.eyes","gm4_ce_boss.watcher.eyes_1","gm4_ce_boss.watcher.new","smithed.entity","smithed.strict"],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0.1875f,0.3125f],scale:[1.005f,0.125f,0.25f]},item:{id:"minecraft:amethyst_block",count:1,components:{"minecraft:custom_data":{gm4_combat_expanded:{return:{scale:[1.005f,0.125f,0.25f],translation:[0f,0.1875f,0.3125f]}}}}}},\
- {id:"minecraft:item_display",brightness:{sky:12,block:12},Tags:["gm4_ce_boss.watcher","gm4_ce_boss.watcher.head","gm4_ce_boss.watcher.eyes","gm4_ce_boss.watcher.eyes_2","gm4_ce_boss.watcher.new","smithed.entity","smithed.strict"],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0.1875f,-0.3125f],scale:[1.005f,0.125f,0.25f]},item:{id:"minecraft:amethyst_block",count:1,components:{"minecraft:custom_data":{gm4_combat_expanded:{return:{scale:[1.005f,0.125f,0.25f],translation:[0f,0.1875f,-0.3125f]}}}}}},\
- {id:"minecraft:item_display",brightness:{sky:12,block:12},Tags:["gm4_ce_boss.watcher","gm4_ce_boss.watcher.head","gm4_ce_boss.watcher.eyes","gm4_ce_boss.watcher.eyes_3","gm4_ce_boss.watcher.new","smithed.entity","smithed.strict"],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0.3125f,0.1875f,0f],scale:[0.25f,0.125f,1.005f]},item:{id:"minecraft:amethyst_block",count:1,components:{"minecraft:custom_data":{gm4_combat_expanded:{return:{scale:[0.25f,0.125f,1.005f],translation:[0.3125f,0.1875f,0f]}}}}}},\
- {id:"minecraft:item_display",brightness:{sky:12,block:12},Tags:["gm4_ce_boss.watcher","gm4_ce_boss.watcher.head","gm4_ce_boss.watcher.eyes","gm4_ce_boss.watcher.eyes_4","gm4_ce_boss.watcher.new","smithed.entity","smithed.strict"],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[-0.3125f,0.1875f,0f],scale:[0.25f,0.125f,1.005f]},item:{id:"minecraft:amethyst_block",count:1,components:{"minecraft:custom_data":{gm4_combat_expanded:{return:{scale:[0.25f,0.125f,1.005f],translation:[-0.3125f,0.1875f,0f]}}}}}},\
- {id:"minecraft:block_display",teleport_duration:2,Tags:["gm4_ce_boss.watcher","gm4_ce_boss.watcher.head","gm4_ce_boss.watcher.crystal","gm4_ce_boss.watcher.new","smithed.entity","smithed.strict"],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[1f,0f,0f,1f],translation:[-0.5f,0.5f,0.4375f],scale:[0.5f,0.5f,0.5f]},block_state:{Name:"minecraft:amethyst_cluster"}},\
- {id:"minecraft:item_display",Tags:["gm4_ce_boss.watcher","gm4_ce_boss.watcher.head","gm4_ce_boss.watcher.vertical","gm4_ce_boss.watcher.new","smithed.entity","smithed.strict"],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,-0.0025f,0f],scale:[0.95f,1.0075f,0.95f]},item:{id:"minecraft:weathered_cut_copper",count:1,components:{"minecraft:custom_data":{gm4_combat_expanded:{return:{scale:[0.95f,1.0075f,0.95f],translation:[0f,-0.0025f,0f]}}}}}}\
- ]}
-
-summon shulker ~ ~-1 ~ {Silent:1b,CustomName:'{"text":"Watcher"}',DeathLootTable:"gm4:empty",PersistenceRequired:1b,NoAI:1b,Health:960f,Peek:1b,AttachFace:1b,Tags:["gm4_ce_boss.watcher","gm4_ce_boss.watcher.secondary","gm4_ce_boss.watcher.new","smithed.entity"],active_effects:[{id:"minecraft:invisibility",amplifier:0b,duration:-1,show_particles:0b}],attributes:[{id:"minecraft:max_health",base:1024},{id:"minecraft:max_absorption",base:0},{id:"minecraft:armor",base:20}],ArmorItems:[{},{},{},{id:"minecraft:leather_helmet",count:1,components:{"minecraft:unbreakable":{},"minecraft:enchantments":{"minecraft:blast_protection":2,"minecraft:projectile_protection":6},"minecraft:attribute_modifiers":[{type:"minecraft:armor",slot:"head",id:"minecraft:armor.helmet",amount:10,operation:"add_value"}]}}],ArmorDropChances:[-327.670F,-327.670F,-327.670F,-327.670F]}
-
-scoreboard players add $next_id gm4_ce_boss.id 1
-execute as @e[tag=gm4_ce_boss.watcher.new] run function gm4_combat_expanded:boss/watchers/activation/spawn_sentinel/head_init
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/activation/spawn_sentinel/head_init.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/activation/spawn_sentinel/head_init.mcfunction
deleted file mode 100644
index 83df9e6373..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/activation/spawn_sentinel/head_init.mcfunction
+++ /dev/null
@@ -1,12 +0,0 @@
-# init boss scores
-# @s = boss shulker (secondary)
-# at @s
-# run from boss/watchers/activation/spawn_sentinel/head
-
-scoreboard players operation @s gm4_ce_boss.id = $next_id gm4_ce_boss.id
-scoreboard players operation @s gm4_ce_boss.secondary_id = $running_id gm4_ce_boss.id
-scoreboard players set @s[tag=gm4_ce_boss.watcher.secondary] gm4_ce_boss.attack_id 3
-scoreboard players set @s[tag=gm4_ce_boss.watcher.secondary] gm4_ce_boss.phase 1
-scoreboard players set @s[tag=gm4_ce_boss.watcher.secondary] gm4_ce_boss.tick_delay 5
-
-tag @s remove gm4_ce_boss.watcher.new
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/defeated/kill.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/defeated/kill.mcfunction
deleted file mode 100644
index 7685589543..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/defeated/kill.mcfunction
+++ /dev/null
@@ -1,34 +0,0 @@
-# kill boss
-# @s = boss shulker
-# at @s
-# run from boss/watchers/health/update
-# run from here
-
-# kill all entities affiliated with this boss entity
-execute store result storage gm4_combat_expanded:temp boss.running_id int 1 run scoreboard players operation $running_id gm4_ce_boss.id = @s gm4_ce_boss.id
-execute as @e[tag=gm4_ce_boss.watcher] if score @s gm4_ce_boss.id = $running_id gm4_ce_boss.id run kill @s
-
-# if main entity run extra stuff
-execute if entity @s[tag=gm4_ce_boss.watcher.main] run function gm4_combat_expanded:boss/watchers/defeated/kill_main
-
-# spawn experience (enough for level 42 from main and secondary together)
-summon experience_orb ~.41 ~.48 ~.14 {Value:240,Motion:[0.18,0.05,-0.15]}
-summon experience_orb ~-.38 ~.55 ~.24 {Value:240,Motion:[0.11,0.02,0.11]}
-summon experience_orb ~.27 ~.58 ~-.10 {Value:240,Motion:[0.12,0.03,0.18]}
-summon experience_orb ~.30 ~.49 ~.28 {Value:240,Motion:[-0.19,0.02,-0.12]}
-summon experience_orb ~-.22 ~.52 ~-.18 {Value:240,Motion:[0.13,0.06,0.17]}
-summon experience_orb ~-.34 ~.41 ~.14 {Value:467,Motion:[-0.12,0.02,-0.13]}
-
-# sounds and particles
-playsound minecraft:entity.vex.death hostile @a[distance=..32] ~ ~ ~ 2 0 0.75
-playsound minecraft:block.beacon.deactivate hostile @a[distance=..32] ~ ~ ~ 0.75 0 0.75
-playsound minecraft:item.trident.thunder hostile @a[distance=..32] ~ ~ ~ 0.5 0.9 0.75
-playsound minecraft:block.deepslate.break hostile @a[distance=..32] ~ ~ ~ 1 0.9 0.75
-particle minecraft:reverse_portal ~ ~0.5 ~ 0.15 0.15 0.15 2 128
-particle minecraft:witch ~ ~0.5 ~ 0.15 0.15 0.15 2 18
-particle minecraft:block{block_state:"minecraft:polished_deepslate"} ~ ~0.5 ~ 0.15 0.15 0.15 0 24
-particle minecraft:block{block_state:"minecraft:amethyst_block"} ~ ~0.5 ~ 0.15 0.15 0.15 0 8
-
-# remove shulker
-tp @s ~ ~-1000 ~
-kill @s
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/defeated/kill_main.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/defeated/kill_main.mcfunction
deleted file mode 100644
index 815db88c54..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/defeated/kill_main.mcfunction
+++ /dev/null
@@ -1,14 +0,0 @@
-# kill boss
-# @s = boss shulker (main)
-# at @s
-# run from boss/watchers/defeated/kill
-
-# remove bossbar
-function gm4_combat_expanded:boss/watchers/defeated/remove_bossbar with storage gm4_combat_expanded:temp boss
-data remove storage gm4_combat_expanded:temp boss
-
-# kill secondary
-execute as @e[type=shulker,tag=gm4_ce_boss.watcher.secondary] if score @s gm4_ce_boss.secondary_id = $running_id gm4_ce_boss.id at @s run function gm4_combat_expanded:boss/watchers/defeated/kill
-
-# spawn loot
-##TODO: add loot from boss
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/defeated/remove_bossbar.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/defeated/remove_bossbar.mcfunction
deleted file mode 100644
index 05fbd07817..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/defeated/remove_bossbar.mcfunction
+++ /dev/null
@@ -1,6 +0,0 @@
-# remove bossbar linked to these watchers
-# @s = boss shulker (main)
-# at @s
-# run from boss/watchers/defeated/kill_main
-
-$bossbar remove gm4_combat_expanded:boss_watcher_$(running_id)
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/aura/end.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/aura/end.mcfunction
deleted file mode 100644
index a43ff5800d..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/aura/end.mcfunction
+++ /dev/null
@@ -1,4 +0,0 @@
-
-scoreboard players set @s gm4_ce_boss.attack_id 0
-scoreboard players reset @s gm4_ce_boss.attack_progress
-scoreboard players set @s gm4_ce_boss.tick_delay 45
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/aura/particle_ring.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/aura/particle_ring.mcfunction
deleted file mode 100644
index 6ab015f9f7..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/aura/particle_ring.mcfunction
+++ /dev/null
@@ -1,5 +0,0 @@
-
-particle smoke ^ ^ ^5 0.25 0.25 0.25 0.05 4
-
-scoreboard players remove $particle_ring gm4_ce_boss 1
-execute if score $particle_ring gm4_ce_boss matches 1.. rotated ~4 ~ run function gm4_combat_expanded:boss/watchers/running/attack/aura/particle_ring
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/aura/process.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/aura/process.mcfunction
deleted file mode 100644
index a3e089dc06..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/aura/process.mcfunction
+++ /dev/null
@@ -1,22 +0,0 @@
-
-scoreboard players add @s gm4_ce_boss.attack_progress 1
-scoreboard players set @s gm4_ce_boss.tick_delay 2
-
-execute if score @s gm4_ce_boss.attack_progress matches 1 run playsound minecraft:entity.evoker.prepare_attack hostile @a[distance=..16] ~ ~ ~ 1.25 0.65 1
-scoreboard players set @s[scores={gm4_ce_boss.phase=4,gm4_ce_boss.attack_progress=2}] gm4_ce_boss.attack_progress 14
-
-scoreboard players set $particle_ring gm4_ce_boss 90
-function gm4_combat_expanded:boss/watchers/running/attack/aura/particle_ring
-
-execute if score @s gm4_ce_boss.attack_progress matches 1 run tp @e[type=block_display,tag=gm4_ce_boss.watcher.crystal,tag=gm4_ce_boss.watcher.running] ~ ~ ~ 0 0
-execute if score @s gm4_ce_boss.attack_progress matches 1..23 as @e[type=block_display,tag=gm4_ce_boss.watcher.crystal,tag=gm4_ce_boss.watcher.running] at @s run tp @s ~ ~ ~ ~30 ~
-execute if score @s gm4_ce_boss.attack_progress matches 24.. as @e[type=block_display,tag=gm4_ce_boss.watcher.crystal,tag=gm4_ce_boss.watcher.running] at @s run tp @s ~ ~ ~ ~75 ~
-
-execute if score @s gm4_ce_boss.attack_progress matches 3..58 as @a[distance=..5.125,gamemode=!spectator,gamemode=!creative] positioned ~-5.5 ~-2.5 ~-5.5 run effect give @s[dx=10,dy=3.5,dz=10] darkness 2 0
-execute if score @s gm4_ce_boss.attack_progress matches 3..24 at @e[type=block_display,tag=gm4_ce_boss.watcher.crystal,tag=gm4_ce_boss.watcher.running] run particle smoke ^ ^ ^0.3 0.15 0.15 0.15 0.05 8
-execute if score @s gm4_ce_boss.attack_progress matches 25..60 at @e[type=block_display,tag=gm4_ce_boss.watcher.crystal,tag=gm4_ce_boss.watcher.running] run particle smoke ^ ^ ^0.35 0.2 0.2 0.2 0.15 16
-
-execute if score @s gm4_ce_boss.attack_progress matches 25..59 as @a[distance=..5.125,gamemode=!spectator,gamemode=!creative,tag=!gm4_ce_immune_wither] positioned ~-5.5 ~-2.5 ~-5.5 run effect give @s[dx=10,dy=3.5,dz=10] wither 1 0
-execute if score @s gm4_ce_boss.attack_progress matches 25..59 as @a[distance=..5.125,gamemode=!spectator,gamemode=!creative,tag=!gm4_ce_immune_wither] positioned ~-5.5 ~-2.5 ~-5.5 run damage @s[dx=10,dy=3.5,dz=10] 1 wither at ~5.5 ~2.5 ~5.5
-
-execute if score @s gm4_ce_boss.attack_progress matches 60 run function gm4_combat_expanded:boss/watchers/running/attack/aura/end
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/explode_minions/end.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/explode_minions/end.mcfunction
deleted file mode 100644
index 99a39b79ae..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/explode_minions/end.mcfunction
+++ /dev/null
@@ -1,6 +0,0 @@
-
-scoreboard players set @s gm4_ce_boss.attack_id 0
-scoreboard players reset @s gm4_ce_boss.attack_progress
-scoreboard players set @s gm4_ce_boss.tick_delay 20
-
-function gm4_combat_expanded:boss/watchers/running/attack/explode_minions/explode_warp/end
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/explode_minions/explode.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/explode_minions/explode.mcfunction
deleted file mode 100644
index 385ae8f7a5..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/explode_minions/explode.mcfunction
+++ /dev/null
@@ -1,7 +0,0 @@
-
-summon fireball ~ ~ ~ {Tags:["gm4_ce_boss.watcher","gm4_ce_boss.amethyst_explosion"],ExplosionPower:1b,acceleration_power:-0.5,CustomName:'{"text":"Amethyst Explosion"}'}
-execute as @a[distance=..3,gamemode=!creative,gamemode=!spectator] run damage @s 18 explosion at ~ ~ ~
-execute as @a[distance=3..5,gamemode=!creative,gamemode=!spectator] run damage @s 10 explosion at ~ ~ ~
-effect give @a[distance=..5,gamemode=!creative,gamemode=!spectator,tag=!gm4_ce_immune_slowness] slowness 10 1
-particle minecraft:explosion ~ ~1 ~ 1 1 1 0.5 3
-kill @s
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/explode_minions/explode_warp/away.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/explode_minions/explode_warp/away.mcfunction
deleted file mode 100644
index f713ddaeb9..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/explode_minions/explode_warp/away.mcfunction
+++ /dev/null
@@ -1,5 +0,0 @@
-
-execute as @e[tag=gm4_ce_boss.watcher.head,tag=gm4_ce_boss.watcher.running] run data merge entity @s {start_interpolation:-1,interpolation_duration:3,transformation:{scale:[0.0f,0.0f,0.0f],translation:[0.0f,0.0f,0.0f],left_rotation:[0.0f,0.0f,0.0f,0.0f],right_rotation:[0.0f,0.0f,0.0f,0.0f]}}
-execute summon item_display run function gm4_combat_expanded:boss/watchers/running/attack/explode_minions/explode_warp/init_display
-particle minecraft:reverse_portal ~ ~.75 ~ 0.15 0.15 0.15 2.5 64
-function gm4_combat_expanded:boss/watchers/running/health/immune_add
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/explode_minions/explode_warp/end.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/explode_minions/explode_warp/end.mcfunction
deleted file mode 100644
index 59c96e7fe6..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/explode_minions/explode_warp/end.mcfunction
+++ /dev/null
@@ -1,6 +0,0 @@
-
-execute as @e[tag=gm4_ce_boss.watcher.head,tag=gm4_ce_boss.watcher.running,tag=!gm4_ce_boss.watcher.slam_block] run data merge entity @s {start_interpolation:-1,interpolation_duration:3,transformation:{scale:[0.5f,0.5f,0.5f],translation:[-0.5f,0.5f,0.4375f],left_rotation:[0.0f,0.0f,0.0f,0.0f],right_rotation:[0.0f,0.0f,0.0f,0.0f]}}
-execute as @e[type=item_display,tag=gm4_ce_boss.watcher.head,tag=gm4_ce_boss.watcher.running,tag=!gm4_ce_boss.watcher.slam_block] run data modify entity @s transformation.scale set from entity @s item.components."minecraft:custom_data".gm4_combat_expanded.return.scale
-execute as @e[type=item_display,tag=gm4_ce_boss.watcher.head,tag=gm4_ce_boss.watcher.running,tag=!gm4_ce_boss.watcher.slam_block] run data modify entity @s transformation.translation set from entity @s item.components."minecraft:custom_data".gm4_combat_expanded.return.translation
-execute as @e[type=item_display,tag=gm4_ce_boss.watcher.explode_hide_display] if score @s gm4_ce_boss.id = $running_id gm4_ce_boss.id run kill @s
-function gm4_combat_expanded:boss/watchers/running/health/immune_remove
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/explode_minions/explode_warp/init_display.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/explode_minions/explode_warp/init_display.mcfunction
deleted file mode 100644
index 5578e3f5c5..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/explode_minions/explode_warp/init_display.mcfunction
+++ /dev/null
@@ -1,3 +0,0 @@
-
-data merge entity @s {teleport_duration:3,Tags:["gm4_ce_boss.watcher","gm4_ce_boss.watcher.explode_hide_display"],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0.55f,0f],scale:[0.75f,0.75f,0.75f]},item:{id:"minecraft:amethyst_block",count:1}}
-scoreboard players operation @s gm4_ce_boss.id = $running_id gm4_ce_boss.id
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/explode_minions/pick_mob.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/explode_minions/pick_mob.mcfunction
deleted file mode 100644
index 2dee6fb994..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/explode_minions/pick_mob.mcfunction
+++ /dev/null
@@ -1,9 +0,0 @@
-
-execute as @e[type=#gm4_combat_expanded:zombie_types,tag=gm4_ce_boss.watcher.minion_exploding] if score @s gm4_ce_boss.id = $running_id gm4_ce_boss.id run tag @s add gm4_ce_boss.watcher.valid_minion
-execute as @e[type=#gm4_combat_expanded:zombie_types,tag=gm4_ce_boss.watcher.valid_minion,limit=1,sort=random] at @s run function gm4_combat_expanded:boss/watchers/running/attack/explode_minions/explode
-execute store result score $minions_left gm4_ce_boss run tag @e[type=#gm4_combat_expanded:zombie_types,tag=gm4_ce_boss.watcher.valid_minion] remove gm4_ce_boss.watcher.valid_minion
-
-execute if score $minions_left gm4_ce_boss matches 1.. run scoreboard players set @s[scores={gm4_ce_boss.phase=..3}] gm4_ce_boss.attack_progress 26
-execute if score $minions_left gm4_ce_boss matches 1.. run scoreboard players set @s[scores={gm4_ce_boss.phase=4}] gm4_ce_boss.attack_progress 29
-
-execute unless score $minions_left gm4_ce_boss matches 1.. run function gm4_combat_expanded:boss/watchers/running/attack/explode_minions/end
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/explode_minions/prime.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/explode_minions/prime.mcfunction
deleted file mode 100644
index 867ffcfc3b..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/explode_minions/prime.mcfunction
+++ /dev/null
@@ -1,5 +0,0 @@
-
-tag @s add gm4_ce_boss.watcher.minion_exploding
-attribute @s minecraft:movement_speed modifier add gm4_combat_expanded:freeze_minion -100 add_multiplied_total
-attribute @s minecraft:attack_damage modifier add gm4_combat_expanded:freeze_minion -100 add_multiplied_total
-playsound minecraft:entity.allay.death hostile @a ~ ~ ~ 1 2
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/explode_minions/process.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/explode_minions/process.mcfunction
deleted file mode 100644
index e1af25e637..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/explode_minions/process.mcfunction
+++ /dev/null
@@ -1,12 +0,0 @@
-
-scoreboard players add @s gm4_ce_boss.attack_progress 1
-scoreboard players set @s gm4_ce_boss.tick_delay 1
-
-execute if score @s gm4_ce_boss.attack_progress matches 2 run function gm4_combat_expanded:boss/watchers/running/attack/explode_minions/explode_warp/away
-scoreboard players set @s[scores={gm4_ce_boss.attack_progress=2,gm4_ce_boss.phase=4}] gm4_ce_boss.attack_progress 12
-
-execute if score @s gm4_ce_boss.attack_progress matches 1 as @e[type=#gm4_combat_expanded:zombie_types,tag=gm4_ce_boss.watcher.minion] if score @s gm4_ce_boss.id = $running_id gm4_ce_boss.id run function gm4_combat_expanded:boss/watchers/running/attack/explode_minions/prime
-execute if score @s gm4_ce_boss.attack_progress matches 1..25 as @e[type=#gm4_combat_expanded:zombie_types,tag=gm4_ce_boss.watcher.minion_exploding] at @s run particle dragon_breath ~ ~1.6 ~ 0.2 0.2 0.2 0.02 4
-execute if score @s gm4_ce_boss.attack_progress matches 26.. as @e[type=#gm4_combat_expanded:zombie_types,tag=gm4_ce_boss.watcher.minion_exploding] at @s run particle dragon_breath ~ ~1.6 ~ 0.2 0.2 0.2 0.2 6
-
-execute if score @s gm4_ce_boss.attack_progress matches 31.. run function gm4_combat_expanded:boss/watchers/running/attack/explode_minions/pick_mob
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/fireball/cancel.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/fireball/cancel.mcfunction
deleted file mode 100644
index 46dcd919ca..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/fireball/cancel.mcfunction
+++ /dev/null
@@ -1,4 +0,0 @@
-
-scoreboard players set @s gm4_ce_boss.attack_id 0
-scoreboard players reset @s gm4_ce_boss.attack_progress
-scoreboard players set @s gm4_ce_boss.tick_delay 0
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/fireball/end.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/fireball/end.mcfunction
deleted file mode 100644
index b90816c292..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/fireball/end.mcfunction
+++ /dev/null
@@ -1,10 +0,0 @@
-
-scoreboard players reset @s gm4_ce_boss.attack_progress
-scoreboard players set @s[scores={gm4_ce_boss.phase=..3}] gm4_ce_boss.attack_id 0
-scoreboard players set @s[scores={gm4_ce_boss.phase=1}] gm4_ce_boss.tick_delay 50
-scoreboard players set @s[scores={gm4_ce_boss.phase=2..3}] gm4_ce_boss.tick_delay 40
-# in phase 4 immediatly warp away
-scoreboard players set @s[scores={gm4_ce_boss.phase=4}] gm4_ce_boss.attack_id 3
-scoreboard players set @s[scores={gm4_ce_boss.phase=4}] gm4_ce_boss.tick_delay 1
-
-execute as @a[tag=gm4_ce_boss.watcher.target] if score @s gm4_ce_boss.id = $running_id gm4_ce_boss.id run tag @s remove gm4_ce_boss.watcher.target
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/fireball/get_target_pos.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/fireball/get_target_pos.mcfunction
deleted file mode 100644
index b0e536c366..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/fireball/get_target_pos.mcfunction
+++ /dev/null
@@ -1,7 +0,0 @@
-
-data modify storage gm4_combat_expanded:temp Pos set from entity @s Pos
-execute store result score $target_x gm4_ce_boss run data get storage gm4_combat_expanded:temp Pos[0] 100
-execute store result score $target_y gm4_ce_boss run data get storage gm4_combat_expanded:temp Pos[1] 100
-execute store result score $target_z gm4_ce_boss run data get storage gm4_combat_expanded:temp Pos[2] 100
-
-kill @s
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/fireball/mark_player_as_target.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/fireball/mark_player_as_target.mcfunction
deleted file mode 100644
index 7a7c4a36ec..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/fireball/mark_player_as_target.mcfunction
+++ /dev/null
@@ -1,4 +0,0 @@
-
-tag @s add gm4_ce_boss.watcher.target
-scoreboard players operation @s gm4_ce_boss.id = $running_id gm4_ce_boss.id
-scoreboard players set $target_found gm4_ce_boss 1
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/fireball/pick_target.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/fireball/pick_target.mcfunction
deleted file mode 100644
index 1fa9c87207..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/fireball/pick_target.mcfunction
+++ /dev/null
@@ -1,4 +0,0 @@
-
-scoreboard players set $target_found gm4_ce_boss 0
-execute as @p[gamemode=!spectator,gamemode=!creative,distance=..18] run function gm4_combat_expanded:boss/watchers/running/attack/fireball/mark_player_as_target
-execute if score $target_found gm4_ce_boss matches 0 run function gm4_combat_expanded:boss/watchers/running/attack/fireball/cancel
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/fireball/process.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/fireball/process.mcfunction
deleted file mode 100644
index 9c6e9df0f6..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/fireball/process.mcfunction
+++ /dev/null
@@ -1,30 +0,0 @@
-
-scoreboard players add @s gm4_ce_boss.attack_progress 1
-
-execute if score @s gm4_ce_boss.attack_progress matches 1 run function gm4_combat_expanded:boss/watchers/running/attack/fireball/pick_target
-
-execute as @a[tag=gm4_ce_boss.watcher.target] if score @s gm4_ce_boss.id = $running_id gm4_ce_boss.id run tag @s add gm4_ce_boss.watcher.current_target
-
-execute if score @s gm4_ce_boss.attack_progress matches 1 facing entity @p[tag=gm4_ce_boss.watcher.current_target] eyes run tp @e[type=block_display,tag=gm4_ce_boss.watcher.crystal,tag=gm4_ce_boss.watcher.running] ~ ~ ~ ~ ~
-
-execute if score @s[scores={gm4_ce_boss.phase=1..2}] gm4_ce_boss.attack_progress matches 1 run scoreboard players set @s gm4_ce_boss.tick_delay 30
-execute if score @s[scores={gm4_ce_boss.phase=3..}] gm4_ce_boss.attack_progress matches 1 run scoreboard players set @s gm4_ce_boss.tick_delay 20
-execute if score @s gm4_ce_boss.attack_progress matches 2..3 run scoreboard players set @s gm4_ce_boss.tick_delay 8
-execute if score @s gm4_ce_boss.attack_progress matches 4.. run scoreboard players set @s gm4_ce_boss.tick_delay 10
-
-execute if score @s gm4_ce_boss.attack_progress matches 1 run scoreboard players set $raycast gm4_ce_boss 64
-execute if score @s gm4_ce_boss.attack_progress matches 1 at @e[type=block_display,tag=gm4_ce_boss.watcher.crystal,tag=gm4_ce_boss.watcher.running] positioned ^ ^ ^1.5 run function gm4_combat_expanded:boss/watchers/running/attack/fireball/raycast
-execute if score @s gm4_ce_boss.attack_progress matches 1 as @p[tag=gm4_ce_boss.watcher.current_target] at @s run playsound minecraft:block.amethyst_block.break hostile @s ~ ~ ~ 2 0.5
-
-execute if score @s gm4_ce_boss.attack_progress matches 2..4 run playsound block.amethyst_block.break hostile @a[distance=..32] ~ ~ ~ 1 1.3 1
-execute if score @s gm4_ce_boss.attack_progress matches 2..4 at @e[type=block_display,tag=gm4_ce_boss.watcher.crystal,tag=gm4_ce_boss.watcher.running] positioned ^ ^ ^1.5 summon firework_rocket run function gm4_combat_expanded:boss/watchers/running/attack/fireball/spawn_small_fireball
-execute if score @s gm4_ce_boss.attack_progress matches 2..4 at @e[type=block_display,tag=gm4_ce_boss.watcher.crystal,tag=gm4_ce_boss.watcher.running] positioned ^ ^ ^1.5 summon firework_rocket run function gm4_combat_expanded:boss/watchers/running/attack/fireball/spawn_small_fireball
-execute if score @s gm4_ce_boss.attack_progress matches 2..4 at @e[type=block_display,tag=gm4_ce_boss.watcher.crystal,tag=gm4_ce_boss.watcher.running] positioned ^ ^ ^1.5 summon firework_rocket run function gm4_combat_expanded:boss/watchers/running/attack/fireball/spawn_small_fireball
-execute if score @s[scores={gm4_ce_boss.phase=1}] gm4_ce_boss.attack_progress matches 4 run function gm4_combat_expanded:boss/watchers/running/attack/fireball/end
-
-# phase 2+ launch a fireball, bigger in phase 3
-execute if score @s[scores={gm4_ce_boss.phase=2}] gm4_ce_boss.attack_progress matches 5 at @e[type=block_display,tag=gm4_ce_boss.watcher.crystal,tag=gm4_ce_boss.watcher.running] positioned ^ ^ ^1.5 summon fireball run function gm4_combat_expanded:boss/watchers/running/attack/fireball/spawn_fireball
-execute if score @s[scores={gm4_ce_boss.phase=3..}] gm4_ce_boss.attack_progress matches 5 at @e[type=block_display,tag=gm4_ce_boss.watcher.crystal,tag=gm4_ce_boss.watcher.running] positioned ^ ^ ^1.5 summon fireball run function gm4_combat_expanded:boss/watchers/running/attack/fireball/spawn_big_fireball
-execute if score @s gm4_ce_boss.attack_progress matches 5 run function gm4_combat_expanded:boss/watchers/running/attack/fireball/end
-
-tag @a remove gm4_ce_boss.watcher.current_target
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/fireball/raycast.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/fireball/raycast.mcfunction
deleted file mode 100644
index f5013b4439..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/fireball/raycast.mcfunction
+++ /dev/null
@@ -1,6 +0,0 @@
-
-particle witch ~ ~ ~ 0.02 0.02 0.02 0.01 1
-scoreboard players remove $raycast gm4_ce_boss 1
-execute if entity @p[tag=gm4_ce_boss.watcher.current_target,distance=..0.5] run scoreboard players set $raycast gm4_ce_boss 0
-
-execute if score $raycast gm4_ce_boss matches 1.. positioned ^ ^ ^0.25 run function gm4_combat_expanded:boss/watchers/running/attack/fireball/raycast
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/fireball/spawn_big_fireball.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/fireball/spawn_big_fireball.mcfunction
deleted file mode 100644
index 8d9de913fe..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/fireball/spawn_big_fireball.mcfunction
+++ /dev/null
@@ -1,26 +0,0 @@
-
-playsound block.amethyst_block.break hostile @a[distance=..32] ~ ~ ~ 1.5 0.7 1
-
-data merge entity @s {ExplosionPower:3b,Tags:["gm4_ce_boss.fireball"],acceleration_power:-0.05,Item:{id:"minecraft:budding_amethyst",count:1}}
-summon dragon_fireball ~ ~ ~ {Tags:["gm4_ce_boss.fireball","gm4_ce_boss.watcher.dragon_fireball"],acceleration_power:-2.0}
-ride @e[type=dragon_fireball,tag=gm4_ce_boss.watcher.dragon_fireball,distance=..0.1,limit=1] mount @s
-
-# get player pos
-execute positioned ^ ^ ^3 summon marker run function gm4_combat_expanded:boss/watchers/running/attack/fireball/get_target_pos
-
-# get vector
-data modify storage gm4_combat_expanded:temp Pos set from entity @s Pos
-execute store result score $motion_x gm4_ce_boss run data get storage gm4_combat_expanded:temp Pos[0] 100
-execute store result score $motion_y gm4_ce_boss run data get storage gm4_combat_expanded:temp Pos[1] 100
-execute store result score $motion_z gm4_ce_boss run data get storage gm4_combat_expanded:temp Pos[2] 100
-
-scoreboard players operation $motion_x gm4_ce_boss -= $target_x gm4_ce_boss
-scoreboard players operation $motion_y gm4_ce_boss -= $target_y gm4_ce_boss
-scoreboard players operation $motion_z gm4_ce_boss -= $target_z gm4_ce_boss
-
-# set motion
-execute store result entity @s power[0] double -0.000275 run scoreboard players get $motion_x gm4_ce_boss
-execute store result entity @s power[1] double -0.000275 run scoreboard players get $motion_y gm4_ce_boss
-execute store result entity @s power[2] double -0.000275 run scoreboard players get $motion_z gm4_ce_boss
-
-data remove storage gm4_combat_expanded:temp Pos
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/fireball/spawn_fireball.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/fireball/spawn_fireball.mcfunction
deleted file mode 100644
index cbef51d92c..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/fireball/spawn_fireball.mcfunction
+++ /dev/null
@@ -1,26 +0,0 @@
-
-playsound block.amethyst_block.break hostile @a[distance=..32] ~ ~ ~ 1.5 0.7 1
-
-data merge entity @s {ExplosionPower:2b,Tags:["gm4_ce_boss.fireball"],acceleration_power:-0.05,Item:{id:"minecraft:budding_amethyst",count:1}}
-summon dragon_fireball ~ ~ ~ {Tags:["gm4_ce_boss.fireball","gm4_ce_boss.watcher.dragon_fireball"],acceleration_power:-2.0}
-ride @e[type=dragon_fireball,tag=gm4_ce_boss.watcher.dragon_fireball,distance=..0.1,limit=1] mount @s
-
-# get player pos
-execute positioned ^ ^ ^3 summon marker run function gm4_combat_expanded:boss/watchers/running/attack/fireball/get_target_pos
-
-# get vector
-data modify storage gm4_combat_expanded:temp Pos set from entity @s Pos
-execute store result score $motion_x gm4_ce_boss run data get storage gm4_combat_expanded:temp Pos[0] 100
-execute store result score $motion_y gm4_ce_boss run data get storage gm4_combat_expanded:temp Pos[1] 100
-execute store result score $motion_z gm4_ce_boss run data get storage gm4_combat_expanded:temp Pos[2] 100
-
-scoreboard players operation $motion_x gm4_ce_boss -= $target_x gm4_ce_boss
-scoreboard players operation $motion_y gm4_ce_boss -= $target_y gm4_ce_boss
-scoreboard players operation $motion_z gm4_ce_boss -= $target_z gm4_ce_boss
-
-# set motion
-execute store result entity @s power[0] double -0.00025 run scoreboard players get $motion_x gm4_ce_boss
-execute store result entity @s power[1] double -0.00025 run scoreboard players get $motion_y gm4_ce_boss
-execute store result entity @s power[2] double -0.00025 run scoreboard players get $motion_z gm4_ce_boss
-
-data remove storage gm4_combat_expanded:temp Pos
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/fireball/spawn_small_fireball.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/fireball/spawn_small_fireball.mcfunction
deleted file mode 100644
index cca913df1a..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/fireball/spawn_small_fireball.mcfunction
+++ /dev/null
@@ -1,30 +0,0 @@
-
-data merge entity @s {Silent:1b,HasVisualFire:1b,LifeTime:400,ShotAtAngle:1b,Motion:[0.0,-0.5,0.0],Tags:["gm4_ce_boss.small_fireball"],FireworksItem:{id:"firework_rocket",count:1,components:{"minecraft:fireworks":{explosions:[{shape:"burst",colors:[I;9570559]},{shape:"burst",colors:[I;7014075]},{shape:"burst",colors:[I;5637526]},{shape:"burst",colors:[I;3998827]}]}}}}
-
-# get player pos
-execute positioned ^ ^ ^3 summon marker run function gm4_combat_expanded:boss/watchers/running/attack/fireball/get_target_pos
-
-# get vector
-data modify storage gm4_combat_expanded:temp Pos set from entity @s Pos
-execute store result score $motion_x gm4_ce_boss run data get storage gm4_combat_expanded:temp Pos[0] 100
-execute store result score $motion_y gm4_ce_boss run data get storage gm4_combat_expanded:temp Pos[1] 100
-execute store result score $motion_z gm4_ce_boss run data get storage gm4_combat_expanded:temp Pos[2] 100
-
-execute store result score $motion_x_offset gm4_ce_boss run random value -12..12
-execute store result score $motion_y_offset gm4_ce_boss run random value -12..12
-execute store result score $motion_z_offset gm4_ce_boss run random value -12..12
-
-scoreboard players operation $target_x gm4_ce_boss += $motion_x_offset gm4_ce_boss
-scoreboard players operation $target_y gm4_ce_boss += $motion_y_offset gm4_ce_boss
-scoreboard players operation $target_z gm4_ce_boss += $motion_z_offset gm4_ce_boss
-
-scoreboard players operation $motion_x gm4_ce_boss -= $target_x gm4_ce_boss
-scoreboard players operation $motion_y gm4_ce_boss -= $target_y gm4_ce_boss
-scoreboard players operation $motion_z gm4_ce_boss -= $target_z gm4_ce_boss
-
-# set motion
-execute store result entity @s Motion[0] double -0.00225 run scoreboard players get $motion_x gm4_ce_boss
-execute store result entity @s Motion[1] double -0.00225 run scoreboard players get $motion_y gm4_ce_boss
-execute store result entity @s Motion[2] double -0.00225 run scoreboard players get $motion_z gm4_ce_boss
-
-data remove storage gm4_combat_expanded:temp Pos
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/shield/end.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/shield/end.mcfunction
deleted file mode 100644
index 2d59053cec..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/shield/end.mcfunction
+++ /dev/null
@@ -1,6 +0,0 @@
-
-scoreboard players set @s gm4_ce_boss.attack_id 0
-scoreboard players reset @s gm4_ce_boss.attack_progress
-scoreboard players set @s gm4_ce_boss.tick_delay 1
-
-function gm4_combat_expanded:boss/watchers/running/health/immune_remove
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/shield/process.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/shield/process.mcfunction
deleted file mode 100644
index 74aadc85ea..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/shield/process.mcfunction
+++ /dev/null
@@ -1,7 +0,0 @@
-
-scoreboard players add @s gm4_ce_boss.attack_progress 1
-
-execute if score @s gm4_ce_boss.attack_progress matches 1 run function gm4_combat_expanded:boss/watchers/running/health/immune_add
-
-scoreboard players set @s gm4_ce_boss.tick_delay 20
-execute if entity @p[gamemode=!spectator,gamemode=!creative,distance=..48] run function gm4_combat_expanded:boss/watchers/running/attack/shield/end
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/slam/end.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/slam/end.mcfunction
deleted file mode 100644
index 1a536b386b..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/slam/end.mcfunction
+++ /dev/null
@@ -1,10 +0,0 @@
-
-scoreboard players set @s gm4_ce_boss.attack_id 0
-scoreboard players reset @s gm4_ce_boss.attack_progress
-scoreboard players set @s[scores={gm4_ce_boss.phase=1..2}] gm4_ce_boss.tick_delay 40
-scoreboard players set @s[scores={gm4_ce_boss.phase=3..}] gm4_ce_boss.tick_delay 25
-
-execute as @e[type=item_display,tag=gm4_ce_boss.watcher.slam_block] if score @s gm4_ce_boss.id = $running_id gm4_ce_boss.id run kill @s
-
-scoreboard players set $raycast gm4_ce_boss 20
-execute positioned ~ ~-1 ~ run function gm4_combat_expanded:boss/watchers/running/attack/slam/raycast
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/slam/explode.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/slam/explode.mcfunction
deleted file mode 100644
index 9a8310288f..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/slam/explode.mcfunction
+++ /dev/null
@@ -1,8 +0,0 @@
-
-scoreboard players set $raycast gm4_ce_boss -1
-summon dragon_fireball ~ ~-0.4 ~ {acceleration_power:-3.0,Tags:["gm4_ce_boss.watcher","gm4_ce_boss.slam_explosion"]}
-summon firework_rocket ~ ~-0.4 ~ {Silent:1b,HasVisualFire:1b,LifeTime:0,ShotAtAngle:1b,Motion:[0.0,-2.0,0.0],Tags:["gm4_ce_boss.small_fireball"],FireworksItem:{id:"firework_rocket",count:1,components:{"minecraft:fireworks":{explosions:[{shape:"burst",colors:[I;9570559]},{shape:"burst",colors:[I;9570559],has_trail:1b},{shape:"burst",colors:[I;7014075]},{shape:"burst",colors:[I;5637526]},{shape:"burst",colors:[I;3998827]}]}}}}
-
-tag @s add gm4_ce_target
-execute positioned ~-2 ~-1 ~-2 as @a[gamemode=!spectator,gamemode=!creative,dx=3,dy=17.5,dz=3] at @e[type=shulker,tag=gm4_ce_target] positioned ~-2 ~-20 ~-2 if entity @s[dx=3,dy=18.5,dz=3] run function gm4_combat_expanded:boss/watchers/running/attack/slam/explode_damage
-tag @s remove gm4_ce_target
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/slam/explode_damage.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/slam/explode_damage.mcfunction
deleted file mode 100644
index c75755b847..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/slam/explode_damage.mcfunction
+++ /dev/null
@@ -1,16 +0,0 @@
-
-scoreboard players set @s gm4_ce_pierce_timer 13
-
-execute store result score $pierced_armor gm4_ce_data run attribute @s minecraft:armor modifier value get gm4_combat_expanded:pierced_armor -1
-execute if score $pierced_armor gm4_ce_data matches 1.. run attribute @s minecraft:armor modifier remove gm4_combat_expanded:pierced_armor
-execute store result storage gm4_combat_expanded:temp pierce.pierced_armor int 1 run scoreboard players add $pierced_armor gm4_ce_data 6
-function gm4_combat_expanded:weapon/modifier/pierce/eval_pierced_armor with storage gm4_combat_expanded:temp pierce
-data remove storage gm4_combat_expanded:temp pierce
-
-# processing from pierce weapon
-
-damage @s 14 magic at ~1.5 ~1 ~1.5
-
-effect give @s[tag=!gm4_ce_immune_slowness] slowness 10 0
-effect give @s darkness 10 0 true
-effect give @s[tag=!gm4_ce_immune_fatigue] mining_fatigue 10 4 true
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/slam/process.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/slam/process.mcfunction
deleted file mode 100644
index 7df414b21c..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/slam/process.mcfunction
+++ /dev/null
@@ -1,25 +0,0 @@
-
-scoreboard players add @s gm4_ce_boss.attack_progress 1
-
-execute if score @s gm4_ce_boss.attack_progress matches 1 run tp @e[type=block_display,tag=gm4_ce_boss.watcher.crystal,tag=gm4_ce_boss.watcher.running] ~ ~ ~ 0 90
-
-execute if score @s gm4_ce_boss.attack_progress matches 1 positioned ~ ~.5 ~ summon item_display run function gm4_combat_expanded:boss/watchers/running/attack/slam/spawn_block
-execute if score @s gm4_ce_boss.attack_progress matches 4 positioned ~ ~.5 ~ summon item_display run function gm4_combat_expanded:boss/watchers/running/attack/slam/spawn_block
-execute if score @s gm4_ce_boss.attack_progress matches 7 positioned ~ ~.5 ~ summon item_display run function gm4_combat_expanded:boss/watchers/running/attack/slam/spawn_block
-execute if score @s gm4_ce_boss.attack_progress matches 10 positioned ~ ~.5 ~ summon item_display run function gm4_combat_expanded:boss/watchers/running/attack/slam/spawn_block
-execute if score @s gm4_ce_boss.attack_progress matches 13 positioned ~ ~.5 ~ summon item_display run function gm4_combat_expanded:boss/watchers/running/attack/slam/spawn_block
-
-# do this first because it changes if the boss warps
-scoreboard players set @s[scores={gm4_ce_boss.phase=1..2,gm4_ce_boss.attack_progress=..14}] gm4_ce_boss.tick_delay 3
-scoreboard players set @s[scores={gm4_ce_boss.phase=3..,gm4_ce_boss.attack_progress=..14}] gm4_ce_boss.tick_delay 2
-scoreboard players set @s[scores={gm4_ce_boss.attack_progress=15}] gm4_ce_boss.tick_delay 3
-scoreboard players set @s[scores={gm4_ce_boss.attack_progress=16..}] gm4_ce_boss.tick_delay 6
-
-# in phase 4 33% chance to teleport to over a player
-execute if entity @s[scores={gm4_ce_boss.phase=4,gm4_ce_boss.attack_progress=13},predicate=gm4_combat_expanded:technical/chance/boss/slam_teleport] run tag @s add gm4_ce_boss.watcher.slam_teleporting
-execute if entity @s[tag=gm4_ce_boss.watcher.slam_teleporting,scores={gm4_ce_boss.attack_progress=13..15}] run function gm4_combat_expanded:boss/watchers/running/attack/slam/slam_warp/process
-
-execute if score @s gm4_ce_boss.attack_progress matches ..15 as @e[type=item_display,tag=gm4_ce_boss.watcher.slam_block] if score @s gm4_ce_boss.id = $running_id gm4_ce_boss.id at @s run tp @s ~ ~ ~ ~24 ~
-execute if score @s gm4_ce_boss.attack_progress matches 16 as @e[type=item_display,tag=gm4_ce_boss.watcher.slam_block] if score @s gm4_ce_boss.id = $running_id gm4_ce_boss.id run function gm4_combat_expanded:boss/watchers/running/attack/slam/raise_blocks
-execute if score @s gm4_ce_boss.attack_progress matches 17 as @e[type=item_display,tag=gm4_ce_boss.watcher.slam_block] if score @s gm4_ce_boss.id = $running_id gm4_ce_boss.id run function gm4_combat_expanded:boss/watchers/running/attack/slam/slam_down
-execute if score @s gm4_ce_boss.attack_progress matches 18 run function gm4_combat_expanded:boss/watchers/running/attack/slam/end
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/slam/raise_blocks.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/slam/raise_blocks.mcfunction
deleted file mode 100644
index e4e433236f..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/slam/raise_blocks.mcfunction
+++ /dev/null
@@ -1,3 +0,0 @@
-
-data merge entity @s {start_interpolation:-1,interpolation_duration:6,transformation:{translation:[0f,0.3125f,0.66f],left_rotation:[0.0f,0.0f,0.0f,0.0f],right_rotation:[0.0f,0.0f,0.0f,0.0f]}}
-playsound minecraft:block.amethyst_block.resonate hostile @a[distance=..32] ~ ~ ~ 2 1 1
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/slam/raycast.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/slam/raycast.mcfunction
deleted file mode 100644
index f9eab6e9ac..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/slam/raycast.mcfunction
+++ /dev/null
@@ -1,9 +0,0 @@
-
-scoreboard players remove $raycast gm4_ce_boss 1
-particle witch ~ ~ ~ 0.05 0.5 0.05 0.03 16
-particle dragon_breath ~ ~ ~ 0.25 0.5 0.25 0.125 16
-
-execute if score $raycast gm4_ce_boss matches 1.. unless block ~ ~-1 ~ #gm4:no_collision run function gm4_combat_expanded:boss/watchers/running/attack/slam/explode
-execute if score $raycast gm4_ce_boss matches 0 run function gm4_combat_expanded:boss/watchers/running/attack/slam/explode
-
-execute if score $raycast gm4_ce_boss matches 1.. positioned ~ ~-1 ~ run function gm4_combat_expanded:boss/watchers/running/attack/slam/raycast
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/slam/slam_down.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/slam/slam_down.mcfunction
deleted file mode 100644
index fca3acd8b7..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/slam/slam_down.mcfunction
+++ /dev/null
@@ -1,3 +0,0 @@
-
-data merge entity @s {start_interpolation:-1,interpolation_duration:6,transformation:{translation:[0f,-10f,0.33f]}}
-playsound minecraft:block.amethyst_block.resonate hostile @a[distance=..32] ~ ~ ~ 2 0.66 1
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/slam/slam_warp/above_player/randomize.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/slam/slam_warp/above_player/randomize.mcfunction
deleted file mode 100644
index 54d095c915..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/slam/slam_warp/above_player/randomize.mcfunction
+++ /dev/null
@@ -1,10 +0,0 @@
-# code taken from Orb of Ankou - expeditious
-# @s = vorpal marker
-# at @s
-# run from armor/type/vorpal/spawn_marker
-# run from armor/type/vorpal/tp_marker
-
-execute store result score $randomZ gm4_ce_boss run random value 0..2
-execute store result score $randomZ gm4_ce_boss run random value 0..2
-
-execute at @s run function gm4_combat_expanded:boss/watchers/running/attack/slam/slam_warp/above_player/tp_marker
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/slam/slam_warp/above_player/set_ypos.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/slam/slam_warp/above_player/set_ypos.mcfunction
deleted file mode 100644
index c304d24749..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/slam/slam_warp/above_player/set_ypos.mcfunction
+++ /dev/null
@@ -1,11 +0,0 @@
-# code taken from Orb of Ankou - expeditious
-# @s = vorpal marker
-# at @s
-# run from armor/type/vorpal/tp_marker
-
-execute at @s run tp @s ~ ~-1 ~
-scoreboard players add $set_y gm4_ce_boss 1
-scoreboard players set $warp_safe gm4_ce_boss 0
-execute at @s unless entity @e[type=shulker,tag=gm4_ce_boss,distance=..0.5] if block ~ ~ ~ #minecraft:air if block ~ ~-1 ~ #gm4:no_collision align xyz unless entity @e[type=minecraft:area_effect_cloud,dx=0,dy=0,dz=0] run scoreboard players set $warp_safe gm4_ce_boss 1
-execute if score $warp_safe gm4_ce_boss matches 1 run scoreboard players set $warp_attempt gm4_ce_boss 11
-execute unless score $set_y gm4_ce_boss matches 8.. at @s unless score $warp_safe gm4_ce_boss matches 1 run function gm4_combat_expanded:boss/watchers/running/attack/slam/slam_warp/above_player/set_ypos
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/slam/slam_warp/above_player/spawn_marker.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/slam/slam_warp/above_player/spawn_marker.mcfunction
deleted file mode 100644
index c61071f917..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/slam/slam_warp/above_player/spawn_marker.mcfunction
+++ /dev/null
@@ -1,14 +0,0 @@
-# spawn a marker and start the moving of it
-# @s = vorpal marker
-# at @s
-# run from armor/type/vorpal/attempt
-
-tag @s add gm4_ce_boss.warp_locator
-execute at @r[gamemode=!spectator,gamemode=!creative,distance=..64] run tp @s ~-1 ~ ~-1
-execute store result score $y_pos gm4_ce_boss run data get entity @s Pos[1]
-scoreboard players set $warp_attempt gm4_ce_boss 0
-
-function gm4_combat_expanded:boss/watchers/running/attack/slam/slam_warp/above_player/randomize
-
-execute if score $warp_safe gm4_ce_boss matches 1 at @s align xyz run tp @e[type=shulker,tag=gm4_ce_target] ~ ~ ~
-kill @s
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/slam/slam_warp/above_player/tp_marker.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/slam/slam_warp/above_player/tp_marker.mcfunction
deleted file mode 100644
index 47cf740d60..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/slam/slam_warp/above_player/tp_marker.mcfunction
+++ /dev/null
@@ -1,22 +0,0 @@
-# code taken from Orb of Ankou - expeditious
-# @s = vorpal marker
-# at @s
-# run from armor/type/vorpal/randomize
-
-execute at @s if score $randomX gm4_ce_boss matches 2.. run tp @s ~2 ~ ~
-execute if score $randomX gm4_ce_boss matches 2.. run scoreboard players remove $randomX gm4_ce_boss 2
-execute at @s if score $randomX gm4_ce_boss matches 1.. run tp @s ~1 ~ ~
-execute if score $randomX gm4_ce_boss matches 1.. run scoreboard players remove $randomX gm4_ce_boss 1
-
-execute at @s if score $randomZ gm4_ce_boss matches 2.. run tp @s ~ ~ ~2
-execute if score $randomZ gm4_ce_boss matches 2.. run scoreboard players remove $randomZ gm4_ce_boss 2
-execute at @s if score $randomZ gm4_ce_boss matches 1.. run tp @s ~ ~ ~1
-execute if score $randomZ gm4_ce_boss matches 1.. run scoreboard players remove $randomZ gm4_ce_boss 1
-
-execute store result entity @s Pos[1] double 1 run scoreboard players get $y_pos gm4_ce_boss
-execute at @s run tp @s ~ ~9 ~
-scoreboard players set $set_y gm4_ce_boss 0
-execute at @s run function gm4_combat_expanded:boss/watchers/running/attack/slam/slam_warp/above_player/set_ypos
-
-scoreboard players add $warp_attempt gm4_ce_boss 1
-execute unless score $warp_attempt gm4_ce_boss matches 11.. run function gm4_combat_expanded:boss/watchers/running/attack/slam/slam_warp/above_player/randomize
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/slam/slam_warp/away.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/slam/slam_warp/away.mcfunction
deleted file mode 100644
index 58afdb9345..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/slam/slam_warp/away.mcfunction
+++ /dev/null
@@ -1,4 +0,0 @@
-
-execute as @e[tag=gm4_ce_boss.watcher.head,tag=gm4_ce_boss.watcher.running] run data merge entity @s {start_interpolation:-1,interpolation_duration:3,transformation:{scale:[0.0f,0.0f,0.0f],translation:[0.0f,0.0f,0.0f],left_rotation:[0.0f,0.0f,0.0f,0.0f],right_rotation:[0.0f,0.0f,0.0f,0.0f]}}
-execute summon item_display run function gm4_combat_expanded:boss/watchers/running/attack/slam/slam_warp/init_display
-particle minecraft:reverse_portal ~ ~.75 ~ 0.15 0.15 0.15 2.5 64
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/slam/slam_warp/end.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/slam/slam_warp/end.mcfunction
deleted file mode 100644
index cf9120d95c..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/slam/slam_warp/end.mcfunction
+++ /dev/null
@@ -1,7 +0,0 @@
-
-tp @e[type=block_display,tag=gm4_ce_boss.watcher.crystal,tag=gm4_ce_boss.watcher.running] ~ ~ ~ 0 -90
-execute as @e[tag=gm4_ce_boss.watcher.head,tag=gm4_ce_boss.watcher.running,tag=!gm4_ce_boss.watcher.slam_block] run data merge entity @s {start_interpolation:-1,interpolation_duration:3,transformation:{scale:[0.5f,0.5f,0.5f],translation:[-0.5f,0.5f,0.4375f],left_rotation:[0.0f,0.0f,0.0f,0.0f],right_rotation:[0.0f,0.0f,0.0f,0.0f]}}
-execute as @e[type=item_display,tag=gm4_ce_boss.watcher.head,tag=gm4_ce_boss.watcher.running,tag=!gm4_ce_boss.watcher.slam_block] run data modify entity @s transformation.scale set from entity @s item.components."minecraft:custom_data".gm4_combat_expanded.return.scale
-execute as @e[type=item_display,tag=gm4_ce_boss.watcher.head,tag=gm4_ce_boss.watcher.running,tag=!gm4_ce_boss.watcher.slam_block] run data modify entity @s transformation.translation set from entity @s item.components."minecraft:custom_data".gm4_combat_expanded.return.translation
-
-tag @s remove gm4_ce_boss.watcher.slam_teleporting
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/slam/slam_warp/init_display.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/slam/slam_warp/init_display.mcfunction
deleted file mode 100644
index 72730f3457..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/slam/slam_warp/init_display.mcfunction
+++ /dev/null
@@ -1,3 +0,0 @@
-
-data merge entity @s {teleport_duration:3,Tags:["gm4_ce_boss.watcher","gm4_ce_boss.watcher.teleport_display","gm4_ce_boss.watcher.temp_display"],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0.55f,0f],scale:[0.75f,0.75f,0.75f]},item:{id:"minecraft:amethyst_block",count:1}}
-scoreboard players operation @s gm4_ce_boss.id = $running_id gm4_ce_boss.id
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/slam/slam_warp/pick_location.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/slam/slam_warp/pick_location.mcfunction
deleted file mode 100644
index 7231730080..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/slam/slam_warp/pick_location.mcfunction
+++ /dev/null
@@ -1,13 +0,0 @@
-
-# teleport up to 8 blocks away
-tag @s add gm4_ce_target
-execute summon marker run function gm4_combat_expanded:boss/watchers/running/attack/slam/slam_warp/above_player/spawn_marker
-tag @s remove gm4_ce_target
-
-kill @e[type=item_display,tag=gm4_ce_boss.watcher.hurtbox,tag=gm4_ce_boss.watcher.running]
-execute at @s as @e[tag=gm4_ce_boss.watcher.running,distance=0.1..] run tp @s ~ ~.5 ~
-execute at @s run particle minecraft:portal ~ ~1.75 ~ 0 0 0 0.75 32
-tp @e[type=item_display,tag=gm4_ce_boss.watcher.teleport_display,limit=1,sort=nearest] @s
-
-playsound minecraft:entity.enderman.teleport hostile @a ~ ~ ~ 1 0.75
-execute at @s run playsound minecraft:entity.enderman.teleport hostile @a ~ ~ ~ 1 0.75
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/slam/slam_warp/process.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/slam/slam_warp/process.mcfunction
deleted file mode 100644
index e02a620ef0..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/slam/slam_warp/process.mcfunction
+++ /dev/null
@@ -1,5 +0,0 @@
-
-execute if score @s gm4_ce_boss.attack_progress matches 13 run function gm4_combat_expanded:boss/watchers/running/attack/slam/slam_warp/away
-execute if score @s gm4_ce_boss.attack_progress matches 14 run function gm4_combat_expanded:boss/watchers/running/attack/slam/slam_warp/pick_location
-execute if score @s gm4_ce_boss.attack_progress matches 15 run function gm4_combat_expanded:boss/watchers/running/attack/slam/slam_warp/end
-scoreboard players set @s[scores={gm4_ce_boss.attack_progress=15}] gm4_ce_boss.tick_delay 13
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/slam/spawn_block.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/slam/spawn_block.mcfunction
deleted file mode 100644
index 33337246fc..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/slam/spawn_block.mcfunction
+++ /dev/null
@@ -1,5 +0,0 @@
-
-data merge entity @s {teleport_duration:3,Tags:["gm4_ce_boss.watcher","gm4_ce_boss.watcher.slam_block","gm4_ce_boss.watcher.head"],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0f,1f],scale:[0.1875f,0.1875f,0.1875f]},item:{id:"minecraft:amethyst_block",count:1}}
-scoreboard players operation @s gm4_ce_boss.id = $running_id gm4_ce_boss.id
-playsound minecraft:block.large_amethyst_bud.place hostile @a[distance=..32] ~ ~ ~ 2 1 1
-particle dragon_breath ^ ^ ^1 0.02 0.02 0.02 0.03 8
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/spawn/end.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/spawn/end.mcfunction
deleted file mode 100644
index 3dc677a0bd..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/spawn/end.mcfunction
+++ /dev/null
@@ -1,24 +0,0 @@
-# end watcher boss spawning
-# @s = boss shulker
-# at @s
-# run from boss/watchers/running/attack/spawn/process
-
-scoreboard players set @s gm4_ce_boss.attack_id 3
-scoreboard players reset @s gm4_ce_boss.attack_progress
-scoreboard players set @s gm4_ce_boss.tick_delay 15
-scoreboard players set @s gm4_ce_boss.phase 1
-
-playsound minecraft:entity.wither.spawn hostile @a[distance=..32] ~ ~ ~ 1 0.65 1
-execute as @e[type=item_display,tag=gm4_ce_boss.watcher.running,tag=gm4_ce_boss.watcher.eyes] run data modify entity @s item.id set value "amethyst_block"
-
-particle witch ~.5 ~.75 ~.35 0 0.1 0.1 0 5
-particle witch ~.5 ~.75 ~-.35 0 0.1 0.1 0 5
-
-particle witch ~-.5 ~.75 ~.35 0 0.1 0.1 0 5
-particle witch ~-.5 ~.75 ~-.35 0 0.1 0.1 0 5
-
-particle witch ~.35 ~.75 ~.5 0 0.1 0.1 0 5
-particle witch ~-.35 ~.75 ~.5 0 0.1 0.1 0 5
-
-particle witch ~.35 ~.75 ~-.5 0 0.1 0.1 0 5
-particle witch ~-.35 ~.75 ~-.5 0 0.1 0.1 0 5
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/spawn/process.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/spawn/process.mcfunction
deleted file mode 100644
index bdbb4c3545..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/spawn/process.mcfunction
+++ /dev/null
@@ -1,30 +0,0 @@
-# process watcher boss spawning
-# @s = boss shulker
-# at @s
-# run from boss/watchers/process
-
-scoreboard players add @s gm4_ce_boss.attack_progress 1
-scoreboard players set @s gm4_ce_boss.tick_delay 2
-
-# slowly fill health bar
-execute if score @s gm4_ce_boss.attack_progress matches 1 run scoreboard players set @s gm4_ce_boss.health 2
-scoreboard players add @s[tag=gm4_ce_boss.watcher.has_twin,scores={gm4_ce_boss.attack_progress=14..43}] gm4_ce_boss.health 20
-scoreboard players add @s[tag=!gm4_ce_boss.watcher.has_twin,scores={gm4_ce_boss.attack_progress=14..43}] gm4_ce_boss.health 10
-data modify entity @s Health set value 960f
-
-execute if score @s gm4_ce_boss.attack_progress matches 15 as @e[type=block_display,tag=gm4_ce_boss.watcher.running,tag=gm4_ce_boss.watcher.crystal] run data modify entity @s block_state.Name set value "medium_amethyst_bud"
-execute if score @s gm4_ce_boss.attack_progress matches 31 as @e[type=block_display,tag=gm4_ce_boss.watcher.running,tag=gm4_ce_boss.watcher.crystal] run data modify entity @s block_state.Name set value "large_amethyst_bud"
-execute if score @s gm4_ce_boss.attack_progress matches 41 as @e[type=block_display,tag=gm4_ce_boss.watcher.running,tag=gm4_ce_boss.watcher.crystal] run data modify entity @s block_state.Name set value "amethyst_cluster"
-
-execute if score @s gm4_ce_boss.attack_progress matches 15 run playsound block.amethyst_block.break hostile @a[distance=..32] ~ ~ ~ 1 0.9 1
-execute if score @s gm4_ce_boss.attack_progress matches 31 run playsound block.amethyst_block.break hostile @a[distance=..32] ~ ~ ~ 1 0.7 1
-execute if score @s gm4_ce_boss.attack_progress matches 41 run playsound block.amethyst_block.break hostile @a[distance=..32] ~ ~ ~ 1 0.5 1
-
-execute if score @s gm4_ce_boss.attack_progress matches 15..30 run particle minecraft:reverse_portal ~ ~.5 ~ 0.4 0.4 0.4 0.2 6
-execute if score @s gm4_ce_boss.attack_progress matches 31..40 run particle minecraft:reverse_portal ~ ~.5 ~ 0.4 0.4 0.4 0.55 10
-execute if score @s gm4_ce_boss.attack_progress matches 41..45 run particle minecraft:reverse_portal ~ ~.5 ~ 0.4 0.4 0.4 1 18
-
-execute if score @s[tag=gm4_ce_boss.watcher.has_twin] gm4_ce_boss.attack_progress matches 43 run tp @e[type=block_display,tag=gm4_ce_boss.watcher.crystal,tag=gm4_ce_boss.watcher.running] ~ ~ ~ 0 90
-execute if score @s[tag=gm4_ce_boss.watcher.has_twin] gm4_ce_boss.attack_progress matches 45 run function gm4_combat_expanded:boss/watchers/activation/spawn_sentinel/head
-
-execute if score @s gm4_ce_boss.attack_progress matches 46 run function gm4_combat_expanded:boss/watchers/running/attack/spawn/end
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/summon_minions/end.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/summon_minions/end.mcfunction
deleted file mode 100644
index 546105148e..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/summon_minions/end.mcfunction
+++ /dev/null
@@ -1,6 +0,0 @@
-
-scoreboard players set @s gm4_ce_boss.attack_id 0
-scoreboard players reset @s gm4_ce_boss.attack_progress
-scoreboard players set @s[scores={gm4_ce_boss.phase=1}] gm4_ce_boss.tick_delay 40
-scoreboard players set @s[scores={gm4_ce_boss.phase=1..2}] gm4_ce_boss.tick_delay 30
-scoreboard players set @s[scores={gm4_ce_boss.phase=3..}] gm4_ce_boss.tick_delay 20
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/summon_minions/grow_spawn.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/summon_minions/grow_spawn.mcfunction
deleted file mode 100644
index af9a04d13b..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/summon_minions/grow_spawn.mcfunction
+++ /dev/null
@@ -1,3 +0,0 @@
-
-data merge entity @s {start_interpolation:-1,interpolation_duration:3,transformation:{scale:[0.625f,0.625f,0.625f],left_rotation:[0.0f,0.0f,0.0f,0.0f],right_rotation:[0.0f,0.0f,0.0f,0.0f]}}
-tag @s add gm4_ce_boss.watcher.minion_grown
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/summon_minions/init_skeleton.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/summon_minions/init_skeleton.mcfunction
deleted file mode 100644
index 87b3c4c496..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/summon_minions/init_skeleton.mcfunction
+++ /dev/null
@@ -1,11 +0,0 @@
-
-data merge entity @s {DeathLootTable:"gm4_combat_expanded:boss/skeleton_minion",CustomName:'{"text":"Amethyst Skeleton"}',CanPickUpLoot:0b,Health:13f,CanBreakDoors:0b,Tags:["gm4_ce_processed","gm4_ce_boss.watcher","gm4_ce_boss.watcher.minion"],ArmorItems:[{},{},{},{id:"minecraft:budding_amethyst",count:1,components:{"minecraft:enchantments":{"minecraft:blast_protection":20}}}],ArmorDropChances:[0.085F,0.085F,0.085F,-327.670F],attributes:[{id:"minecraft:max_health",base:13},{id:"minecraft:movement_speed",base:0.215},{id:"minecraft:armor",base:8},{id:"minecraft:armor_toughness",base:2},{id:"minecraft:max_absorption",base:0}]}
-scoreboard players operation @s gm4_ce_boss.id = $mob_id gm4_ce_boss.id
-
-# set CE gear
-scoreboard players set $difficulty gm4_ce_data 65
-loot replace entity @s armor.feet loot gm4_combat_expanded:mob/equip_armor/generic/feet
-loot replace entity @s armor.legs loot gm4_combat_expanded:mob/equip_armor/generic/legs
-loot replace entity @s armor.chest loot gm4_combat_expanded:mob/equip_armor/generic/chest
-
-scoreboard players set $spawned_skeleton gm4_ce_boss 1
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/summon_minions/init_spawn.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/summon_minions/init_spawn.mcfunction
deleted file mode 100644
index 15c3e6783f..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/summon_minions/init_spawn.mcfunction
+++ /dev/null
@@ -1,3 +0,0 @@
-
-data merge entity @s {Tags:["gm4_ce_boss.watcher","gm4_ce_boss.watcher.minion_growth"],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0f,0f],scale:[0.0625f,0.0625f,0.0625f]},item:{id:"minecraft:budding_amethyst",count:1}}
-scoreboard players operation @s gm4_ce_boss.id = $mob_id gm4_ce_boss.id
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/summon_minions/init_zombie.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/summon_minions/init_zombie.mcfunction
deleted file mode 100644
index 124baf861a..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/summon_minions/init_zombie.mcfunction
+++ /dev/null
@@ -1,10 +0,0 @@
-
-data merge entity @s {DeathLootTable:"gm4_combat_expanded:boss/zombie_minion",CustomName:'{"text":"Amethyst Zombie"}',CanPickUpLoot:0b,Health:16f,IsBaby:0b,CanBreakDoors:0b,Tags:["gm4_ce_processed","gm4_ce_boss.watcher","gm4_ce_boss.watcher.minion"],ArmorItems:[{},{},{},{id:"minecraft:budding_amethyst",count:1,components:{"minecraft:enchantments":{"minecraft:blast_protection":20}}}],ArmorDropChances:[0.085F,0.085F,0.085F,-327.670F],attributes:[{id:"minecraft:max_health",base:16},{id:"minecraft:knockback_resistance",base:0.15},{id:"minecraft:movement_speed",base:0.242},{id:"minecraft:attack_damage",base:5},{id:"minecraft:armor",base:10},{id:"minecraft:armor_toughness",base:4},{id:"minecraft:max_absorption",base:0},{id:"zombie.spawn_reinforcements",base:0}]}
-scoreboard players operation @s gm4_ce_boss.id = $mob_id gm4_ce_boss.id
-
-# set CE gear
-scoreboard players set $difficulty gm4_ce_data 85
-loot replace entity @s armor.feet loot gm4_combat_expanded:mob/equip_armor/generic/feet
-loot replace entity @s armor.legs loot gm4_combat_expanded:mob/equip_armor/generic/legs
-loot replace entity @s armor.chest loot gm4_combat_expanded:mob/equip_armor/generic/chest
-item replace entity @s weapon.mainhand with air
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/summon_minions/process.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/summon_minions/process.mcfunction
deleted file mode 100644
index 57ea8b1968..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/summon_minions/process.mcfunction
+++ /dev/null
@@ -1,39 +0,0 @@
-
-scoreboard players add @s gm4_ce_boss.attack_progress 1
-
-scoreboard players set @s[scores={gm4_ce_boss.phase=1..2}] gm4_ce_boss.tick_delay 4
-scoreboard players set @s[scores={gm4_ce_boss.phase=3}] gm4_ce_boss.tick_delay 3
-scoreboard players set @s[scores={gm4_ce_boss.phase=4}] gm4_ce_boss.tick_delay 2
-
-scoreboard players operation $boss_phase gm4_ce_boss = @s gm4_ce_boss.phase
-execute if entity @s[tag=gm4_ce_boss.watcher.main] run scoreboard players operation $mob_id gm4_ce_boss.id = $running_id gm4_ce_boss.id
-execute if entity @s[tag=gm4_ce_boss.watcher.secondary] run scoreboard players operation $mob_id gm4_ce_boss.id = @s gm4_ce_boss.secondary_id
-execute as @e[type=item_display,tag=gm4_ce_boss.watcher.minion_grown,distance=..4] if score @s gm4_ce_boss.id = $mob_id gm4_ce_boss.id at @s run function gm4_combat_expanded:boss/watchers/running/attack/summon_minions/spawn_mob
-
-execute if score @s gm4_ce_boss.attack_progress matches 1 run tp @e[type=block_display,tag=gm4_ce_boss.watcher.crystal,tag=gm4_ce_boss.watcher.running] ~ ~ ~ 0 -10
-execute if score @s gm4_ce_boss.attack_progress matches 2 positioned ~ ~.6 ~1.15 run function gm4_combat_expanded:boss/watchers/running/attack/summon_minions/start_spawn
-execute if score @s gm4_ce_boss.attack_progress matches 3 positioned ~ ~.6 ~1.15 as @e[type=item_display,distance=..4,tag=gm4_ce_boss.watcher.minion_growth,limit=1,sort=nearest] run function gm4_combat_expanded:boss/watchers/running/attack/summon_minions/grow_spawn
-
-execute if score @s[scores={gm4_ce_boss.phase=1}] gm4_ce_boss.attack_progress matches 4 run function gm4_combat_expanded:boss/watchers/running/attack/summon_minions/end
-execute if entity @s[scores={gm4_ce_boss.phase=2..,gm4_ce_boss.attack_progress=4},predicate=gm4_combat_expanded:technical/chance/boss/2_minions] run scoreboard players set @s gm4_ce_boss.attack_progress 14
-
-execute if score @s gm4_ce_boss.attack_progress matches 4 run tp @e[type=block_display,tag=gm4_ce_boss.watcher.crystal,tag=gm4_ce_boss.watcher.running] ~ ~ ~ 90 -10
-execute if score @s gm4_ce_boss.attack_progress matches 5 positioned ~-1.15 ~.6 ~ run function gm4_combat_expanded:boss/watchers/running/attack/summon_minions/start_spawn
-execute if score @s gm4_ce_boss.attack_progress matches 6 positioned ~-1.15 ~.6 ~ as @e[type=item_display,distance=..4,tag=gm4_ce_boss.watcher.minion_growth,limit=1,sort=nearest] run function gm4_combat_expanded:boss/watchers/running/attack/summon_minions/grow_spawn
-
-execute if score @s gm4_ce_boss.attack_progress matches 7 run tp @e[type=block_display,tag=gm4_ce_boss.watcher.crystal,tag=gm4_ce_boss.watcher.running] ~ ~ ~ 180 -10
-execute if score @s gm4_ce_boss.attack_progress matches 8 positioned ~ ~.6 ~-1.15 run function gm4_combat_expanded:boss/watchers/running/attack/summon_minions/start_spawn
-execute if score @s gm4_ce_boss.attack_progress matches 9 positioned ~ ~.6 ~-1.15 as @e[type=item_display,distance=..4,tag=gm4_ce_boss.watcher.minion_growth,limit=1,sort=nearest] run function gm4_combat_expanded:boss/watchers/running/attack/summon_minions/grow_spawn
-
-execute if score @s gm4_ce_boss.attack_progress matches 10 run tp @e[type=block_display,tag=gm4_ce_boss.watcher.crystal,tag=gm4_ce_boss.watcher.running] ~ ~ ~ -90 -10
-execute if score @s gm4_ce_boss.attack_progress matches 11 positioned ~1.15 ~.6 ~ run function gm4_combat_expanded:boss/watchers/running/attack/summon_minions/start_spawn
-execute if score @s gm4_ce_boss.attack_progress matches 12 positioned ~1.15 ~.6 ~ as @e[type=item_display,distance=..4,tag=gm4_ce_boss.watcher.minion_growth,limit=1,sort=nearest] run function gm4_combat_expanded:boss/watchers/running/attack/summon_minions/grow_spawn
-
-execute if score @s gm4_ce_boss.attack_progress matches 13 run function gm4_combat_expanded:boss/watchers/running/attack/summon_minions/end
-
-# if only 2 minions are spawned
-execute if score @s gm4_ce_boss.attack_progress matches 14 run tp @e[type=block_display,tag=gm4_ce_boss.watcher.crystal,tag=gm4_ce_boss.watcher.running] ~ ~ ~ 180 -10
-execute if score @s gm4_ce_boss.attack_progress matches 15 positioned ~ ~.6 ~-1.15 run function gm4_combat_expanded:boss/watchers/running/attack/summon_minions/start_spawn
-execute if score @s gm4_ce_boss.attack_progress matches 16 positioned ~ ~.6 ~-1.15 as @e[type=item_display,distance=..4,tag=gm4_ce_boss.watcher.minion_growth,limit=1,sort=nearest] run function gm4_combat_expanded:boss/watchers/running/attack/summon_minions/grow_spawn
-
-execute if score @s gm4_ce_boss.attack_progress matches 17 run function gm4_combat_expanded:boss/watchers/running/attack/summon_minions/end
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/summon_minions/spawn_mob.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/summon_minions/spawn_mob.mcfunction
deleted file mode 100644
index 001d6675d7..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/summon_minions/spawn_mob.mcfunction
+++ /dev/null
@@ -1,6 +0,0 @@
-
-scoreboard players set $spawned_skeleton gm4_ce_boss 0
-execute if score $boss_phase gm4_ce_boss matches 3.. if predicate gm4_combat_expanded:technical/chance/boss/skeleton_minion positioned ~ ~-1.6 ~ summon skeleton run function gm4_combat_expanded:boss/watchers/running/attack/summon_minions/init_skeleton
-execute if score $spawned_skeleton gm4_ce_boss matches 0 positioned ~ ~-1.6 ~ summon zombie run function gm4_combat_expanded:boss/watchers/running/attack/summon_minions/init_zombie
-execute unless block ~ ~-1 ~ #minecraft:air unless block ~ ~-1 ~ #minecraft:wither_immune run fill ~ ~-1 ~ ~ ~-1 ~ air destroy
-kill @s
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/summon_minions/start_spawn.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/summon_minions/start_spawn.mcfunction
deleted file mode 100644
index 42fd6d397f..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/summon_minions/start_spawn.mcfunction
+++ /dev/null
@@ -1,4 +0,0 @@
-
-execute unless block ~ ~ ~ #minecraft:air unless block ~ ~ ~ #minecraft:wither_immune run fill ~ ~ ~ ~ ~ ~ air destroy
-execute summon item_display run function gm4_combat_expanded:boss/watchers/running/attack/summon_minions/init_spawn
-scoreboard players set @s gm4_ce_boss.tick_delay 1
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/warp/away.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/warp/away.mcfunction
deleted file mode 100644
index 3118e5a094..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/warp/away.mcfunction
+++ /dev/null
@@ -1,4 +0,0 @@
-
-execute as @e[tag=gm4_ce_boss.watcher.head,tag=gm4_ce_boss.watcher.running] run data merge entity @s {start_interpolation:-1,interpolation_duration:5,transformation:{scale:[0.0f,0.0f,0.0f],translation:[0.0f,0.0f,0.0f],left_rotation:[0.0f,0.0f,0.0f,0.0f],right_rotation:[0.0f,0.0f,0.0f,0.0f]}}
-execute summon item_display run function gm4_combat_expanded:boss/watchers/running/attack/warp/init_display
-particle minecraft:reverse_portal ~ ~.75 ~ 0.15 0.15 0.15 2.5 64
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/warp/end.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/warp/end.mcfunction
deleted file mode 100644
index 2562c7f68c..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/warp/end.mcfunction
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-execute as @e[type=item_display,tag=gm4_ce_boss.watcher.head,tag=gm4_ce_boss.watcher.running] run data modify storage gm4_combat_expanded:testing store set from entity @s item
-
-tp @e[type=block_display,tag=gm4_ce_boss.watcher.crystal,tag=gm4_ce_boss.watcher.running] ~ ~ ~ 0 -90
-execute as @e[tag=gm4_ce_boss.watcher.head,tag=gm4_ce_boss.watcher.running] run data merge entity @s {start_interpolation:-1,interpolation_duration:3,transformation:{scale:[0.5f,0.5f,0.5f],translation:[-0.5f,0.5f,0.4375f],left_rotation:[0.0f,0.0f,0.0f,0.0f],right_rotation:[0.0f,0.0f,0.0f,0.0f]}}
-execute as @e[type=item_display,tag=gm4_ce_boss.watcher.head,tag=gm4_ce_boss.watcher.running] run data modify entity @s transformation.scale set from entity @s item.components."minecraft:custom_data".gm4_combat_expanded.return.scale
-execute as @e[type=item_display,tag=gm4_ce_boss.watcher.head,tag=gm4_ce_boss.watcher.running] run data modify entity @s transformation.translation set from entity @s item.components."minecraft:custom_data".gm4_combat_expanded.return.translation
-
-scoreboard players reset @s gm4_ce_boss.attack_progress
-scoreboard players set @s[scores={gm4_ce_boss.phase=1..2}] gm4_ce_boss.tick_delay 70
-scoreboard players set @s[scores={gm4_ce_boss.phase=3..}] gm4_ce_boss.tick_delay 30
-scoreboard players set @s gm4_ce_boss.attack_id 0
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/warp/init_display.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/warp/init_display.mcfunction
deleted file mode 100644
index 72730f3457..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/warp/init_display.mcfunction
+++ /dev/null
@@ -1,3 +0,0 @@
-
-data merge entity @s {teleport_duration:3,Tags:["gm4_ce_boss.watcher","gm4_ce_boss.watcher.teleport_display","gm4_ce_boss.watcher.temp_display"],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0.55f,0f],scale:[0.75f,0.75f,0.75f]},item:{id:"minecraft:amethyst_block",count:1}}
-scoreboard players operation @s gm4_ce_boss.id = $running_id gm4_ce_boss.id
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/warp/pick_location.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/warp/pick_location.mcfunction
deleted file mode 100644
index c6101b9c8c..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/warp/pick_location.mcfunction
+++ /dev/null
@@ -1,17 +0,0 @@
-
-# teleport up to 8 blocks away
-tag @s add gm4_ce_target
-execute store result score $pick_location gm4_ce_boss run random value 1..3
-execute if score $pick_location gm4_ce_boss matches 1 summon marker run function gm4_combat_expanded:boss/watchers/running/attack/warp/pick_location_high/spawn_marker
-execute if score $pick_location gm4_ce_boss matches 2 summon marker run function gm4_combat_expanded:boss/watchers/running/attack/warp/pick_location_low/spawn_marker
-execute if score $pick_location gm4_ce_boss matches 3 if entity @s[tag=gm4_ce_boss.watcher.secondary] summon marker run function gm4_combat_expanded:boss/watchers/running/attack/warp/pick_location_far/spawn_marker
-execute if score $pick_location gm4_ce_boss matches 3 if entity @s[tag=gm4_ce_boss.watcher.main] summon marker run function gm4_combat_expanded:boss/watchers/running/attack/warp/pick_location_near/spawn_marker
-tag @s remove gm4_ce_target
-
-kill @e[type=item_display,tag=gm4_ce_boss.watcher.hurtbox,tag=gm4_ce_boss.watcher.running]
-execute at @s as @e[tag=gm4_ce_boss.watcher.running,distance=0.1..] run tp @s ~ ~.5 ~
-execute at @s run particle minecraft:portal ~ ~1.75 ~ 0 0 0 0.75 32
-tp @e[type=item_display,tag=gm4_ce_boss.watcher.teleport_display,limit=1,sort=nearest] @s
-
-playsound minecraft:entity.enderman.teleport hostile @a ~ ~ ~ 1 0.75
-execute at @s run playsound minecraft:entity.enderman.teleport hostile @a ~ ~ ~ 1 0.75
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/warp/pick_location_far/randomize.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/warp/pick_location_far/randomize.mcfunction
deleted file mode 100644
index 6fb65d3464..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/warp/pick_location_far/randomize.mcfunction
+++ /dev/null
@@ -1,10 +0,0 @@
-# code taken from Orb of Ankou - expeditious
-# @s = vorpal marker
-# at @s
-# run from armor/type/vorpal/spawn_marker
-# run from armor/type/vorpal/tp_marker
-
-execute store result score $randomZ gm4_ce_boss run random value 0..8
-execute store result score $randomZ gm4_ce_boss run random value 0..8
-
-execute at @s run function gm4_combat_expanded:boss/watchers/running/attack/warp/pick_location_far/tp_marker
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/warp/pick_location_far/set_ypos.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/warp/pick_location_far/set_ypos.mcfunction
deleted file mode 100644
index b920443101..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/warp/pick_location_far/set_ypos.mcfunction
+++ /dev/null
@@ -1,11 +0,0 @@
-# code taken from Orb of Ankou - expeditious
-# @s = vorpal marker
-# at @s
-# run from armor/type/vorpal/tp_marker
-
-execute at @s run tp @s ~ ~-1 ~
-scoreboard players add $set_y gm4_ce_boss 1
-scoreboard players set $warp_safe gm4_ce_boss 0
-execute at @s unless entity @e[type=shulker,tag=gm4_ce_boss,distance=..0.5] if block ~ ~ ~ #minecraft:air if block ~ ~-1 ~ #gm4:no_collision align xyz unless entity @e[type=minecraft:area_effect_cloud,dx=0,dy=0,dz=0] run scoreboard players set $warp_safe gm4_ce_boss 1
-execute if score $warp_safe gm4_ce_boss matches 1 run scoreboard players set $warp_attempt gm4_ce_boss 33
-execute unless score $set_y gm4_ce_boss matches 5.. at @s unless score $warp_safe gm4_ce_boss matches 1 run function gm4_combat_expanded:boss/watchers/running/attack/warp/pick_location_far/set_ypos
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/warp/pick_location_far/spawn_marker.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/warp/pick_location_far/spawn_marker.mcfunction
deleted file mode 100644
index 382d6945ac..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/warp/pick_location_far/spawn_marker.mcfunction
+++ /dev/null
@@ -1,18 +0,0 @@
-# spawn a marker and start the moving of it
-# @s = vorpal marker
-# at @s
-# run from armor/type/vorpal/attempt
-
-tag @s add gm4_ce_boss.warp_locator
-execute store result score $warp_offset_direction gm4_ce_boss run random value 1..4
-execute if score $warp_offset_direction gm4_ce_boss matches 1 at @r[gamemode=!spectator,gamemode=!creative,distance=..64] run tp @s ~-11 ~ ~-11
-execute if score $warp_offset_direction gm4_ce_boss matches 2 at @r[gamemode=!spectator,gamemode=!creative,distance=..64] run tp @s ~3 ~ ~-11
-execute if score $warp_offset_direction gm4_ce_boss matches 3 at @r[gamemode=!spectator,gamemode=!creative,distance=..64] run tp @s ~-11 ~ ~3
-execute if score $warp_offset_direction gm4_ce_boss matches 4 at @r[gamemode=!spectator,gamemode=!creative,distance=..64] run tp @s ~3 ~ ~3
-execute store result score $y_pos gm4_ce_boss run data get entity @s Pos[1]
-scoreboard players set $warp_attempt gm4_ce_boss 0
-
-function gm4_combat_expanded:boss/watchers/running/attack/warp/pick_location_far/randomize
-
-execute if score $warp_safe gm4_ce_boss matches 1 at @s align xyz run tp @e[type=shulker,tag=gm4_ce_target] ~ ~ ~
-kill @s
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/warp/pick_location_far/tp_marker.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/warp/pick_location_far/tp_marker.mcfunction
deleted file mode 100644
index cd9f34d2dc..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/warp/pick_location_far/tp_marker.mcfunction
+++ /dev/null
@@ -1,30 +0,0 @@
-# code taken from Orb of Ankou - expeditious
-# @s = vorpal marker
-# at @s
-# run from armor/type/vorpal/randomize
-
-execute at @s if score $randomX gm4_ce_boss matches 8.. run tp @s ~8 ~ ~
-execute if score $randomX gm4_ce_boss matches 8.. run scoreboard players remove $randomX gm4_ce_boss 8
-execute at @s if score $randomX gm4_ce_boss matches 4.. run tp @s ~4 ~ ~
-execute if score $randomX gm4_ce_boss matches 4.. run scoreboard players remove $randomX gm4_ce_boss 4
-execute at @s if score $randomX gm4_ce_boss matches 2.. run tp @s ~2 ~ ~
-execute if score $randomX gm4_ce_boss matches 2.. run scoreboard players remove $randomX gm4_ce_boss 2
-execute at @s if score $randomX gm4_ce_boss matches 1.. run tp @s ~1 ~ ~
-execute if score $randomX gm4_ce_boss matches 1.. run scoreboard players remove $randomX gm4_ce_boss 1
-
-execute at @s if score $randomZ gm4_ce_boss matches 8.. run tp @s ~ ~ ~8
-execute if score $randomZ gm4_ce_boss matches 8.. run scoreboard players remove $randomZ gm4_ce_boss 8
-execute at @s if score $randomZ gm4_ce_boss matches 4.. run tp @s ~ ~ ~4
-execute if score $randomZ gm4_ce_boss matches 4.. run scoreboard players remove $randomZ gm4_ce_boss 4
-execute at @s if score $randomZ gm4_ce_boss matches 2.. run tp @s ~ ~ ~2
-execute if score $randomZ gm4_ce_boss matches 2.. run scoreboard players remove $randomZ gm4_ce_boss 2
-execute at @s if score $randomZ gm4_ce_boss matches 1.. run tp @s ~ ~ ~1
-execute if score $randomZ gm4_ce_boss matches 1.. run scoreboard players remove $randomZ gm4_ce_boss 1
-
-execute store result entity @s Pos[1] double 1 run scoreboard players get $y_pos gm4_ce_boss
-execute at @s run tp @s ~ ~5 ~
-scoreboard players set $set_y gm4_ce_boss 0
-execute at @s run function gm4_combat_expanded:boss/watchers/running/attack/warp/pick_location_far/set_ypos
-
-scoreboard players add $warp_attempt gm4_ce_boss 1
-execute unless score $warp_attempt gm4_ce_boss matches 33.. run function gm4_combat_expanded:boss/watchers/running/attack/warp/pick_location_far/randomize
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/warp/pick_location_high/randomize.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/warp/pick_location_high/randomize.mcfunction
deleted file mode 100644
index a05c966339..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/warp/pick_location_high/randomize.mcfunction
+++ /dev/null
@@ -1,10 +0,0 @@
-# code taken from Orb of Ankou - expeditious
-# @s = vorpal marker
-# at @s
-# run from armor/type/vorpal/spawn_marker
-# run from armor/type/vorpal/tp_marker
-
-execute store result score $randomZ gm4_ce_boss run random value 0..8
-execute store result score $randomZ gm4_ce_boss run random value 0..8
-
-execute at @s run function gm4_combat_expanded:boss/watchers/running/attack/warp/pick_location_high/tp_marker
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/warp/pick_location_high/set_ypos.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/warp/pick_location_high/set_ypos.mcfunction
deleted file mode 100644
index d8019d2150..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/warp/pick_location_high/set_ypos.mcfunction
+++ /dev/null
@@ -1,11 +0,0 @@
-# code taken from Orb of Ankou - expeditious
-# @s = vorpal marker
-# at @s
-# run from armor/type/vorpal/tp_marker
-
-execute at @s run tp @s ~ ~-1 ~
-scoreboard players add $set_y gm4_ce_boss 1
-scoreboard players set $warp_safe gm4_ce_boss 0
-execute at @s unless entity @e[type=shulker,tag=gm4_ce_boss,distance=..0.5] if block ~ ~ ~ #minecraft:air if block ~ ~-1 ~ #gm4:no_collision align xyz unless entity @e[type=minecraft:area_effect_cloud,dx=0,dy=0,dz=0] run scoreboard players set $warp_safe gm4_ce_boss 1
-execute if score $warp_safe gm4_ce_boss matches 1 run scoreboard players set $warp_attempt gm4_ce_boss 33
-execute unless score $set_y gm4_ce_boss matches 8.. at @s unless score $warp_safe gm4_ce_boss matches 1 run function gm4_combat_expanded:boss/watchers/running/attack/warp/pick_location_high/set_ypos
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/warp/pick_location_high/spawn_marker.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/warp/pick_location_high/spawn_marker.mcfunction
deleted file mode 100644
index 7ffce896fc..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/warp/pick_location_high/spawn_marker.mcfunction
+++ /dev/null
@@ -1,14 +0,0 @@
-# spawn a marker and start the moving of it
-# @s = vorpal marker
-# at @s
-# run from armor/type/vorpal/attempt
-
-tag @s add gm4_ce_boss.warp_locator
-execute at @r[gamemode=!spectator,gamemode=!creative,distance=..64] run tp @s ~-4 ~ ~-4
-execute store result score $y_pos gm4_ce_boss run data get entity @s Pos[1]
-scoreboard players set $warp_attempt gm4_ce_boss 0
-
-function gm4_combat_expanded:boss/watchers/running/attack/warp/pick_location_high/randomize
-
-execute if score $warp_safe gm4_ce_boss matches 1 at @s align xyz run tp @e[type=shulker,tag=gm4_ce_target] ~ ~ ~
-kill @s
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/warp/pick_location_high/tp_marker.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/warp/pick_location_high/tp_marker.mcfunction
deleted file mode 100644
index 0f38539905..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/warp/pick_location_high/tp_marker.mcfunction
+++ /dev/null
@@ -1,30 +0,0 @@
-# code taken from Orb of Ankou - expeditious
-# @s = vorpal marker
-# at @s
-# run from armor/type/vorpal/randomize
-
-execute at @s if score $randomX gm4_ce_boss matches 8.. run tp @s ~8 ~ ~
-execute if score $randomX gm4_ce_boss matches 8.. run scoreboard players remove $randomX gm4_ce_boss 8
-execute at @s if score $randomX gm4_ce_boss matches 4.. run tp @s ~4 ~ ~
-execute if score $randomX gm4_ce_boss matches 4.. run scoreboard players remove $randomX gm4_ce_boss 4
-execute at @s if score $randomX gm4_ce_boss matches 2.. run tp @s ~2 ~ ~
-execute if score $randomX gm4_ce_boss matches 2.. run scoreboard players remove $randomX gm4_ce_boss 2
-execute at @s if score $randomX gm4_ce_boss matches 1.. run tp @s ~1 ~ ~
-execute if score $randomX gm4_ce_boss matches 1.. run scoreboard players remove $randomX gm4_ce_boss 1
-
-execute at @s if score $randomZ gm4_ce_boss matches 8.. run tp @s ~ ~ ~8
-execute if score $randomZ gm4_ce_boss matches 8.. run scoreboard players remove $randomZ gm4_ce_boss 8
-execute at @s if score $randomZ gm4_ce_boss matches 4.. run tp @s ~ ~ ~4
-execute if score $randomZ gm4_ce_boss matches 4.. run scoreboard players remove $randomZ gm4_ce_boss 4
-execute at @s if score $randomZ gm4_ce_boss matches 2.. run tp @s ~ ~ ~2
-execute if score $randomZ gm4_ce_boss matches 2.. run scoreboard players remove $randomZ gm4_ce_boss 2
-execute at @s if score $randomZ gm4_ce_boss matches 1.. run tp @s ~ ~ ~1
-execute if score $randomZ gm4_ce_boss matches 1.. run scoreboard players remove $randomZ gm4_ce_boss 1
-
-execute store result entity @s Pos[1] double 1 run scoreboard players get $y_pos gm4_ce_boss
-execute at @s run tp @s ~ ~9 ~
-scoreboard players set $set_y gm4_ce_boss 0
-execute at @s run function gm4_combat_expanded:boss/watchers/running/attack/warp/pick_location_high/set_ypos
-
-scoreboard players add $warp_attempt gm4_ce_boss 1
-execute unless score $warp_attempt gm4_ce_boss matches 33.. run function gm4_combat_expanded:boss/watchers/running/attack/warp/pick_location_high/randomize
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/warp/pick_location_low/randomize.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/warp/pick_location_low/randomize.mcfunction
deleted file mode 100644
index 4a8cb80eda..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/warp/pick_location_low/randomize.mcfunction
+++ /dev/null
@@ -1,10 +0,0 @@
-# code taken from Orb of Ankou - expeditious
-# @s = vorpal marker
-# at @s
-# run from armor/type/vorpal/spawn_marker
-# run from armor/type/vorpal/tp_marker
-
-execute store result score $randomZ gm4_ce_boss run random value 0..16
-execute store result score $randomZ gm4_ce_boss run random value 0..16
-
-execute at @s run function gm4_combat_expanded:boss/watchers/running/attack/warp/pick_location_low/tp_marker
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/warp/pick_location_low/set_ypos.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/warp/pick_location_low/set_ypos.mcfunction
deleted file mode 100644
index e9765b1fb5..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/warp/pick_location_low/set_ypos.mcfunction
+++ /dev/null
@@ -1,11 +0,0 @@
-# code taken from Orb of Ankou - expeditious
-# @s = vorpal marker
-# at @s
-# run from armor/type/vorpal/tp_marker
-
-execute at @s run tp @s ~ ~-1 ~
-scoreboard players add $set_y gm4_ce_boss 1
-scoreboard players set $warp_safe gm4_ce_boss 0
-execute at @s unless entity @e[type=shulker,tag=gm4_ce_boss,distance=..0.5] if block ~ ~ ~ #minecraft:air if block ~ ~-1 ~ #gm4:no_collision unless block ~ ~-2 ~ #gm4:no_collision align xyz unless entity @e[type=minecraft:area_effect_cloud,dx=0,dy=0,dz=0] run scoreboard players set $warp_safe gm4_ce_boss 1
-execute if score $warp_safe gm4_ce_boss matches 1 run scoreboard players set $warp_attempt gm4_ce_boss 33
-execute unless score $set_y gm4_ce_boss matches 17.. at @s unless score $warp_safe gm4_ce_boss matches 1 run function gm4_combat_expanded:boss/watchers/running/attack/warp/pick_location_low/set_ypos
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/warp/pick_location_low/spawn_marker.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/warp/pick_location_low/spawn_marker.mcfunction
deleted file mode 100644
index 539999e98b..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/warp/pick_location_low/spawn_marker.mcfunction
+++ /dev/null
@@ -1,14 +0,0 @@
-# spawn a marker and start the moving of it
-# @s = vorpal marker
-# at @s
-# run from armor/type/vorpal/attempt
-
-tag @s add gm4_ce_boss.warp_locator
-execute at @r[gamemode=!spectator,gamemode=!creative,distance=..64] run tp @s ~-1 ~ ~-1
-execute store result score $y_pos gm4_ce_boss run data get entity @s Pos[1]
-scoreboard players set $warp_attempt gm4_ce_boss 0
-
-function gm4_combat_expanded:boss/watchers/running/attack/warp/pick_location_low/randomize
-
-execute if score $warp_safe gm4_ce_boss matches 1 at @s align xyz run tp @e[type=shulker,tag=gm4_ce_target] ~ ~ ~
-kill @s
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/warp/pick_location_low/tp_marker.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/warp/pick_location_low/tp_marker.mcfunction
deleted file mode 100644
index 6b2a74a9d2..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/warp/pick_location_low/tp_marker.mcfunction
+++ /dev/null
@@ -1,34 +0,0 @@
-# code taken from Orb of Ankou - expeditious
-# @s = vorpal marker
-# at @s
-# run from armor/type/vorpal/randomize
-
-execute at @s if score $randomX gm4_ce_boss matches 16.. run tp @s ~16 ~ ~
-execute if score $randomX gm4_ce_boss matches 16.. run scoreboard players remove $randomX gm4_ce_boss 16
-execute at @s if score $randomX gm4_ce_boss matches 8.. run tp @s ~8 ~ ~
-execute if score $randomX gm4_ce_boss matches 8.. run scoreboard players remove $randomX gm4_ce_boss 8
-execute at @s if score $randomX gm4_ce_boss matches 4.. run tp @s ~4 ~ ~
-execute if score $randomX gm4_ce_boss matches 4.. run scoreboard players remove $randomX gm4_ce_boss 4
-execute at @s if score $randomX gm4_ce_boss matches 2.. run tp @s ~2 ~ ~
-execute if score $randomX gm4_ce_boss matches 2.. run scoreboard players remove $randomX gm4_ce_boss 2
-execute at @s if score $randomX gm4_ce_boss matches 1.. run tp @s ~1 ~ ~
-execute if score $randomX gm4_ce_boss matches 1.. run scoreboard players remove $randomX gm4_ce_boss 1
-
-execute at @s if score $randomZ gm4_ce_boss matches 16.. run tp @s ~ ~ ~16
-execute if score $randomZ gm4_ce_boss matches 16.. run scoreboard players remove $randomZ gm4_ce_boss 16
-execute at @s if score $randomZ gm4_ce_boss matches 8.. run tp @s ~ ~ ~8
-execute if score $randomZ gm4_ce_boss matches 8.. run scoreboard players remove $randomZ gm4_ce_boss 8
-execute at @s if score $randomZ gm4_ce_boss matches 4.. run tp @s ~ ~ ~4
-execute if score $randomZ gm4_ce_boss matches 4.. run scoreboard players remove $randomZ gm4_ce_boss 4
-execute at @s if score $randomZ gm4_ce_boss matches 2.. run tp @s ~ ~ ~2
-execute if score $randomZ gm4_ce_boss matches 2.. run scoreboard players remove $randomZ gm4_ce_boss 2
-execute at @s if score $randomZ gm4_ce_boss matches 1.. run tp @s ~ ~ ~1
-execute if score $randomZ gm4_ce_boss matches 1.. run scoreboard players remove $randomZ gm4_ce_boss 1
-
-execute store result entity @s Pos[1] double 1 run scoreboard players get $y_pos gm4_ce_boss
-execute at @s run tp @s ~ ~4 ~
-scoreboard players set $set_y gm4_ce_boss 0
-execute at @s run function gm4_combat_expanded:boss/watchers/running/attack/warp/pick_location_low/set_ypos
-
-scoreboard players add $warp_attempt gm4_ce_boss 1
-execute unless score $warp_attempt gm4_ce_boss matches 33.. run function gm4_combat_expanded:boss/watchers/running/attack/warp/pick_location_low/randomize
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/warp/pick_location_near/randomize.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/warp/pick_location_near/randomize.mcfunction
deleted file mode 100644
index a819419e52..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/warp/pick_location_near/randomize.mcfunction
+++ /dev/null
@@ -1,10 +0,0 @@
-# code taken from Orb of Ankou - expeditious
-# @s = vorpal marker
-# at @s
-# run from armor/type/vorpal/spawn_marker
-# run from armor/type/vorpal/tp_marker
-
-execute store result score $randomZ gm4_ce_boss run random value 0..2
-execute store result score $randomZ gm4_ce_boss run random value 0..2
-
-execute at @s run function gm4_combat_expanded:boss/watchers/running/attack/warp/pick_location_near/tp_marker
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/warp/pick_location_near/set_ypos.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/warp/pick_location_near/set_ypos.mcfunction
deleted file mode 100644
index 513b36f6e2..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/warp/pick_location_near/set_ypos.mcfunction
+++ /dev/null
@@ -1,11 +0,0 @@
-# code taken from Orb of Ankou - expeditious
-# @s = vorpal marker
-# at @s
-# run from armor/type/vorpal/tp_marker
-
-execute at @s run tp @s ~ ~-1 ~
-scoreboard players add $set_y gm4_ce_boss 1
-scoreboard players set $warp_safe gm4_ce_boss 0
-execute at @s unless entity @e[type=shulker,tag=gm4_ce_boss,distance=..0.5] if block ~ ~ ~ #minecraft:air if block ~ ~-1 ~ #gm4:no_collision unless block ~ ~-2 ~ #gm4:no_collision align xyz unless entity @e[type=minecraft:area_effect_cloud,dx=0,dy=0,dz=0] run scoreboard players set $warp_safe gm4_ce_boss 1
-execute if score $warp_safe gm4_ce_boss matches 1 run scoreboard players set $warp_attempt gm4_ce_boss 33
-execute unless score $set_y gm4_ce_boss matches 3.. at @s unless score $warp_safe gm4_ce_boss matches 1 run function gm4_combat_expanded:boss/watchers/running/attack/warp/pick_location_near/set_ypos
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/warp/pick_location_near/spawn_marker.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/warp/pick_location_near/spawn_marker.mcfunction
deleted file mode 100644
index 6041b6b60a..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/warp/pick_location_near/spawn_marker.mcfunction
+++ /dev/null
@@ -1,14 +0,0 @@
-# spawn a marker and start the moving of it
-# @s = vorpal marker
-# at @s
-# run from armor/type/vorpal/attempt
-
-tag @s add gm4_ce_boss.warp_locator
-execute at @r[gamemode=!spectator,gamemode=!creative,distance=..64] run tp @s ~-8 ~ ~-8
-execute store result score $y_pos gm4_ce_boss run data get entity @s Pos[1]
-scoreboard players set $warp_attempt gm4_ce_boss 0
-
-function gm4_combat_expanded:boss/watchers/running/attack/warp/pick_location_near/randomize
-
-execute if score $warp_safe gm4_ce_boss matches 1 at @s align xyz run tp @e[type=shulker,tag=gm4_ce_target] ~ ~ ~
-kill @s
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/warp/pick_location_near/tp_marker.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/warp/pick_location_near/tp_marker.mcfunction
deleted file mode 100644
index e01164b27b..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/warp/pick_location_near/tp_marker.mcfunction
+++ /dev/null
@@ -1,22 +0,0 @@
-# code taken from Orb of Ankou - expeditious
-# @s = vorpal marker
-# at @s
-# run from armor/type/vorpal/randomize
-
-execute at @s if score $randomX gm4_ce_boss matches 2.. run tp @s ~2 ~ ~
-execute if score $randomX gm4_ce_boss matches 2.. run scoreboard players remove $randomX gm4_ce_boss 2
-execute at @s if score $randomX gm4_ce_boss matches 1.. run tp @s ~1 ~ ~
-execute if score $randomX gm4_ce_boss matches 1.. run scoreboard players remove $randomX gm4_ce_boss 1
-
-execute at @s if score $randomZ gm4_ce_boss matches 2.. run tp @s ~ ~ ~2
-execute if score $randomZ gm4_ce_boss matches 2.. run scoreboard players remove $randomZ gm4_ce_boss 2
-execute at @s if score $randomZ gm4_ce_boss matches 1.. run tp @s ~ ~ ~1
-execute if score $randomZ gm4_ce_boss matches 1.. run scoreboard players remove $randomZ gm4_ce_boss 1
-
-execute store result entity @s Pos[1] double 1 run scoreboard players get $y_pos gm4_ce_boss
-execute at @s run tp @s ~ ~2 ~
-scoreboard players set $set_y gm4_ce_boss 0
-execute at @s run function gm4_combat_expanded:boss/watchers/running/attack/warp/pick_location_near/set_ypos
-
-scoreboard players add $warp_attempt gm4_ce_boss 1
-execute unless score $warp_attempt gm4_ce_boss matches 33.. run function gm4_combat_expanded:boss/watchers/running/attack/warp/pick_location_near/randomize
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/warp/prep.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/warp/prep.mcfunction
deleted file mode 100644
index 9ccf89e558..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/warp/prep.mcfunction
+++ /dev/null
@@ -1,4 +0,0 @@
-
-tp @e[type=block_display,tag=gm4_ce_boss.watcher.crystal,tag=gm4_ce_boss.watcher.running] ~ ~ ~ 0 -90
-playsound minecraft:block.amethyst_block.resonate hostile @a[distance=..32] ~ ~ ~ 1.5 0.65 1
-particle minecraft:reverse_portal ~ ~1.75 ~ 0 0 0 1 16
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/warp/process.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/warp/process.mcfunction
deleted file mode 100644
index 7de7c68025..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/attack/warp/process.mcfunction
+++ /dev/null
@@ -1,11 +0,0 @@
-
-scoreboard players add @s gm4_ce_boss.attack_progress 1
-
-execute if score @s gm4_ce_boss.attack_progress matches 2 run function gm4_combat_expanded:boss/watchers/running/attack/warp/away
-execute if score @s gm4_ce_boss.attack_progress matches 3 run function gm4_combat_expanded:boss/watchers/running/attack/warp/pick_location
-execute if score @s gm4_ce_boss.attack_progress matches 4 run function gm4_combat_expanded:boss/watchers/running/attack/warp/end
-
-scoreboard players set @s[scores={gm4_ce_boss.attack_progress=1,gm4_ce_boss.phase=1}] gm4_ce_boss.tick_delay 22
-scoreboard players set @s[scores={gm4_ce_boss.attack_progress=1,gm4_ce_boss.phase=2..3}] gm4_ce_boss.tick_delay 16
-scoreboard players set @s[scores={gm4_ce_boss.attack_progress=1,gm4_ce_boss.phase=4}] gm4_ce_boss.tick_delay 10
-scoreboard players set @s[scores={gm4_ce_boss.attack_progress=2..3}] gm4_ce_boss.tick_delay 3
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/health/bossbar.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/health/bossbar.mcfunction
deleted file mode 100644
index 0d55b0f164..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/health/bossbar.mcfunction
+++ /dev/null
@@ -1,7 +0,0 @@
-# update boss health bar
-# @s = boss shulker (main)
-# at @s
-# run from boss/watchers/tick
-
-$execute store result bossbar gm4_combat_expanded:boss_watcher_$(running_id) value run scoreboard players get @s gm4_ce_boss.health
-$bossbar set gm4_combat_expanded:boss_watcher_$(running_id) players @a[distance=..96]
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/health/immune_add.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/health/immune_add.mcfunction
deleted file mode 100644
index fae9516dc4..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/health/immune_add.mcfunction
+++ /dev/null
@@ -1,9 +0,0 @@
-# set boss to be immune to damage
-# @s = boss shulker
-# at @s
-# run from boss/watchers/running/attack/explode_minions/explode_warp/away
-# run from boss/watchers/running/attack/shield/process
-
-tag @s add gm4_ce_boss.watcher.immune
-
-execute unless score @s gm4_ce_boss.attack_id matches 6 positioned ~ ~0.5 ~ summon item_display run function gm4_combat_expanded:boss/watchers/running/health/immune_shield
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/health/immune_remove.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/health/immune_remove.mcfunction
deleted file mode 100644
index 91e79da07b..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/health/immune_remove.mcfunction
+++ /dev/null
@@ -1,9 +0,0 @@
-# set boss to no longer be immune to damage
-# @s = boss shulker
-# at @s
-# run from boss/watchers/running/attack/explode_minions/explode_warp/end
-# run from boss/watchers/running/attack/shield/end
-
-tag @s remove gm4_ce_boss.watcher.immune
-
-execute as @e[type=item_display,tag=gm4_ce_boss.watcher.shield] if score @s gm4_ce_boss.id = $running_id gm4_ce_boss.id run kill @s
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/health/immune_shield.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/health/immune_shield.mcfunction
deleted file mode 100644
index ef7fe84b15..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/health/immune_shield.mcfunction
+++ /dev/null
@@ -1,7 +0,0 @@
-# init shield display
-# @s = item display
-# at @s
-# run from boss/watchers/health/immune_add
-
-data merge entity @s {Tags:["gm4_ce_boss.watcher","gm4_ce_boss.watcher.shield"],brightness:{sky:2,block:2},transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0f,0f],scale:[1.04f,1.04f,1.04f]},item:{id:"minecraft:black_stained_glass",count:1}}
-scoreboard players operation @s gm4_ce_boss.id = $running_id gm4_ce_boss.id
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/health/init_display.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/health/init_display.mcfunction
deleted file mode 100644
index c2f33f8910..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/health/init_display.mcfunction
+++ /dev/null
@@ -1,7 +0,0 @@
-# init hurtbox display
-# @s = item display
-# at @s
-# run from boss/watchers/health/update
-
-data merge entity @s {Tags:["gm4_ce_boss.watcher","gm4_ce_boss.watcher.hurtbox","gm4_ce_boss.watcher.temp_display","gm4_ce_boss.watcher.head"],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0.5f,0f],scale:[1.04f,1.04f,1.04f]},item:{id:"minecraft:red_stained_glass",count:1}}
-scoreboard players operation @s gm4_ce_boss.id = $running_id gm4_ce_boss.id
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/health/update.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/health/update.mcfunction
deleted file mode 100644
index 83c53dcb92..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/health/update.mcfunction
+++ /dev/null
@@ -1,32 +0,0 @@
-# update health value of boss if it has been hit
-# @s = boss shulker (main)
-# at @s
-# run from boss/watchers/tick
-
-# get damage taken
-scoreboard players set $health_change gm4_ce_boss 960
-scoreboard players operation $health_change gm4_ce_boss -= $health gm4_ce_boss
-data modify entity @s Health set value 960f
-
-# if immune do not apply damage and play shield sound
-execute if entity @s[tag=gm4_ce_boss.watcher.immune] if score $health_change gm4_ce_boss matches 1.. run playsound minecraft:item.shield.block hostile @a[distance=..64] ~ ~ ~ 0.75 0.8 1
-execute if entity @s[tag=gm4_ce_boss.watcher.immune] if score $health_change gm4_ce_boss matches 1.. run scoreboard players set $health_change gm4_ce_boss 0
-
-# if damaged play sound and spawn hurtbox
-execute if score $health_change gm4_ce_boss matches 1.. run playsound minecraft:entity.allay.hurt hostile @a ~ ~ ~ 0.5 0
-execute if score $health_change gm4_ce_boss matches 1.. if score @s gm4_ce_boss.health matches 1.. summon item_display run function gm4_combat_expanded:boss/watchers/running/health/init_display
-
-# update health value of boss with own and secondary health loss
-scoreboard players operation @s gm4_ce_boss.health -= $health_change gm4_ce_boss
-scoreboard players operation @s gm4_ce_boss.health -= $twin_health_change gm4_ce_boss
-
-# trigger next phases if health drops below threshold
-execute if score @s[tag=!gm4_ce_boss.watcher.has_twin,scores={gm4_ce_boss.phase=1}] gm4_ce_boss.health matches ..225 run scoreboard players set @s gm4_ce_boss.phase 2
-execute if score @s[tag=!gm4_ce_boss.watcher.has_twin,scores={gm4_ce_boss.phase=2}] gm4_ce_boss.health matches ..150 run scoreboard players set @s gm4_ce_boss.phase 3
-execute if score @s[tag=!gm4_ce_boss.watcher.has_twin,scores={gm4_ce_boss.phase=3}] gm4_ce_boss.health matches ..75 run scoreboard players set @s gm4_ce_boss.phase 4
-execute if score @s[tag=gm4_ce_boss.watcher.has_twin,scores={gm4_ce_boss.phase=1}] gm4_ce_boss.health matches ..450 run scoreboard players set @s gm4_ce_boss.phase 2
-execute if score @s[tag=gm4_ce_boss.watcher.has_twin,scores={gm4_ce_boss.phase=2}] gm4_ce_boss.health matches ..300 run scoreboard players set @s gm4_ce_boss.phase 3
-execute if score @s[tag=gm4_ce_boss.watcher.has_twin,scores={gm4_ce_boss.phase=3}] gm4_ce_boss.health matches ..150 run scoreboard players set @s gm4_ce_boss.phase 4
-
-# kill boss if health drops below 0
-execute if score @s gm4_ce_boss.health matches ..0 run function gm4_combat_expanded:boss/watchers/defeated/kill
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/health/update_twin.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/health/update_twin.mcfunction
deleted file mode 100644
index 294bcb5a71..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/health/update_twin.mcfunction
+++ /dev/null
@@ -1,17 +0,0 @@
-# update health value of boss if it has been hit
-# @s = boss shulker (secondary)
-# at @s
-# run from boss/watchers/tick_twin
-
-# get damage taken
-scoreboard players set $twin_health_change gm4_ce_boss 960
-scoreboard players operation $twin_health_change gm4_ce_boss -= $health gm4_ce_boss
-data modify entity @s Health set value 960f
-
-# if immune do not apply damage and play shield sound
-execute if entity @s[tag=gm4_ce_boss.watcher.immune] if score $twin_health_change gm4_ce_boss matches 1.. run playsound minecraft:item.shield.block hostile @a[distance=..64] ~ ~ ~ 0.75 0.8 1
-execute if entity @s[tag=gm4_ce_boss.watcher.immune] if score $twin_health_change gm4_ce_boss matches 1.. run scoreboard players set $twin_health_change gm4_ce_boss 0
-
-# if damaged play sound and spawn hurtbox
-execute if score $twin_health_change gm4_ce_boss matches 1.. run playsound minecraft:entity.allay.hurt hostile @a ~ ~ ~ 0.5 0
-execute if score $twin_health_change gm4_ce_boss matches 1.. summon item_display run function gm4_combat_expanded:boss/watchers/running/health/init_display
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/pick_attack.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/pick_attack.mcfunction
deleted file mode 100644
index b5c3d43a95..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/pick_attack.mcfunction
+++ /dev/null
@@ -1,79 +0,0 @@
-# pick a new attack
-# @s = boss shulker
-# at @s
-# run from boss/watchers/running/process
-
-## SLAM
-# Watcher charges an attack over a medium duration, then explodes the ground below with a lingering damage cloud (dragon fireball)
-# Slam deals 14 magic damage in a vertical column down from its location
-# Players hit are affected by darkness, slowness, mining fatigue V and -6 armor for 10 seconds
-# Phase 1: unlock attack
-# Phase 2: -
-# Phase 3: attack charges faster, act faster after the attack
-# Phase 2: warp above a nearby player just before the slam (33%)
-# Trigger: players below the Watcher (75%)
-execute unless score @s[scores={gm4_ce_boss.attack_id=0}] gm4_ce_boss.last_attack matches 4 positioned ~-3 ~-20 ~-3 align xyz if entity @a[gamemode=!spectator,gamemode=!creative,dx=6,dy=16,dz=6] if predicate gm4_combat_expanded:technical/chance/boss/slam_attack run scoreboard players set @s gm4_ce_boss.attack_id 4
-
-## EXPLODE MINIONS (main only)
-# Watcher dissapears and commands all living zombie minions to explode, one after another
-# Explosion can destroy some terrain and deals 18 / 10 explosion damage to players depending on distance
-# Players hit are slowed by 40% for 10 seconds
-# Phase 1: -
-# Phase 2: unlock attack
-# Phase 3: -
-# Phase 4: minions start exploding earlier, explode faster after eachother
-# Trigger: players close to mobs (40%)
-scoreboard players set $explode_minions_valid gm4_ce_boss 0
-execute as @e[type=#gm4_combat_expanded:zombie_types,tag=gm4_ce_boss.watcher.minion] if score @s gm4_ce_boss.id = $running_id gm4_ce_boss.id at @s if entity @p[gamemode=!spectator,gamemode=!creative,distance=..5] run scoreboard players set $explode_minions_valid gm4_ce_boss 1
-execute unless score @s[tag=gm4_ce_boss.watcher.main,scores={gm4_ce_boss.attack_id=0,gm4_ce_boss.phase=2..}] gm4_ce_boss.last_attack matches 6 if score $explode_minions_valid gm4_ce_boss matches 1 if predicate gm4_combat_expanded:technical/chance/boss/explode_minions run scoreboard players set @s gm4_ce_boss.attack_id 6
-
-## SUMMON MINIONS
-# Watcher spawns a minion around it to attack players (mobs spawned from secondary count as belonging to the main Watcher)
-# Zombies have a difficulty of 85 and Skeletons 65, used for armor spawns - these mobs do not get modifiers
-# Phase 1: unlock attack
-# Phase 2: spawn 2 (75%) or 4 (25%) minions instead
-# Phase 3: can spawn skeletons (40%), minions are spawned faster
-# Phase 4: minions are spawned faster
-# Trigger: players in vicinity, not too many mobs alive (60%)
-execute store result score $minion_count gm4_ce_boss if entity @e[type=#gm4_combat_expanded:zombie_types,tag=gm4_ce_boss.watcher.minion,distance=..64]
-execute store result score $player_count gm4_ce_boss if entity @a[gamemode=!spectator,gamemode=!creative,distance=..32]
-scoreboard players operation $mob_limit gm4_ce_boss = $mob_limit.boss_minions_per_player gm4_ce_data
-scoreboard players operation $mob_limit gm4_ce_boss *= $player_count gm4_ce_boss
-execute unless score @s[scores={gm4_ce_boss.attack_id=0}] gm4_ce_boss.last_attack matches 5 unless score $minion_count gm4_ce_boss >= $mob_limit gm4_ce_boss if entity @a[gamemode=!spectator,gamemode=!creative,distance=5..18] if predicate gm4_combat_expanded:technical/chance/boss/summon_minions run scoreboard players set @s gm4_ce_boss.attack_id 5
-
-## AURA
-# Watcher starts spinning, then deals constant damage around it and knocking players back
-# Damage ramps up from 3 to 10 wither damage
-# Player within range have darkness applied
-# Phase 1: -
-# Phase 2: unlock attack
-# Phase 3: -
-# Phase 4: attack spins up faster
-# Trigger: players are found closeby (100% main, 25% secondary)
-execute unless score @s[scores={gm4_ce_boss.attack_id=0,gm4_ce_boss.phase=2..}] gm4_ce_boss.last_attack matches 7 if entity @p[gamemode=!spectator,gamemode=!creative,distance=..5.25] positioned ~-5.5 ~-1.5 ~-5.5 if entity @p[gamemode=!spectator,gamemode=!creative,dx=10,dy=2,dz=10] if predicate gm4_combat_expanded:technical/chance/boss/aura_attack run scoreboard players set @s gm4_ce_boss.attack_id 7
-
-## FIREBALL
-# Watcher marks the closest player, firing 3 volleys of fireworks after a delay
-# Phase 1: Watcher tracks the closest player, firing 3 volleys of small fireballs
-# Phase 2: follows the small fireballs with a large one that explodes
-# Phase 3: fireworks come out faster, fireball is bigger
-# Phase 4: immediatly warp away after firing the fireball
-# Trigger: players are a middle distance from the Watcher (35% main, 80% secondary)
-execute unless score @s[scores={gm4_ce_boss.attack_id=0}] gm4_ce_boss.last_attack matches 2 if entity @p[gamemode=!spectator,gamemode=!creative,distance=8..20] if predicate gm4_combat_expanded:technical/chance/boss/fireball_attack run scoreboard players set @s gm4_ce_boss.attack_id 2
-
-## WARP
-# Watcher charges for a time, then warps away to a different location nearby a player
-# Can warp low or high up, main can warp close by, secondary can warp far away
-# Phase 1: unlock attack
-# Phase 2: charge time is shorter
-# Phase 3: act faster after the warp
-# Phase 4: charge time is shorter
-# if players are found within warp range (100%)
-execute unless score @s gm4_ce_boss.attack_id matches 1.. if entity @a[gamemode=!spectator,gamemode=!creative,distance=..64] run scoreboard players set @s gm4_ce_boss.attack_id 3
-
-## SHIELD
-# Watcher shields itself if it cannot find nearby players (100%)
-execute unless score @s gm4_ce_boss.attack_id matches 1.. unless entity @a[gamemode=!spectator,gamemode=!creative,distance=..64] run scoreboard players set @s gm4_ce_boss.attack_id 8
-
-# stop the boss from repeating attacks, except warp or shield
-scoreboard players operation @s gm4_ce_boss.last_attack = @s gm4_ce_boss.attack_id
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/process.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/process.mcfunction
deleted file mode 100644
index 8570a6e972..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/running/process.mcfunction
+++ /dev/null
@@ -1,29 +0,0 @@
-# process watcher boss
-# @s = boss shulker
-# at @s
-# run from boss/watchers/tick_twin
-# run from boss/watchers/tick
-
-# reset peek to 1 and Attachface to 1 if it got lost
-data merge entity @s[nbt=!{Peek:1b,AttachFace:1b}] {Peek:1b,AttachFace:1b}
-
-# tag all entities affiliated with this boss entity
-execute as @e[tag=gm4_ce_boss.watcher.head] if score @s gm4_ce_boss.id = $running_id gm4_ce_boss.id run tag @s add gm4_ce_boss.watcher.running
-tag @s add gm4_ce_boss.watcher.running
-
-# pick new attack if there was none selected
-execute unless score @s gm4_ce_boss.attack_id matches 1.. run function gm4_combat_expanded:boss/watchers/running/pick_attack
-# spawning
-execute if score @s gm4_ce_boss.attack_id matches 1 run function gm4_combat_expanded:boss/watchers/running/attack/spawn/process
-# process attacks
-execute if score @s gm4_ce_boss.attack_id matches 2 run function gm4_combat_expanded:boss/watchers/running/attack/fireball/process
-execute if score @s gm4_ce_boss.attack_id matches 3 run function gm4_combat_expanded:boss/watchers/running/attack/warp/process
-execute if score @s gm4_ce_boss.attack_id matches 4 run function gm4_combat_expanded:boss/watchers/running/attack/slam/process
-execute if score @s gm4_ce_boss.attack_id matches 5 run function gm4_combat_expanded:boss/watchers/running/attack/summon_minions/process
-execute if score @s gm4_ce_boss.attack_id matches 6 run function gm4_combat_expanded:boss/watchers/running/attack/explode_minions/process
-execute if score @s gm4_ce_boss.attack_id matches 7 run function gm4_combat_expanded:boss/watchers/running/attack/aura/process
-# shield
-execute if score @s gm4_ce_boss.attack_id matches 8 run function gm4_combat_expanded:boss/watchers/running/attack/shield/process
-
-# remove tracking tags
-tag @e remove gm4_ce_boss.watcher.running
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/tick.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/tick.mcfunction
deleted file mode 100644
index 4210c6822d..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/tick.mcfunction
+++ /dev/null
@@ -1,35 +0,0 @@
-# tick watcher boss
-# @s = boss shulker (main)
-# at @s
-# run from clocks/boss/watchers
-
-# keep boss clock active
-scoreboard players set $keep_tick.boss gm4_ce_keep_tick 1
-
-# grab id
-scoreboard players operation $running_id gm4_ce_boss.id = @s gm4_ce_boss.id
-
-# process linked twin first
-scoreboard players operation $phase gm4_ce_boss = @s gm4_ce_boss.phase
-execute if entity @s[tag=gm4_ce_boss.watcher.has_twin] as @e[type=shulker,tag=gm4_ce_boss.watcher.secondary] if score @s gm4_ce_boss.secondary_id = $running_id gm4_ce_boss.id at @s run function gm4_combat_expanded:boss/watchers/tick_twin
-
-# regain id and put in storage
-execute store result storage gm4_combat_expanded:temp boss.running_id int 1 run scoreboard players operation $running_id gm4_ce_boss.id = @s gm4_ce_boss.id
-
-# process health
-execute store result score $health gm4_ce_boss run data get entity @s Health
-execute unless score $health gm4_ce_boss matches 960 if score @s gm4_ce_boss.phase matches 1.. run function gm4_combat_expanded:boss/watchers/running/health/update
-execute if score $health gm4_ce_boss matches 960 if score $twin_health_change gm4_ce_boss matches 1.. run function gm4_combat_expanded:boss/watchers/running/health/update
-scoreboard players reset $twin_health_change gm4_ce_boss
-
-# update health bar
-function gm4_combat_expanded:boss/watchers/running/health/bossbar with storage gm4_combat_expanded:temp boss
-
-# don't process if boss just died
-execute if score @s gm4_ce_boss.health matches ..0 run return 0
-
-# only fully process when the boss needs to act again
-scoreboard players remove @s gm4_ce_boss.tick_delay 1
-execute unless score @s gm4_ce_boss.tick_delay matches 1.. run function gm4_combat_expanded:boss/watchers/running/process
-
-data remove storage gm4_combat_expanded:temp boss
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/tick_twin.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/tick_twin.mcfunction
deleted file mode 100644
index bfad0f9ecb..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/boss/watchers/tick_twin.mcfunction
+++ /dev/null
@@ -1,18 +0,0 @@
-# tick watcher boss
-# @s = boss shulker (secondary)
-# at @s
-# run from boss/watchers/tick
-
-# update phase
-scoreboard players operation @s gm4_ce_boss.phase = $phase gm4_ce_boss
-
-# grab id
-scoreboard players operation $running_id gm4_ce_boss.id = @s gm4_ce_boss.id
-
-# process health
-execute store result score $health gm4_ce_boss run data get entity @s Health
-execute unless score $health gm4_ce_boss matches 960 run function gm4_combat_expanded:boss/watchers/running/health/update_twin
-
-# only fully process when the boss needs to act again
-scoreboard players remove @s gm4_ce_boss.tick_delay 1
-execute unless score @s gm4_ce_boss.tick_delay matches 1.. run function gm4_combat_expanded:boss/watchers/running/process
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/check_item.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/check_item.mcfunction
deleted file mode 100644
index 99213795e3..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/check_item.mcfunction
+++ /dev/null
@@ -1,17 +0,0 @@
-# check items on ground for Combat Expanded items
-# @s = item
-# at unspecified
-# run from tick
-
-# tag item as checked and try to process
-tag @s add gm4_ce_item_checked
-scoreboard players set $item_processed gm4_ce_data 0
-
-# check for unidentified items
-execute if items entity @s contents *[custom_data~{gm4_combat_expanded:{identified:0}}] at @s run function gm4_combat_expanded:identification/prep
-
-# check for spores
-execute if score $item_processed gm4_ce_data matches 0 if items entity @s contents *[custom_data~{gm4_ce_spore:{}}] run function gm4_combat_expanded:mob/process/spore/initialise
-
-# tag link armor
-execute if score $item_processed gm4_ce_data matches 0 if data entity @s Item.components."minecraft:custom_data".gm4_combat_expanded.link_id run tag @s add gm4_ce_link.forming
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/clocks/boss/watchers.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/clocks/boss/watchers.mcfunction
deleted file mode 100644
index 06052378b9..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/clocks/boss/watchers.mcfunction
+++ /dev/null
@@ -1,15 +0,0 @@
-# use this tick clock only when needed
-# @s = unspecified
-# at unspecified
-# schedule from main
-# schedule from boss/watchers/activation/spawn/head
-# schedule from here
-
-scoreboard players set $keep_tick.boss gm4_ce_keep_tick 0
-execute as @e[type=shulker,tag=gm4_ce_boss.watcher.main] at @s run function gm4_combat_expanded:boss/watchers/tick
-
-scoreboard players add @e[tag=gm4_ce_boss.watcher.temp_display] gm4_ce_boss.tick_delay 1
-kill @e[tag=gm4_ce_boss.watcher.temp_display,scores={gm4_ce_boss.tick_delay=9..}]
-
-execute if score $keep_tick.boss gm4_ce_keep_tick matches 0 run kill @e[tag=gm4_ce_boss.watcher.temp_display]
-execute if score $keep_tick.boss gm4_ce_keep_tick matches 1 run schedule function gm4_combat_expanded:clocks/boss/watchers 1t
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/clocks/player_submain.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/clocks/player_submain.mcfunction
deleted file mode 100644
index ea75abe406..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/clocks/player_submain.mcfunction
+++ /dev/null
@@ -1,39 +0,0 @@
-# process anything player related
-# @s = unspecified
-# at unspecified
-# scheduled from main (8t)
-
-# prep sword_ring armor
-scoreboard players reset @a gm4_ce_sword_ring
-
-# check natural regeneation
-execute unless score $natural_regen gm4_ce_data matches -1 store result score $natural_regen gm4_ce_data run gamerule naturalRegeneration
-
-# prep link armor
-scoreboard players set $link.calc_max_health gm4_ce_data 1
-tag @a remove gm4_ce_linked
-scoreboard players reset @a gm4_ce_link_id
-
-# process players
-execute as @a[gamemode=!spectator] run function gm4_combat_expanded:player/process
-
-# linked armor after player processing
-tag @a[tag=!gm4_ce_linked] remove gm4_ce_was_linked
-
-# apply horse speed effect
-execute as @a on vehicle if score @s gm4_ce_horse.speed_level matches 1.. run function gm4_combat_expanded:armor/modifier/type/horse/apply_effect
-
-# timers
-scoreboard players remove @a[scores={gm4_ce_t_shield=1..}] gm4_ce_t_shield 1
-scoreboard players remove @a[scores={gm4_ce_t_wolf=1..}] gm4_ce_t_wolf 1
-scoreboard players remove @a[scores={gm4_ce_t_soothe=1..}] gm4_ce_t_soothe 1
-scoreboard players remove @a[scores={gm4_ce_t_reactive=1..}] gm4_ce_t_reactive 1
-scoreboard players remove @a[scores={gm4_ce_natural_regen_damage=1..}] gm4_ce_natural_regen_damage 1
-scoreboard players remove @a[scores={gm4_ce_pvp_timer=1..}] gm4_ce_pvp_timer 1
-
-# reset scoreboards
-scoreboard players reset @a gm4_ce_hurt
-scoreboard players reset @a gm4_ce_kill
-scoreboard players reset @a gm4_ce_kill2
-scoreboard players reset @a gm4_ce_sprinting
-scoreboard players reset @a gm4_ce_swimming
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/clocks/temp/archer.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/clocks/temp/archer.mcfunction
deleted file mode 100644
index efad8f1eda..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/clocks/temp/archer.mcfunction
+++ /dev/null
@@ -1,15 +0,0 @@
-# use this tick clock only when needed
-# @s = unspecified
-# at unspecified
-# schedule from main
-# schedule from armor/modifier/type/archer/activate
-# schedule from here
-
-# archer
-execute as @a[tag=gm4_ce_wearing_archer] run scoreboard players operation @s gm4_ce_used_bow += @s gm4_ce_used_crossbow
-execute as @a[tag=gm4_ce_wearing_archer,scores={gm4_ce_used_bow=1..}] at @s run function gm4_combat_expanded:armor/modifier/type/archer/find_arrow
-scoreboard players reset @a gm4_ce_used_bow
-scoreboard players reset @a gm4_ce_used_crossbow
-
-execute store success score $keep_tick.archer gm4_ce_keep_tick if entity @a[tag=gm4_ce_wearing_archer]
-execute if score $keep_tick.archer gm4_ce_keep_tick matches 1 run schedule function gm4_combat_expanded:clocks/temp/archer 1t
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/clocks/temp/beacon.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/clocks/temp/beacon.mcfunction
deleted file mode 100644
index 69f7874cea..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/clocks/temp/beacon.mcfunction
+++ /dev/null
@@ -1,13 +0,0 @@
-# use this tick clock only when needed
-# @s = unspecified
-# at unspecified
-# schedule from main
-# schedule from here
-
-scoreboard players set $keep_tick.beacon gm4_ce_keep_tick 0
-
-scoreboard players add $check.beacon gm4_ce_keep_tick 1
-execute as @a[predicate=gm4_combat_expanded:modified_armor/beacon,gamemode=!spectator] at @s run function gm4_combat_expanded:armor/modifier/type/beacon/prep
-execute as @e[type=block_display,tag=gm4_ce_beacon] unless score @s gm4_ce_keep_tick = $check.beacon gm4_ce_keep_tick at @s run function gm4_combat_expanded:armor/modifier/type/beacon/remove
-
-execute if score $keep_tick.beacon gm4_ce_keep_tick matches 1 run schedule function gm4_combat_expanded:clocks/temp/beacon 1t
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/clocks/temp/burn.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/clocks/temp/burn.mcfunction
deleted file mode 100644
index ff112eaf3d..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/clocks/temp/burn.mcfunction
+++ /dev/null
@@ -1,11 +0,0 @@
-# use this clock only when needed
-# @s = unspecified
-# at unspecified
-# schedule from armor/modifier/type/burn/trigger_damage
-# schedule from armor/modifier/type/burn/trigger_kill
-# schedule from player/relog
-# schedule from here
-
-scoreboard players set $keep_tick.burn gm4_ce_keep_tick 0
-execute as @a[scores={gm4_ce_burning.duration=1..}] at @s run function gm4_combat_expanded:armor/modifier/type/burn/active
-execute if score $keep_tick.burn gm4_ce_keep_tick matches 1 run schedule function gm4_combat_expanded:clocks/temp/burn 10t
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/clocks/temp/delay.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/clocks/temp/delay.mcfunction
deleted file mode 100644
index 2c6888501b..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/clocks/temp/delay.mcfunction
+++ /dev/null
@@ -1,9 +0,0 @@
-# use this tick clock only when needed
-# @s = unspecified
-# at unspecified
-# schedule from weapon/modifier/delay/prime
-# schedule from here
-
-scoreboard players set $keep_tick.delay gm4_ce_keep_tick 0
-execute as @e[tag=gm4_ce_delay_active] at @s run function gm4_combat_expanded:weapon/modifier/delay/tick
-execute if score $keep_tick.delay gm4_ce_keep_tick matches 1 run schedule function gm4_combat_expanded:clocks/temp/delay 10t
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/clocks/temp/lightning.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/clocks/temp/lightning.mcfunction
deleted file mode 100644
index 55f58c8416..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/clocks/temp/lightning.mcfunction
+++ /dev/null
@@ -1,10 +0,0 @@
-# use this tick clock only when needed
-# @s = unspecified
-# at unspecified
-# schedule from armor/modifier/type/spark/activate
-# schedule from weapon/modifier/lightning/add_score
-# schedule from here
-
-scoreboard players set $keep_tick.lightning gm4_ce_keep_tick 0
-execute as @e[scores={gm4_ce_lightning_charge=1..}] at @s run function gm4_combat_expanded:weapon/modifier/lightning/tick
-execute if score $keep_tick.lightning gm4_ce_keep_tick matches 1 run schedule function gm4_combat_expanded:clocks/temp/lightning 1t
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/clocks/temp/link.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/clocks/temp/link.mcfunction
deleted file mode 100644
index 1897547f61..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/clocks/temp/link.mcfunction
+++ /dev/null
@@ -1,29 +0,0 @@
-# use this tick clock only when needed
-# @s = unspecified
-# at unspecified
-# schedule from amor/modifier/type/link/check
-# schedule from here
-
-scoreboard players set $keep_tick.link gm4_ce_keep_tick 0
-# calculate hp for all players in this link
-execute as @a[tag=gm4_ce_linked] run function gm4_combat_expanded:player/calculate_hp
-
-# get links into storage
-data modify storage gm4_combat_expanded:temp run_links set from storage gm4_combat_expanded:data active_links
-
-# always keep first entry, it is for unlicked (licked? yes, licked) linked pieces
-data modify storage gm4_combat_expanded:temp rebuild_links set value []
-data modify storage gm4_combat_expanded:temp rebuild_links append from storage gm4_combat_expanded:temp run_links[0]
-data remove storage gm4_combat_expanded:temp run_links[0]
-
-# process active links
-execute if data storage gm4_combat_expanded:temp run_links[0] run function gm4_combat_expanded:armor/modifier/type/link/process/loop_links
-
-# put any still active links back
-data modify storage gm4_combat_expanded:data active_links set from storage gm4_combat_expanded:temp rebuild_links
-data remove storage gm4_combat_expanded:temp rebuild_links
-
-# only calc max health stuff once per 16t
-scoreboard players set $link.calc_max_health gm4_ce_data 0
-
-execute if score $keep_tick.link gm4_ce_keep_tick matches 1 run schedule function gm4_combat_expanded:clocks/temp/link 1t
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/clocks/temp/sword_ring.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/clocks/temp/sword_ring.mcfunction
deleted file mode 100644
index 2ce8f1936f..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/clocks/temp/sword_ring.mcfunction
+++ /dev/null
@@ -1,13 +0,0 @@
-# use this tick clock only when needed
-# @s = unspecified
-# at unspecified
-# schedule from main
-# schedule from here
-
-scoreboard players set $keep_tick.sword_ring gm4_ce_keep_tick 0
-
-scoreboard players add $check.sword_ring gm4_ce_keep_tick 1
-execute as @a[predicate=gm4_combat_expanded:modified_armor/sword_ring,gamemode=!spectator] at @s run function gm4_combat_expanded:armor/modifier/type/sword_ring/prep
-execute as @e[type=item_display,tag=gm4_ce_sword_ring.sword] unless score @s gm4_ce_keep_tick = $check.sword_ring gm4_ce_keep_tick run kill @s
-
-execute if score $keep_tick.sword_ring gm4_ce_keep_tick matches 1 run schedule function gm4_combat_expanded:clocks/temp/sword_ring 1t
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/clocks/temp/totem.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/clocks/temp/totem.mcfunction
deleted file mode 100644
index 767bd51cd8..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/clocks/temp/totem.mcfunction
+++ /dev/null
@@ -1,9 +0,0 @@
-# clock totem processing
-# @s = unspecified
-# at unspecified
-# scheduled from armor/modifier/type/totem/activate
-# scheduled from here
-
-execute as @e[type=armor_stand,tag=gm4_ce_totem] at @s run function gm4_combat_expanded:armor/modifier/type/totem/process
-
-execute if entity @e[type=armor_stand,tag=gm4_ce_totem,limit=1] run schedule function gm4_combat_expanded:clocks/temp/totem 5s
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/dont_run/dev.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/dont_run/dev.mcfunction
deleted file mode 100644
index bad96fc1c6..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/dont_run/dev.mcfunction
+++ /dev/null
@@ -1,8 +0,0 @@
-execute store result score $dev.difficulty gm4_ce_data run scoreboard players get @s gm4_ce_difficult.mob
-execute store result score $dev.health gm4_ce_data run attribute @s minecraft:max_health get 1
-execute store result score $dev.damage gm4_ce_data run attribute @s minecraft:attack_damage get 15
-execute store result score $dev.speed gm4_ce_data run attribute @s minecraft:movement_speed get 100
-execute store result score $dev.armor gm4_ce_data run attribute @s minecraft:armor get 1
-execute store result score $dev.toughness gm4_ce_data run attribute @s minecraft:armor_toughness get 1
-execute at @s run particle firework ~ ~1 ~ 0.2 0.5 0.2 0 3 force @p[tag=gm4_ce_dev]
-title @p[tag=gm4_ce_dev] actionbar [{"text":"Diff: ","color":"gray"},{"score":{"name":"$dev.difficulty","objective":"gm4_ce_data"},"color":"white"},{"text":" Health: ","color":"gray"},{"score":{"name":"$dev.health","objective":"gm4_ce_data"},"color":"white"},{"text":" Damage: "},{"score":{"name":"$dev.damage","objective":"gm4_ce_data"},"color":"white"},{"text":" Speed: "},{"score":{"name":"$dev.speed","objective":"gm4_ce_data"},"color":"white"},{"text":" Armor: "},{"score":{"name":"$dev.armor","objective":"gm4_ce_data"},"color":"white"},{"text":" Toughness: "},{"score":{"name":"$dev.toughness","objective":"gm4_ce_data"},"color":"white"}]
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/dont_run/eval_armor.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/dont_run/eval_armor.mcfunction
deleted file mode 100644
index 9ad9e182c1..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/dont_run/eval_armor.mcfunction
+++ /dev/null
@@ -1,22 +0,0 @@
-execute unless data entity @s SelectedItem.components."minecraft:custom_data".gm4_combat_expanded{identified:0}.armor_clamp run loot replace entity @s weapon.mainhand loot gm4_combat_expanded:armor/material/iron/chest
-data modify storage gm4_combat_expanded:temp components set from entity @s SelectedItem.components
-
-function gm4_combat_expanded:identification/armor/randomize_stats
-$loot replace block 29999998 1 7134 container.4 loot gm4_combat_expanded:armor/identification/modifier/$(id)
-data modify storage gm4_combat_expanded:temp new_components set from block 29999998 1 7134 Items[{Slot:4b}].components
-
-function gm4_combat_expanded:identification/armor/fix_components
-
-# set components
-data modify storage gm4_combat_expanded:temp components set from storage gm4_combat_expanded:temp new_components
-data remove storage gm4_combat_expanded:temp new_components
-data modify storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.identified set value 1
-data modify storage gm4_combat_expanded:temp components."minecraft:damage" set value 0
-
-# modify armor
-item replace block 29999998 1 7134 container.0 from entity @s weapon.mainhand
-data modify block 29999998 1 7134 Items[{Slot:0b}].components merge from storage gm4_combat_expanded:temp components
-data modify block 29999998 1 7134 Items[{Slot:0b}].components."minecraft:custom_data".gm4_combat_expanded merge from storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded
-item replace entity @s weapon.mainhand from block 29999998 1 7134 container.0
-data remove block 29999998 1 7134 Items
-data remove storage gm4_combat_expanded:temp components
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/dont_run/eval_weapon.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/dont_run/eval_weapon.mcfunction
deleted file mode 100644
index 348ab85610..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/dont_run/eval_weapon.mcfunction
+++ /dev/null
@@ -1,27 +0,0 @@
-execute unless data entity @s SelectedItem.components."minecraft:custom_data".gm4_combat_expanded{identified:0}.damage run loot replace entity @s weapon.mainhand loot gm4_combat_expanded:weapon/sword/iron
-data modify storage gm4_combat_expanded:temp components set from entity @s SelectedItem.components
-
-function gm4_combat_expanded:identification/weapon/randomize_stats
-$loot replace block 29999998 1 7134 container.1 loot gm4_combat_expanded:weapon/identification/modifier/$(id)
-data modify storage gm4_combat_expanded:temp new_components merge from block 29999998 1 7134 Items[{Slot:1b}].components
-
-# fix components
-function gm4_combat_expanded:identification/weapon/fix_components
-
-# set components
-data modify storage gm4_combat_expanded:temp components set from storage gm4_combat_expanded:temp new_components
-data remove storage gm4_combat_expanded:temp new_components
-data modify storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.identified set value 1
-data modify storage gm4_combat_expanded:temp components."minecraft:damage" set value 0
-
-# sharpness
-execute store result score $current_sharpness gm4_ce_data run data get storage gm4_combat_expanded:temp components."minecraft:enchantments".levels."minecraft:sharpness"
-execute if score $current_sharpness gm4_ce_data matches 1.. run function gm4_combat_expanded:weapon/update_sharpness
-
-# modify weapon
-item replace block 29999998 1 7134 container.0 from entity @s weapon.mainhand
-data modify block 29999998 1 7134 Items[{Slot:0b}].components merge from storage gm4_combat_expanded:temp components
-data modify block 29999998 1 7134 Items[{Slot:0b}].components."minecraft:custom_data".gm4_combat_expanded merge from storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded
-item replace entity @s weapon.mainhand from block 29999998 1 7134 container.0
-data remove block 29999998 1 7134 Items
-data remove storage gm4_combat_expanded:temp components
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/dont_run/spawn_boss_cage.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/dont_run/spawn_boss_cage.mcfunction
deleted file mode 100644
index 210a3931ea..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/dont_run/spawn_boss_cage.mcfunction
+++ /dev/null
@@ -1,3 +0,0 @@
-
-##TODO
-#setblock ~ ~ ~ minecraft:vault{config:{loot_table:"gm4_combat_expanded:boss/watchers/activation",override_loot_table_to_display:"",activation_range:10,deactivation_range:11}}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/give_unidentified_set/diamond.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/give_unidentified_set/diamond.mcfunction
deleted file mode 100644
index 905dc4be19..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/give_unidentified_set/diamond.mcfunction
+++ /dev/null
@@ -1,8 +0,0 @@
-loot give @s loot gm4_combat_expanded:weapon/sword/diamond
-loot give @s loot gm4_combat_expanded:weapon/pickaxe/diamond
-loot give @s loot gm4_combat_expanded:weapon/axe/diamond
-loot give @s loot gm4_combat_expanded:weapon/shovel/diamond
-loot give @s loot gm4_combat_expanded:armor/material/diamond/feet
-loot give @s loot gm4_combat_expanded:armor/material/diamond/legs
-loot give @s loot gm4_combat_expanded:armor/material/diamond/chest
-loot give @s loot gm4_combat_expanded:armor/material/diamond/head
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/give_unidentified_set/gold.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/give_unidentified_set/gold.mcfunction
deleted file mode 100644
index bdeea5686d..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/give_unidentified_set/gold.mcfunction
+++ /dev/null
@@ -1,8 +0,0 @@
-loot give @s loot gm4_combat_expanded:weapon/sword/gold
-loot give @s loot gm4_combat_expanded:weapon/pickaxe/gold
-loot give @s loot gm4_combat_expanded:weapon/axe/gold
-loot give @s loot gm4_combat_expanded:weapon/shovel/gold
-loot give @s loot gm4_combat_expanded:armor/material/golden/feet
-loot give @s loot gm4_combat_expanded:armor/material/golden/legs
-loot give @s loot gm4_combat_expanded:armor/material/golden/chest
-loot give @s loot gm4_combat_expanded:armor/material/golden/head
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/give_unidentified_set/iron.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/give_unidentified_set/iron.mcfunction
deleted file mode 100644
index b10c800a49..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/give_unidentified_set/iron.mcfunction
+++ /dev/null
@@ -1,8 +0,0 @@
-loot give @s loot gm4_combat_expanded:weapon/sword/iron
-loot give @s loot gm4_combat_expanded:weapon/pickaxe/iron
-loot give @s loot gm4_combat_expanded:weapon/axe/iron
-loot give @s loot gm4_combat_expanded:weapon/shovel/iron
-loot give @s loot gm4_combat_expanded:armor/material/iron/feet
-loot give @s loot gm4_combat_expanded:armor/material/iron/legs
-loot give @s loot gm4_combat_expanded:armor/material/iron/chest
-loot give @s loot gm4_combat_expanded:armor/material/iron/head
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/give_unidentified_set/stone_chainmail.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/give_unidentified_set/stone_chainmail.mcfunction
deleted file mode 100644
index 7630b3463f..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/give_unidentified_set/stone_chainmail.mcfunction
+++ /dev/null
@@ -1,8 +0,0 @@
-loot give @s loot gm4_combat_expanded:weapon/sword/stone
-loot give @s loot gm4_combat_expanded:weapon/pickaxe/stone
-loot give @s loot gm4_combat_expanded:weapon/axe/stone
-loot give @s loot gm4_combat_expanded:weapon/shovel/stone
-loot give @s loot gm4_combat_expanded:armor/material/chainmail/feet
-loot give @s loot gm4_combat_expanded:armor/material/chainmail/legs
-loot give @s loot gm4_combat_expanded:armor/material/chainmail/chest
-loot give @s loot gm4_combat_expanded:armor/material/chainmail/head
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/give_unidentified_set/wood_leather.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/give_unidentified_set/wood_leather.mcfunction
deleted file mode 100644
index ff472875cd..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/give_unidentified_set/wood_leather.mcfunction
+++ /dev/null
@@ -1,8 +0,0 @@
-loot give @s loot gm4_combat_expanded:weapon/sword/wood
-loot give @s loot gm4_combat_expanded:weapon/pickaxe/wood
-loot give @s loot gm4_combat_expanded:weapon/axe/wood
-loot give @s loot gm4_combat_expanded:weapon/shovel/wood
-loot give @s loot gm4_combat_expanded:armor/material/leather/feet
-loot give @s loot gm4_combat_expanded:armor/material/leather/legs
-loot give @s loot gm4_combat_expanded:armor/material/leather/chest
-loot give @s loot gm4_combat_expanded:armor/material/leather/head
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/acrobatic.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/acrobatic.mcfunction
deleted file mode 100644
index 00f85b6c70..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/acrobatic.mcfunction
+++ /dev/null
@@ -1 +0,0 @@
-function gm4_combat_expanded:debug/dont_run/eval_armor {id:"acrobatic"}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/archery.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/archery.mcfunction
deleted file mode 100644
index 09f9620c9a..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/archery.mcfunction
+++ /dev/null
@@ -1 +0,0 @@
-function gm4_combat_expanded:debug/dont_run/eval_armor {id:"archer"}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/berserkers.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/berserkers.mcfunction
deleted file mode 100644
index a1e507c1f2..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/berserkers.mcfunction
+++ /dev/null
@@ -1 +0,0 @@
-function gm4_combat_expanded:debug/dont_run/eval_armor {id:"berserk"}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/burning.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/burning.mcfunction
deleted file mode 100644
index c8e93781f4..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/burning.mcfunction
+++ /dev/null
@@ -1 +0,0 @@
-function gm4_combat_expanded:debug/dont_run/eval_armor {id:"burn"}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/canine.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/canine.mcfunction
deleted file mode 100644
index dce8f5c24d..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/canine.mcfunction
+++ /dev/null
@@ -1 +0,0 @@
-function gm4_combat_expanded:debug/dont_run/eval_armor {id:"canine"}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/coated.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/coated.mcfunction
deleted file mode 100644
index eb74ff6267..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/coated.mcfunction
+++ /dev/null
@@ -1 +0,0 @@
-function gm4_combat_expanded:debug/dont_run/eval_armor {id:"toxic"}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/dashing.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/dashing.mcfunction
deleted file mode 100644
index a18088c559..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/dashing.mcfunction
+++ /dev/null
@@ -1 +0,0 @@
-function gm4_combat_expanded:debug/dont_run/eval_armor {id:"husk"}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/draining.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/draining.mcfunction
deleted file mode 100644
index b9bdabf728..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/draining.mcfunction
+++ /dev/null
@@ -1 +0,0 @@
-function gm4_combat_expanded:debug/dont_run/eval_armor {id:"drain"}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/equestrian.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/equestrian.mcfunction
deleted file mode 100644
index 49b4140c01..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/equestrian.mcfunction
+++ /dev/null
@@ -1 +0,0 @@
-function gm4_combat_expanded:debug/dont_run/eval_armor {id:"horse"}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/fluxed.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/fluxed.mcfunction
deleted file mode 100644
index bda2f6edad..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/fluxed.mcfunction
+++ /dev/null
@@ -1 +0,0 @@
-function gm4_combat_expanded:debug/dont_run/eval_armor {id:"poised"}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/focused.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/focused.mcfunction
deleted file mode 100644
index 919de0f855..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/focused.mcfunction
+++ /dev/null
@@ -1 +0,0 @@
-function gm4_combat_expanded:debug/dont_run/eval_armor {id:"focus"}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/fractal.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/fractal.mcfunction
deleted file mode 100644
index 900b72be7d..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/fractal.mcfunction
+++ /dev/null
@@ -1 +0,0 @@
-function gm4_combat_expanded:debug/dont_run/eval_armor {id:"half"}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/goliaths.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/goliaths.mcfunction
deleted file mode 100644
index e9d981174a..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/goliaths.mcfunction
+++ /dev/null
@@ -1 +0,0 @@
-function gm4_combat_expanded:debug/dont_run/eval_armor {id:"big"}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/hearty.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/hearty.mcfunction
deleted file mode 100644
index f51a442fae..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/hearty.mcfunction
+++ /dev/null
@@ -1 +0,0 @@
-function gm4_combat_expanded:debug/dont_run/eval_armor {id:"convert"}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/lightweight.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/lightweight.mcfunction
deleted file mode 100644
index 87483f3d20..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/lightweight.mcfunction
+++ /dev/null
@@ -1 +0,0 @@
-function gm4_combat_expanded:debug/dont_run/eval_armor {id:"unburden"}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/psychic.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/psychic.mcfunction
deleted file mode 100644
index 56847d7391..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/psychic.mcfunction
+++ /dev/null
@@ -1 +0,0 @@
-function gm4_combat_expanded:debug/dont_run/eval_armor {id:"sword_ring"}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/radiant.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/radiant.mcfunction
deleted file mode 100644
index 786a8983ed..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/radiant.mcfunction
+++ /dev/null
@@ -1 +0,0 @@
-function gm4_combat_expanded:debug/dont_run/eval_armor {id:"beacon"}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/reactive.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/reactive.mcfunction
deleted file mode 100644
index 587147e571..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/reactive.mcfunction
+++ /dev/null
@@ -1 +0,0 @@
-function gm4_combat_expanded:debug/dont_run/eval_armor {id:"reactive"}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/reckless.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/reckless.mcfunction
deleted file mode 100644
index dac45946a2..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/reckless.mcfunction
+++ /dev/null
@@ -1 +0,0 @@
-function gm4_combat_expanded:debug/dont_run/eval_armor {id:"reckless"}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/rejuvenating.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/rejuvenating.mcfunction
deleted file mode 100644
index f3b169a83f..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/rejuvenating.mcfunction
+++ /dev/null
@@ -1 +0,0 @@
-function gm4_combat_expanded:debug/dont_run/eval_armor {id:"second_wind"}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/scouting.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/scouting.mcfunction
deleted file mode 100644
index a776d34216..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/scouting.mcfunction
+++ /dev/null
@@ -1 +0,0 @@
-function gm4_combat_expanded:debug/dont_run/eval_armor {id:"scout"}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/shielded.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/shielded.mcfunction
deleted file mode 100644
index f84b149694..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/shielded.mcfunction
+++ /dev/null
@@ -1 +0,0 @@
-function gm4_combat_expanded:debug/dont_run/eval_armor {id:"shielded"}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/shrinking.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/shrinking.mcfunction
deleted file mode 100644
index 46f10e2d0c..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/shrinking.mcfunction
+++ /dev/null
@@ -1 +0,0 @@
-function gm4_combat_expanded:debug/dont_run/eval_armor {id:"tiny"}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/sly.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/sly.mcfunction
deleted file mode 100644
index b7a414713e..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/sly.mcfunction
+++ /dev/null
@@ -1 +0,0 @@
-function gm4_combat_expanded:debug/dont_run/eval_armor {id:"sneak"}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/soothing.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/soothing.mcfunction
deleted file mode 100644
index aa10c177f6..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/soothing.mcfunction
+++ /dev/null
@@ -1 +0,0 @@
-function gm4_combat_expanded:debug/dont_run/eval_armor {id:"soothe"}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/sparking.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/sparking.mcfunction
deleted file mode 100644
index ba6539a99c..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/sparking.mcfunction
+++ /dev/null
@@ -1 +0,0 @@
-function gm4_combat_expanded:debug/dont_run/eval_armor {id:"spark"}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/sustaining.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/sustaining.mcfunction
deleted file mode 100644
index 034ada9b8f..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/sustaining.mcfunction
+++ /dev/null
@@ -1 +0,0 @@
-function gm4_combat_expanded:debug/dont_run/eval_armor {id:"sustain"}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/totemic.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/totemic.mcfunction
deleted file mode 100644
index 61347a9ca5..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/totemic.mcfunction
+++ /dev/null
@@ -1 +0,0 @@
-function gm4_combat_expanded:debug/dont_run/eval_armor {id:"totem"}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/unlinked.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/unlinked.mcfunction
deleted file mode 100644
index 6a1216c412..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/unlinked.mcfunction
+++ /dev/null
@@ -1 +0,0 @@
-function gm4_combat_expanded:debug/dont_run/eval_armor {id:"link"}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/vampiric.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/vampiric.mcfunction
deleted file mode 100644
index 54f26cc3e3..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/vampiric.mcfunction
+++ /dev/null
@@ -1 +0,0 @@
-function gm4_combat_expanded:debug/dont_run/eval_armor {id:"vamp"}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/vigorous.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/vigorous.mcfunction
deleted file mode 100644
index 39dc150312..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/vigorous.mcfunction
+++ /dev/null
@@ -1 +0,0 @@
-function gm4_combat_expanded:debug/dont_run/eval_armor {id:"immune"}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/vorpal.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/vorpal.mcfunction
deleted file mode 100644
index fa74b83212..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/vorpal.mcfunction
+++ /dev/null
@@ -1 +0,0 @@
-function gm4_combat_expanded:debug/dont_run/eval_armor {id:"vorpal"}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/weightless.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/weightless.mcfunction
deleted file mode 100644
index da34512e4c..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/weightless.mcfunction
+++ /dev/null
@@ -1 +0,0 @@
-function gm4_combat_expanded:debug/dont_run/eval_armor {id:"weightless"}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/wild_magic.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/wild_magic.mcfunction
deleted file mode 100644
index 0428a1ffe1..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/armor/wild_magic.mcfunction
+++ /dev/null
@@ -1 +0,0 @@
-function gm4_combat_expanded:debug/dont_run/eval_armor {id:"wild_magic"}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/weapon/charged.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/weapon/charged.mcfunction
deleted file mode 100644
index ac604db7bd..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/weapon/charged.mcfunction
+++ /dev/null
@@ -1 +0,0 @@
-function gm4_combat_expanded:debug/dont_run/eval_weapon {id:"lightning"}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/weapon/crippling.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/weapon/crippling.mcfunction
deleted file mode 100644
index 89a562d7b5..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/weapon/crippling.mcfunction
+++ /dev/null
@@ -1 +0,0 @@
-function gm4_combat_expanded:debug/dont_run/eval_weapon {id:"weakness"}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/weapon/flaming.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/weapon/flaming.mcfunction
deleted file mode 100644
index d91bdcde1c..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/weapon/flaming.mcfunction
+++ /dev/null
@@ -1 +0,0 @@
-function gm4_combat_expanded:debug/dont_run/eval_weapon {id:"fire"}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/weapon/giant.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/weapon/giant.mcfunction
deleted file mode 100644
index 46d30198c4..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/weapon/giant.mcfunction
+++ /dev/null
@@ -1 +0,0 @@
-function gm4_combat_expanded:debug/dont_run/eval_weapon {id:"giant"}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/weapon/heavy.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/weapon/heavy.mcfunction
deleted file mode 100644
index 190b28773c..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/weapon/heavy.mcfunction
+++ /dev/null
@@ -1 +0,0 @@
-function gm4_combat_expanded:debug/dont_run/eval_weapon {id:"heavy"}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/weapon/light.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/weapon/light.mcfunction
deleted file mode 100644
index df02b952dc..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/weapon/light.mcfunction
+++ /dev/null
@@ -1 +0,0 @@
-function gm4_combat_expanded:debug/dont_run/eval_weapon {id:"quick"}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/weapon/long.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/weapon/long.mcfunction
deleted file mode 100644
index b3ad924edd..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/weapon/long.mcfunction
+++ /dev/null
@@ -1 +0,0 @@
-function gm4_combat_expanded:debug/dont_run/eval_weapon {id:"long"}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/weapon/piercing.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/weapon/piercing.mcfunction
deleted file mode 100644
index 6aaef30598..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/weapon/piercing.mcfunction
+++ /dev/null
@@ -1 +0,0 @@
-function gm4_combat_expanded:debug/dont_run/eval_weapon {id:"pierce"}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/weapon/resonating.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/weapon/resonating.mcfunction
deleted file mode 100644
index 25eb48e730..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/weapon/resonating.mcfunction
+++ /dev/null
@@ -1 +0,0 @@
-function gm4_combat_expanded:debug/dont_run/eval_weapon {id:"delay"}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/weapon/swift.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/weapon/swift.mcfunction
deleted file mode 100644
index b44118cf3a..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/weapon/swift.mcfunction
+++ /dev/null
@@ -1 +0,0 @@
-function gm4_combat_expanded:debug/dont_run/eval_weapon {id:"swift"}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/weapon/twofold.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/weapon/twofold.mcfunction
deleted file mode 100644
index 21d962d3cb..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/weapon/twofold.mcfunction
+++ /dev/null
@@ -1 +0,0 @@
-function gm4_combat_expanded:debug/dont_run/eval_weapon {id:"double"}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/weapon/venomous.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/weapon/venomous.mcfunction
deleted file mode 100644
index 0bd227e786..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/debug/identify_mainhand/weapon/venomous.mcfunction
+++ /dev/null
@@ -1 +0,0 @@
-function gm4_combat_expanded:debug/dont_run/eval_weapon {id:"poison"}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/identification/armor/fix_components.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/identification/armor/fix_components.mcfunction
deleted file mode 100644
index a734aa26fd..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/identification/armor/fix_components.mcfunction
+++ /dev/null
@@ -1,33 +0,0 @@
-# fix attributes on new item
-# @s = unidentified item
-# at @s
-# run from any identification/armor/pick_mod
-
-execute store result score $set_slot gm4_ce_data run data get storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.slot
-execute if score $set_slot gm4_ce_data matches 0 run data modify storage gm4_combat_expanded:temp new_components.set_slot set value "head"
-execute if score $set_slot gm4_ce_data matches 1 run data modify storage gm4_combat_expanded:temp new_components.set_slot set value "chest"
-execute if score $set_slot gm4_ce_data matches 2 run data modify storage gm4_combat_expanded:temp new_components.set_slot set value "legs"
-execute if score $set_slot gm4_ce_data matches 3 run data modify storage gm4_combat_expanded:temp new_components.set_slot set value "feet"
-
-# merge components from base item
-data modify storage gm4_combat_expanded:temp new_components."minecraft:damage" merge from storage gm4_combat_expanded:temp components."minecraft:damage"
-data modify storage gm4_combat_expanded:temp new_components."minecraft:attribute_modifiers".modifiers append from storage gm4_combat_expanded:temp components."minecraft:attribute_modifiers".modifiers[]
-data modify storage gm4_combat_expanded:temp new_components."minecraft:enchantments" merge from storage gm4_combat_expanded:temp components."minecraft:enchantments"
-# set slots for attribute_modifiers
-execute if data storage gm4_combat_expanded:temp new_components."minecraft:attribute_modifiers".modifiers[{id:"gm4_combat_expanded:permanent"}] run data modify storage gm4_combat_expanded:temp new_components."minecraft:attribute_modifiers".modifiers[{id:"gm4_combat_expanded:permanent"}].slot set from storage gm4_combat_expanded:temp new_components.set_slot
-execute if data storage gm4_combat_expanded:temp new_components."minecraft:attribute_modifiers".modifiers[{id:"gm4_combat_expanded:permanent_2"}] run data modify storage gm4_combat_expanded:temp new_components."minecraft:attribute_modifiers".modifiers[{id:"gm4_combat_expanded:permanent_2"}].slot set from storage gm4_combat_expanded:temp new_components.set_slot
-execute if data storage gm4_combat_expanded:temp new_components."minecraft:attribute_modifiers".modifiers[{id:"gm4_combat_expanded:permanent_3"}] run data modify storage gm4_combat_expanded:temp new_components."minecraft:attribute_modifiers".modifiers[{id:"gm4_combat_expanded:permanent_3"}].slot set from storage gm4_combat_expanded:temp new_components.set_slot
-execute if data storage gm4_combat_expanded:temp new_components."minecraft:attribute_modifiers".modifiers[{id:"gm4_combat_expanded:permanent_4"}] run data modify storage gm4_combat_expanded:temp new_components."minecraft:attribute_modifiers".modifiers[{id:"gm4_combat_expanded:permanent_4"}].slot set from storage gm4_combat_expanded:temp new_components.set_slot
-execute if data storage gm4_combat_expanded:temp new_components."minecraft:attribute_modifiers".modifiers[{id:"gm4_combat_expanded:permanent_5"}] run data modify storage gm4_combat_expanded:temp new_components."minecraft:attribute_modifiers".modifiers[{id:"gm4_combat_expanded:permanent_5"}].slot set from storage gm4_combat_expanded:temp new_components.set_slot
-execute if data storage gm4_combat_expanded:temp new_components."minecraft:attribute_modifiers".modifiers[{id:"gm4_combat_expanded:permanent_6"}] run data modify storage gm4_combat_expanded:temp new_components."minecraft:attribute_modifiers".modifiers[{id:"gm4_combat_expanded:permanent_6"}].slot set from storage gm4_combat_expanded:temp new_components.set_slot
-execute if data storage gm4_combat_expanded:temp new_components."minecraft:attribute_modifiers".modifiers[{id:"gm4_combat_expanded:permanent_7"}] run data modify storage gm4_combat_expanded:temp new_components."minecraft:attribute_modifiers".modifiers[{id:"gm4_combat_expanded:permanent_7"}].slot set from storage gm4_combat_expanded:temp new_components.set_slot
-execute if data storage gm4_combat_expanded:temp new_components."minecraft:attribute_modifiers".modifiers[{id:"gm4_combat_expanded:permanent_8"}] run data modify storage gm4_combat_expanded:temp new_components."minecraft:attribute_modifiers".modifiers[{id:"gm4_combat_expanded:permanent_8"}].slot set from storage gm4_combat_expanded:temp new_components.set_slot
-execute if data storage gm4_combat_expanded:temp new_components."minecraft:attribute_modifiers".modifiers[{id:"gm4_combat_expanded:permanent_9"}] run data modify storage gm4_combat_expanded:temp new_components."minecraft:attribute_modifiers".modifiers[{id:"gm4_combat_expanded:permanent_9"}].slot set from storage gm4_combat_expanded:temp new_components.set_slot
-execute if data storage gm4_combat_expanded:temp new_components."minecraft:attribute_modifiers".modifiers[{id:"gm4_combat_expanded:dynamic"}] run data modify storage gm4_combat_expanded:temp new_components."minecraft:attribute_modifiers".modifiers[{id:"gm4_combat_expanded:dynamic"}].slot set from storage gm4_combat_expanded:temp new_components.set_slot
-execute if data storage gm4_combat_expanded:temp new_components."minecraft:attribute_modifiers".modifiers[{id:"gm4_combat_expanded:dynamic_2"}] run data modify storage gm4_combat_expanded:temp new_components."minecraft:attribute_modifiers".modifiers[{id:"gm4_combat_expanded:dynamic_2"}].slot set from storage gm4_combat_expanded:temp new_components.set_slot
-execute if data storage gm4_combat_expanded:temp new_components."minecraft:attribute_modifiers".modifiers[{id:"gm4_combat_expanded:dynamic_3"}] run data modify storage gm4_combat_expanded:temp new_components."minecraft:attribute_modifiers".modifiers[{id:"gm4_combat_expanded:dynamic_3"}].slot set from storage gm4_combat_expanded:temp new_components.set_slot
-execute if data storage gm4_combat_expanded:temp new_components."minecraft:attribute_modifiers".modifiers[{id:"gm4_combat_expanded:dynamic_4"}] run data modify storage gm4_combat_expanded:temp new_components."minecraft:attribute_modifiers".modifiers[{id:"gm4_combat_expanded:dynamic_4"}].slot set from storage gm4_combat_expanded:temp new_components.set_slot
-# set levels from storages
-execute if data storage gm4_combat_expanded:temp new_components."minecraft:custom_data".gm4_combat_expanded.level run function gm4_combat_expanded:identification/armor/set_value/level
-execute if data storage gm4_combat_expanded:temp new_components."minecraft:custom_data".gm4_combat_expanded.level2 run function gm4_combat_expanded:identification/armor/set_value/level2
-execute if data storage gm4_combat_expanded:temp new_components."minecraft:custom_data".gm4_combat_expanded.level3 run function gm4_combat_expanded:identification/armor/set_value/level3
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/identification/armor/pick_mod.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/identification/armor/pick_mod.mcfunction
deleted file mode 100644
index 04a82db2bd..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/identification/armor/pick_mod.mcfunction
+++ /dev/null
@@ -1,24 +0,0 @@
-# identify armor on the ground
-# @s = unidentified item
-# at @s
-# run from any identification/prep
-
-# get material for use in lore
-execute store result score $material gm4_ce_data run data get storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.material
-
-# randomize stats
-function gm4_combat_expanded:identification/armor/randomize_stats
-
-# get material for use in lore
-execute store result score $material gm4_ce_data run data get storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.material
-
-# get a random modifier and apply it to the storage, run as @p to make predicates work
-execute as @p run loot replace block 29999998 1 7134 container.4 loot gm4_combat_expanded:armor/identification/random
-data modify storage gm4_combat_expanded:temp new_components set from block 29999998 1 7134 Items[{Slot:4b}].components
-
-# fix components
-function gm4_combat_expanded:identification/armor/fix_components
-
-# set components
-data modify storage gm4_combat_expanded:temp components merge from storage gm4_combat_expanded:temp new_components
-data remove storage gm4_combat_expanded:temp new_components
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/identification/armor/randomize_stats.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/identification/armor/randomize_stats.mcfunction
deleted file mode 100644
index 4c319998ba..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/identification/armor/randomize_stats.mcfunction
+++ /dev/null
@@ -1,48 +0,0 @@
-# stores random values in scoreboards and storage which can be used for identification
-# @s = unidentified item
-# at @s
-# run from identification/armor/pick_mod
-
-# store results in scoreboards for permanent attributes
-# armor 1 - 3
-execute store result score $armor gm4_ce_data run loot spawn 29999998 1 7133 loot gm4_combat_expanded:randomizer/armor
-scoreboard players operation $armor- gm4_ce_data = $armor gm4_ce_data
-scoreboard players operation $armor- gm4_ce_data -= #4 gm4_ce_data
-# clamp $armor- to armor of piece
-execute store result score $armor_clamp gm4_ce_data run data get storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.armor_clamp
-scoreboard players operation $armor- gm4_ce_data > $armor_clamp gm4_ce_data
-# attack damage 0.5 - 2
-execute store result score $damage gm4_ce_data run loot spawn 29999998 1 7133 loot gm4_combat_expanded:randomizer/damage
-scoreboard players operation $damage gm4_ce_data *= #5 gm4_ce_data
-scoreboard players operation $damage- gm4_ce_data = $damage gm4_ce_data
-scoreboard players operation $damage- gm4_ce_data -= #25 gm4_ce_data
-# get digits seperate
-scoreboard players operation $damage_10 gm4_ce_data = $damage gm4_ce_data
-scoreboard players operation $damage_10 gm4_ce_data /= #10 gm4_ce_data
-scoreboard players operation $damage_01 gm4_ce_data = $damage gm4_ce_data
-scoreboard players operation $damage_01 gm4_ce_data %= #10 gm4_ce_data
-scoreboard players operation $damage-_10 gm4_ce_data = $damage- gm4_ce_data
-scoreboard players operation $damage-_10 gm4_ce_data /= #10 gm4_ce_data
-scoreboard players operation $damage-_01 gm4_ce_data = $damage- gm4_ce_data
-scoreboard players operation $damage-_01 gm4_ce_data %= #10 gm4_ce_data
-# movement speed 5 - 20
-execute store result score $speed gm4_ce_data run loot spawn 29999998 1 7133 loot gm4_combat_expanded:randomizer/speed
-scoreboard players operation $speed- gm4_ce_data = $speed gm4_ce_data
-scoreboard players operation $speed- gm4_ce_data -= #21 gm4_ce_data
-# attack speed 10 - 25
-execute store result score $atkspeed gm4_ce_data run loot spawn 29999998 1 7133 loot gm4_combat_expanded:randomizer/atkspeed
-scoreboard players operation $atkspeed- gm4_ce_data = $atkspeed gm4_ce_data
-scoreboard players operation $atkspeed- gm4_ce_data -= #35 gm4_ce_data
-# special stats for focus armor
-scoreboard players operation $focus_damage_10 gm4_ce_data = $damage_10 gm4_ce_data
-scoreboard players operation $focus_damage_10 gm4_ce_data += $armor gm4_ce_data
-
-# store results in storage for changing attributes
-execute store result storage gm4_combat_expanded:temp armor int 1 run scoreboard players get $armor gm4_ce_data
-execute store result storage gm4_combat_expanded:temp damage float 0.1 run scoreboard players get $damage gm4_ce_data
-execute store result storage gm4_combat_expanded:temp level float 0.2 run scoreboard players get $damage gm4_ce_data
-execute store result storage gm4_combat_expanded:temp speed int 1 run scoreboard players get $speed gm4_ce_data
-execute store result storage gm4_combat_expanded:temp atkspeed int 1 run scoreboard players get $atkspeed gm4_ce_data
-
-# TODO: remove (spigot bug)
-execute positioned 29999998 1 7133 run kill @e[type=item,distance=..2]
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/identification/armor/set_value/level.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/identification/armor/set_value/level.mcfunction
deleted file mode 100644
index 3d46132a8a..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/identification/armor/set_value/level.mcfunction
+++ /dev/null
@@ -1,6 +0,0 @@
-
-execute if data storage gm4_combat_expanded:temp new_components."minecraft:custom_data".gm4_combat_expanded{level:"armor"} run return run data modify storage gm4_combat_expanded:temp new_components."minecraft:custom_data".gm4_combat_expanded.level set from storage gm4_combat_expanded:temp armor
-execute if data storage gm4_combat_expanded:temp new_components."minecraft:custom_data".gm4_combat_expanded{level:"damage"} run return run data modify storage gm4_combat_expanded:temp new_components."minecraft:custom_data".gm4_combat_expanded.level set from storage gm4_combat_expanded:temp damage
-execute if data storage gm4_combat_expanded:temp new_components."minecraft:custom_data".gm4_combat_expanded{level:"level"} run return run data modify storage gm4_combat_expanded:temp new_components."minecraft:custom_data".gm4_combat_expanded.level set from storage gm4_combat_expanded:temp level
-execute if data storage gm4_combat_expanded:temp new_components."minecraft:custom_data".gm4_combat_expanded{level:"speed"} run return run data modify storage gm4_combat_expanded:temp new_components."minecraft:custom_data".gm4_combat_expanded.level set from storage gm4_combat_expanded:temp speed
-execute if data storage gm4_combat_expanded:temp new_components."minecraft:custom_data".gm4_combat_expanded{level:"atkspeed"} run return run data modify storage gm4_combat_expanded:temp new_components."minecraft:custom_data".gm4_combat_expanded.level set from storage gm4_combat_expanded:temp atkspeed
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/identification/armor/set_value/level2.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/identification/armor/set_value/level2.mcfunction
deleted file mode 100644
index 4f5524b6be..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/identification/armor/set_value/level2.mcfunction
+++ /dev/null
@@ -1,6 +0,0 @@
-
-execute if data storage gm4_combat_expanded:temp new_components."minecraft:custom_data".gm4_combat_expanded{level2:"armor"} run return run data modify storage gm4_combat_expanded:temp new_components."minecraft:custom_data".gm4_combat_expanded.level2 set from storage gm4_combat_expanded:temp armor
-execute if data storage gm4_combat_expanded:temp new_components."minecraft:custom_data".gm4_combat_expanded{level2:"damage"} run return run data modify storage gm4_combat_expanded:temp new_components."minecraft:custom_data".gm4_combat_expanded.level2 set from storage gm4_combat_expanded:temp damage
-execute if data storage gm4_combat_expanded:temp new_components."minecraft:custom_data".gm4_combat_expanded{level2:"level"} run return run data modify storage gm4_combat_expanded:temp new_components."minecraft:custom_data".gm4_combat_expanded.level2 set from storage gm4_combat_expanded:temp level
-execute if data storage gm4_combat_expanded:temp new_components."minecraft:custom_data".gm4_combat_expanded{level2:"speed"} run return run data modify storage gm4_combat_expanded:temp new_components."minecraft:custom_data".gm4_combat_expanded.level2 set from storage gm4_combat_expanded:temp speed
-execute if data storage gm4_combat_expanded:temp new_components."minecraft:custom_data".gm4_combat_expanded{level2:"atkspeed"} run return run data modify storage gm4_combat_expanded:temp new_components."minecraft:custom_data".gm4_combat_expanded.level2 set from storage gm4_combat_expanded:temp atkspeed
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/identification/armor/set_value/level3.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/identification/armor/set_value/level3.mcfunction
deleted file mode 100644
index 266bec1702..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/identification/armor/set_value/level3.mcfunction
+++ /dev/null
@@ -1,6 +0,0 @@
-
-execute if data storage gm4_combat_expanded:temp new_components."minecraft:custom_data".gm4_combat_expanded{level3:"armor"} run return run data modify storage gm4_combat_expanded:temp new_components."minecraft:custom_data".gm4_combat_expanded.level3 set from storage gm4_combat_expanded:temp armor
-execute if data storage gm4_combat_expanded:temp new_components."minecraft:custom_data".gm4_combat_expanded{level3:"damage"} run return run data modify storage gm4_combat_expanded:temp new_components."minecraft:custom_data".gm4_combat_expanded.level3 set from storage gm4_combat_expanded:temp damage
-execute if data storage gm4_combat_expanded:temp new_components."minecraft:custom_data".gm4_combat_expanded{level3:"level"} run return run data modify storage gm4_combat_expanded:temp new_components."minecraft:custom_data".gm4_combat_expanded.level3 set from storage gm4_combat_expanded:temp level
-execute if data storage gm4_combat_expanded:temp new_components."minecraft:custom_data".gm4_combat_expanded{level3:"speed"} run return run data modify storage gm4_combat_expanded:temp new_components."minecraft:custom_data".gm4_combat_expanded.level3 set from storage gm4_combat_expanded:temp speed
-execute if data storage gm4_combat_expanded:temp new_components."minecraft:custom_data".gm4_combat_expanded{level3:"atkspeed"} run return run data modify storage gm4_combat_expanded:temp new_components."minecraft:custom_data".gm4_combat_expanded.level3 set from storage gm4_combat_expanded:temp atkspeed
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/identification/prep.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/identification/prep.mcfunction
deleted file mode 100644
index 5adf47f5a7..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/identification/prep.mcfunction
+++ /dev/null
@@ -1,23 +0,0 @@
-# prepare identifying item
-# @s = unidentified item
-# at @s
-# run from check_item
-
-# put data in storage
-data modify storage gm4_combat_expanded:temp components set from entity @s Item.components
-
-# check if item is armor or a weapon
-execute if data storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.slot run function gm4_combat_expanded:identification/armor/pick_mod
-execute if data storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.strike run function gm4_combat_expanded:identification/weapon/pick_mod
-
-# mark as identified
-data modify storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.identified set value 1
-
-# remove durability damage taken
-data modify storage gm4_combat_expanded:temp components."minecraft:damage" set value 0
-
-# update item
-data modify entity @s Item.components set from storage gm4_combat_expanded:temp components
-
-# cleanup
-data remove block 29999998 1 7134 Items
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/identification/weapon/fix_components.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/identification/weapon/fix_components.mcfunction
deleted file mode 100644
index aff1b34e80..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/identification/weapon/fix_components.mcfunction
+++ /dev/null
@@ -1,11 +0,0 @@
-
-# merge components from base item
-data modify storage gm4_combat_expanded:temp new_components."minecraft:damage" merge from storage gm4_combat_expanded:temp components."minecraft:damage"
-data modify storage gm4_combat_expanded:temp new_components."minecraft:attribute_modifiers".modifiers append from storage gm4_combat_expanded:temp components."minecraft:attribute_modifiers".modifiers[]
-data modify storage gm4_combat_expanded:temp new_components."minecraft:enchantments" merge from storage gm4_combat_expanded:temp components."minecraft:enchantments"
-# set levels from storages
-execute if data storage gm4_combat_expanded:temp new_components."minecraft:custom_data".gm4_combat_expanded.level run function gm4_combat_expanded:identification/weapon/set_value/level
-execute if data storage gm4_combat_expanded:temp new_components."minecraft:custom_data".gm4_combat_expanded.level2 run function gm4_combat_expanded:identification/weapon/set_value/level2
-
-# hide tooltip
-data modify storage gm4_combat_expanded:temp new_components."minecraft:attribute_modifiers".show_in_tooltip set value 0b
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/identification/weapon/pick_mod.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/identification/weapon/pick_mod.mcfunction
deleted file mode 100644
index 3c41363533..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/identification/weapon/pick_mod.mcfunction
+++ /dev/null
@@ -1,22 +0,0 @@
-# identify weapon on the ground
-# @s = unidentified item
-# at @s
-# run from identification/prep
-
-# randomize stats
-function gm4_combat_expanded:identification/weapon/randomize_stats
-
-# get a random modifier and apply it to the storage, run as @p to make predicates work
-execute as @p run loot replace block 29999998 1 7134 container.1 loot gm4_combat_expanded:weapon/identification/random
-data modify storage gm4_combat_expanded:temp new_components merge from block 29999998 1 7134 Items[{Slot:1b}].components
-
-# fix components
-function gm4_combat_expanded:identification/weapon/fix_components
-
-# set components
-data modify storage gm4_combat_expanded:temp components merge from storage gm4_combat_expanded:temp new_components
-data remove storage gm4_combat_expanded:temp new_components
-
-# check sharpness level
-execute store result score $current_sharpness gm4_ce_data run data get storage gm4_combat_expanded:temp components."minecraft:enchantments".levels."minecraft:sharpness"
-execute if score $current_sharpness gm4_ce_data matches 1.. run function gm4_combat_expanded:weapon/update_sharpness
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/identification/weapon/randomize_stats.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/identification/weapon/randomize_stats.mcfunction
deleted file mode 100644
index d52e2c13d4..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/identification/weapon/randomize_stats.mcfunction
+++ /dev/null
@@ -1,96 +0,0 @@
-# randomise stats for identification
-# @s = unidentified item
-# at @s
-# run from identification/weapon/pick_mod
-
-# store results in scoreboards for permanent attributes
-# attack damage 0.5 - 2
-execute store result score $damage gm4_ce_data run loot spawn 29999998 1 7133 loot gm4_combat_expanded:randomizer/damage
-scoreboard players operation $damage gm4_ce_data *= #5 gm4_ce_data
-scoreboard players operation $damage- gm4_ce_data = $damage gm4_ce_data
-scoreboard players operation $damage- gm4_ce_data -= #25 gm4_ce_data
-# movement speed 5 - 20
-execute store result score $speed gm4_ce_data run loot spawn 29999998 1 7133 loot gm4_combat_expanded:randomizer/speed
-scoreboard players operation $speed- gm4_ce_data = $speed gm4_ce_data
-scoreboard players operation $speed- gm4_ce_data -= #21 gm4_ce_data
-# attack speed 2 - 5
-execute store result score $atkspeed gm4_ce_data run loot spawn 29999998 1 7133 loot gm4_combat_expanded:randomizer/atkspeed
-scoreboard players operation $atkspeed gm4_ce_data /= #5 gm4_ce_data
-scoreboard players operation $atkspeed- gm4_ce_data = $atkspeed gm4_ce_data
-scoreboard players operation $atkspeed- gm4_ce_data -= #7 gm4_ce_data
-# random value 1 - 3
-execute store result score $random_value gm4_ce_data run loot spawn 29999998 1 7133 loot gm4_combat_expanded:randomizer/armor
-
-# calculate new damage in order to replace the attribute
-execute store result score $damage_stored gm4_ce_data run data get storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.damage
-# base damage up
-scoreboard players operation $damage_up gm4_ce_data = $damage_stored gm4_ce_data
-scoreboard players operation $damage_up gm4_ce_data += $damage gm4_ce_data
-# base damage down, never lower than 0.5
-scoreboard players operation $damage_down gm4_ce_data = $damage_stored gm4_ce_data
-scoreboard players operation $damage_down gm4_ce_data += $damage- gm4_ce_data
-scoreboard players operation $damage_down gm4_ce_data > #5 gm4_ce_data
-# extra damage down, never lower than 0.5
-scoreboard players operation $damage_low gm4_ce_data = $damage_down gm4_ce_data
-scoreboard players remove $damage_low gm4_ce_data 55
-scoreboard players operation $damage_low gm4_ce_data > #5 gm4_ce_data
-# get digits seperate
-scoreboard players operation $damage_stored_10 gm4_ce_data = $damage_stored gm4_ce_data
-scoreboard players operation $damage_stored_10 gm4_ce_data /= #10 gm4_ce_data
-scoreboard players operation $damage_stored_01 gm4_ce_data = $damage_stored gm4_ce_data
-scoreboard players operation $damage_stored_01 gm4_ce_data %= #10 gm4_ce_data
-scoreboard players operation $damage_up_10 gm4_ce_data = $damage_up gm4_ce_data
-scoreboard players operation $damage_up_10 gm4_ce_data /= #10 gm4_ce_data
-scoreboard players operation $damage_up_01 gm4_ce_data = $damage_up gm4_ce_data
-scoreboard players operation $damage_up_01 gm4_ce_data %= #10 gm4_ce_data
-scoreboard players operation $damage_down_10 gm4_ce_data = $damage_down gm4_ce_data
-scoreboard players operation $damage_down_10 gm4_ce_data /= #10 gm4_ce_data
-scoreboard players operation $damage_down_01 gm4_ce_data = $damage_down gm4_ce_data
-scoreboard players operation $damage_down_01 gm4_ce_data %= #10 gm4_ce_data
-scoreboard players operation $damage_low_10 gm4_ce_data = $damage_low gm4_ce_data
-scoreboard players operation $damage_low_10 gm4_ce_data /= #10 gm4_ce_data
-scoreboard players operation $damage_low_01 gm4_ce_data = $damage_low gm4_ce_data
-scoreboard players operation $damage_low_01 gm4_ce_data %= #10 gm4_ce_data
-
-# calculate new attack speed in order to replace the attribute
-execute store result score $atkspeed_stored gm4_ce_data run data get storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.atkspeed
-# base atack speed up
-scoreboard players operation $atkspeed_up gm4_ce_data = $atkspeed_stored gm4_ce_data
-scoreboard players operation $atkspeed_up gm4_ce_data += $atkspeed gm4_ce_data
-# quick weapon attack speed up
-scoreboard players operation $atkspeed_quick gm4_ce_data = $atkspeed_up gm4_ce_data
-scoreboard players add $atkspeed_quick gm4_ce_data 4
-# base atack speed down
-scoreboard players operation $atkspeed_down gm4_ce_data = $atkspeed_stored gm4_ce_data
-scoreboard players operation $atkspeed_down gm4_ce_data += $atkspeed- gm4_ce_data
-# extra weapon attack speed down
-scoreboard players operation $atkspeed_low gm4_ce_data = $atkspeed_down gm4_ce_data
-scoreboard players remove $atkspeed_low gm4_ce_data 4
-# get digits seperate
-scoreboard players operation $atkspeed_stored_10 gm4_ce_data = $atkspeed_stored gm4_ce_data
-scoreboard players operation $atkspeed_stored_10 gm4_ce_data /= #10 gm4_ce_data
-scoreboard players operation $atkspeed_stored_01 gm4_ce_data = $atkspeed_stored gm4_ce_data
-scoreboard players operation $atkspeed_stored_01 gm4_ce_data %= #10 gm4_ce_data
-scoreboard players operation $atkspeed_up_10 gm4_ce_data = $atkspeed_up gm4_ce_data
-scoreboard players operation $atkspeed_up_10 gm4_ce_data /= #10 gm4_ce_data
-scoreboard players operation $atkspeed_up_01 gm4_ce_data = $atkspeed_up gm4_ce_data
-scoreboard players operation $atkspeed_up_01 gm4_ce_data %= #10 gm4_ce_data
-scoreboard players operation $atkspeed_down_10 gm4_ce_data = $atkspeed_down gm4_ce_data
-scoreboard players operation $atkspeed_down_10 gm4_ce_data /= #10 gm4_ce_data
-scoreboard players operation $atkspeed_down_01 gm4_ce_data = $atkspeed_down gm4_ce_data
-scoreboard players operation $atkspeed_down_01 gm4_ce_data %= #10 gm4_ce_data
-scoreboard players operation $atkspeed_quick_10 gm4_ce_data = $atkspeed_quick gm4_ce_data
-scoreboard players operation $atkspeed_quick_10 gm4_ce_data /= #10 gm4_ce_data
-scoreboard players operation $atkspeed_quick_01 gm4_ce_data = $atkspeed_quick gm4_ce_data
-scoreboard players operation $atkspeed_quick_01 gm4_ce_data %= #10 gm4_ce_data
-scoreboard players operation $atkspeed_low_10 gm4_ce_data = $atkspeed_low gm4_ce_data
-scoreboard players operation $atkspeed_low_10 gm4_ce_data /= #10 gm4_ce_data
-scoreboard players operation $atkspeed_low_01 gm4_ce_data = $atkspeed_low gm4_ce_data
-scoreboard players operation $atkspeed_low_01 gm4_ce_data %= #10 gm4_ce_data
-
-# store results in storage for changing attributes
-execute store result storage gm4_combat_expanded:temp random_value int 1 run scoreboard players get $random_value gm4_ce_data
-execute store result storage gm4_combat_expanded:temp random_value_2 int 0.2 run scoreboard players get $damage gm4_ce_data
-
-# TODO: remove (spigot bug)
-execute positioned 29999998 1 7133 run kill @e[type=item,distance=..2]
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/identification/weapon/set_value/level.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/identification/weapon/set_value/level.mcfunction
deleted file mode 100644
index 7b698ec145..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/identification/weapon/set_value/level.mcfunction
+++ /dev/null
@@ -1,3 +0,0 @@
-
-execute if data storage gm4_combat_expanded:temp new_components."minecraft:custom_data".gm4_combat_expanded{level:"random_value"} run return run data modify storage gm4_combat_expanded:temp new_components."minecraft:custom_data".gm4_combat_expanded.level set from storage gm4_combat_expanded:temp random_value
-execute if data storage gm4_combat_expanded:temp new_components."minecraft:custom_data".gm4_combat_expanded{level:"random_value_2"} run return run data modify storage gm4_combat_expanded:temp new_components."minecraft:custom_data".gm4_combat_expanded.level set from storage gm4_combat_expanded:temp random_value_2
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/identification/weapon/set_value/level2.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/identification/weapon/set_value/level2.mcfunction
deleted file mode 100644
index 8f4bfd7c08..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/identification/weapon/set_value/level2.mcfunction
+++ /dev/null
@@ -1,3 +0,0 @@
-
-execute if data storage gm4_combat_expanded:temp new_components."minecraft:custom_data".gm4_combat_expanded{level2:"random_value"} run return run data modify storage gm4_combat_expanded:temp new_components."minecraft:custom_data".gm4_combat_expanded.level2 set from storage gm4_combat_expanded:temp random_value
-execute if data storage gm4_combat_expanded:temp new_components."minecraft:custom_data".gm4_combat_expanded{level2:"random_value_2"} run return run data modify storage gm4_combat_expanded:temp new_components."minecraft:custom_data".gm4_combat_expanded.level2 set from storage gm4_combat_expanded:temp random_value_2
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/identification/weapon/set_value/level3.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/identification/weapon/set_value/level3.mcfunction
deleted file mode 100644
index 366e034b58..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/identification/weapon/set_value/level3.mcfunction
+++ /dev/null
@@ -1,3 +0,0 @@
-
-execute if data storage gm4_combat_expanded:temp new_components."minecraft:custom_data".gm4_combat_expanded{level3:"random_value"} run return run data modify storage gm4_combat_expanded:temp new_components."minecraft:custom_data".gm4_combat_expanded.level3 set from storage gm4_combat_expanded:temp random_value
-execute if data storage gm4_combat_expanded:temp new_components."minecraft:custom_data".gm4_combat_expanded{level3:"random_value_2"} run return run data modify storage gm4_combat_expanded:temp new_components."minecraft:custom_data".gm4_combat_expanded.level3 set from storage gm4_combat_expanded:temp random_value_2
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/init.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/init.mcfunction
deleted file mode 100644
index 756fee16b8..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/init.mcfunction
+++ /dev/null
@@ -1,132 +0,0 @@
-execute unless score combat_expanded gm4_modules matches 1 run data modify storage gm4:log queue append value {type:"install",module:"Combat Expanded"}
-execute unless score combat_expanded gm4_earliest_version < combat_expanded gm4_modules run scoreboard players operation combat_expanded gm4_earliest_version = combat_expanded gm4_modules
-scoreboard players set combat_expanded gm4_modules 1
-
-# disable natural regeneration
-execute unless score $natural_regen gm4_ce_data matches -1 store result score $natural_regen gm4_ce_data run gamerule naturalRegeneration
-execute unless score $natural_regen_disabled gm4_ce_data matches 1 run gamerule naturalRegeneration false
-execute unless score $natural_regen_disabled gm4_ce_data matches 1 run data modify storage gm4:log queue append value {type:"text",message:'{"text":"[INFO] Combat Expanded changed gamerule naturalRegeneration to false"}'}
-execute unless score $natural_regen_disabled gm4_ce_data matches 1 run data modify storage gm4:log queue append value {type:"text",message:'[{"text":"[INFO] Combat Expanded: To disable Combat Expanded\'s natural regeneration: "},{"text":"click here","color":"red","clickEvent":{"action":"suggest_command","value":"/scoreboard players set $natural_regeneration gm4_ce_data -1"}}]'}
-execute if score $natural_regen_disabled gm4_ce_data matches 1 if score $natural_regen gm4_ce_data matches 1 run data modify storage gm4:log queue append value {type:"text",message:'[{"text":"[WARN]","color":"red"},{"text":" Combat Expanded requires naturalRegeneration to be false, but it is true. ","color":"white"},{"text":"click here to fix","color":"red","clickEvent":{"action":"suggest_command","value":"/gamerule naturalRegeneration false"}}]'}
-scoreboard players set $natural_regen_disabled gm4_ce_data 1
-
-# disable natural phantom spawning
-execute store result score $phantoms gm4_ce_data run gamerule doInsomnia
-execute unless score $phantoms_disabled gm4_ce_data matches 1 run gamerule doInsomnia false
-execute unless score $phantoms_disabled gm4_ce_data matches 1 run data modify storage gm4:log queue append value {type:"text",message:'{"text":"[INFO] Combat Expanded changed gamerule doInsomnia to false"}'}
-execute if score $phantoms_disabled gm4_ce_data matches 1 if score $phantoms gm4_ce_data matches 1 run data modify storage gm4:log queue append value {type:"text",message:'[{"text":"[WARN]","color":"red"},{"text":" Combat Expanded requires doInsomnia to be false, but it is true. ","color":"white"},{"text":"click here to fix","color":"red","clickEvent":{"action":"suggest_command","value":"/gamerule doInsomnia false"}}]'}
-scoreboard players set $phantoms_disabled gm4_ce_data 1
-
-# reset all links
-data modify storage gm4_combat_expanded:data active_links set value [{id:-1,name:{"translate":"item.gm4.combat_expanded.name.link","fallback":"Unlinked %s","with":[{"translate":"item.minecraft.iron_chestplate","italic":false}],"italic":false,"color":"light_purple"}}]
-
-# scoreboards
-scoreboard objectives add gm4_ce_id dummy
-scoreboard objectives add gm4_ce_difficult dummy {"text":"GM4 Combat Expanded: Difficulty"}
-scoreboard objectives add gm4_ce_difficult.mob dummy
-scoreboard objectives add gm4_ce_play_time dummy
-scoreboard objectives add gm4_ce_death_mult dummy
-scoreboard objectives add gm4_ce_since_last_death dummy
-scoreboard objectives add gm4_ce_alivetime minecraft.custom:minecraft.time_since_death
-scoreboard objectives add gm4_ce_deaths minecraft.custom:minecraft.deaths
-scoreboard objectives add gm4_ce_data dummy
-scoreboard objectives add gm4_ce_health.current dummy
-scoreboard objectives add gm4_ce_health.max dummy
-scoreboard objectives add gm4_ce_health.max_half dummy
-scoreboard objectives add gm4_ce_hurt minecraft.custom:minecraft.damage_taken
-scoreboard objectives add gm4_ce_kill minecraft.custom:minecraft.mob_kills
-scoreboard objectives add gm4_ce_kill2 minecraft.custom:minecraft.player_kills
-scoreboard objectives add gm4_ce_t_shield dummy
-scoreboard objectives add gm4_ce_t_delay dummy
-scoreboard objectives add gm4_ce_t_soothe dummy
-scoreboard objectives add gm4_ce_t_wolf dummy
-scoreboard objectives add gm4_ce_t_sprinting dummy
-scoreboard objectives add gm4_ce_sprinting_timeout dummy
-scoreboard objectives add gm4_ce_t_reactive dummy
-scoreboard objectives add gm4_ce_absorp dummy
-scoreboard objectives add gm4_ce_healstore dummy
-scoreboard objectives add gm4_ce_absorped minecraft.custom:minecraft.damage_absorbed
-scoreboard objectives add gm4_ce_hunger food
-scoreboard objectives add gm4_ce_shielded_hit minecraft.used:minecraft.shield
-scoreboard objectives add gm4_ce_sprinting minecraft.custom:minecraft.sprint_one_cm
-scoreboard objectives add gm4_ce_generation dummy
-scoreboard objectives add gm4_ce_swimming minecraft.custom:minecraft.swim_one_cm
-scoreboard objectives add gm4_ce_used_bow minecraft.used:minecraft.bow
-scoreboard objectives add gm4_ce_used_crossbow minecraft.used:minecraft.crossbow
-scoreboard objectives add gm4_ce_natural_regen_damage dummy
-scoreboard objectives add gm4_ce_death_mult dummy
-scoreboard objectives add gm4_ce_second_wind dummy
-scoreboard objectives add gm4_ce_link_id dummy
-scoreboard objectives add gm4_ce_link_slot dummy
-scoreboard objectives add gm4_ce_link_max_health dummy
-scoreboard objectives add gm4_ce_sword_ring dummy
-scoreboard objectives add gm4_ce_sword_ring.deg dummy
-scoreboard objectives add gm4_ce_lightning_charge dummy
-scoreboard objectives add gm4_ce_lightning_charge.timer dummy
-scoreboard objectives add gm4_ce_lightning_charge.deg dummy
-scoreboard objectives add gm4_ce_lightning_charge.striking dummy
-scoreboard objectives add gm4_ce_sword_hit_triggered dummy
-scoreboard objectives add gm4_ce_pierce_timer dummy
-scoreboard objectives add gm4_ce_sleep custom:sleep_in_bed
-scoreboard objectives add gm4_ce_sleep.version dummy
-scoreboard objectives add gm4_ce_pvp_timer dummy
-scoreboard objectives add gm4_ce_damage_cap dummy
-scoreboard objectives add gm4_ce_relog minecraft.custom:minecraft.leave_game
-scoreboard objectives add gm4_ce_burning.level dummy
-scoreboard objectives add gm4_ce_burning.duration dummy
-scoreboard objectives add gm4_ce_armor armor
-scoreboard objectives add gm4_ce_horse.speed_level dummy
-scoreboard objectives add gm4_ce_husk_pieces dummy
-
-scoreboard objectives add gm4_ce_boss dummy
-scoreboard objectives add gm4_ce_boss.id dummy
-scoreboard objectives add gm4_ce_boss.tick_delay dummy
-scoreboard objectives add gm4_ce_boss.attack_id dummy
-scoreboard objectives add gm4_ce_boss.attack_progress dummy
-scoreboard objectives add gm4_ce_boss.health dummy
-scoreboard objectives add gm4_ce_boss.phase dummy
-scoreboard objectives add gm4_ce_boss.last_attack dummy
-scoreboard objectives add gm4_ce_boss.secondary_id dummy
-
-scoreboard objectives add gm4_ce_keep_tick dummy
-
-# mob caps
-execute unless score $mob_limit.husk_army gm4_ce_data matches -2147483648..2147483647 run scoreboard players set $mob_limit.husk_army gm4_ce_data 128
-execute unless score $mob_limit.spore_zombie gm4_ce_data matches -2147483648..2147483647 run scoreboard players set $mob_limit.spore_zombie gm4_ce_data 128
-execute unless score $mob_limit.boss_minions_per_player gm4_ce_data matches -2147483648..2147483647 run scoreboard players set $mob_limit.boss_minions_per_player gm4_ce_data 3
-execute unless score $mob_limit.phantom gm4_ce_data matches -2147483648..2147483647 run scoreboard players set $mob_limit.phantom gm4_ce_data 48
-
-# constants
-scoreboard players set #-1 gm4_ce_data -1
-scoreboard players set #0 gm4_ce_data 0
-scoreboard players set #1 gm4_ce_data 1
-scoreboard players set #2 gm4_ce_data 2
-scoreboard players set #3 gm4_ce_data 3
-scoreboard players set #4 gm4_ce_data 4
-scoreboard players set #5 gm4_ce_data 5
-scoreboard players set #7 gm4_ce_data 7
-scoreboard players set #8 gm4_ce_data 8
-scoreboard players set #10 gm4_ce_data 10
-scoreboard players set #11 gm4_ce_data 11
-scoreboard players set #13 gm4_ce_data 13
-scoreboard players set #14 gm4_ce_data 14
-scoreboard players set #15 gm4_ce_data 15
-scoreboard players set #17 gm4_ce_data 17
-scoreboard players set #21 gm4_ce_data 21
-scoreboard players set #25 gm4_ce_data 25
-scoreboard players set #30 gm4_ce_data 30
-scoreboard players set #35 gm4_ce_data 35
-scoreboard players set #40 gm4_ce_data 40
-scoreboard players set #50 gm4_ce_data 50
-scoreboard players set #64 gm4_ce_data 64
-scoreboard players set #75 gm4_ce_data 75
-scoreboard players set #100 gm4_ce_data 100
-scoreboard players set #1000 gm4_ce_data 1000
-scoreboard players set #6000 gm4_ce_data 6000
-
-# start clocks
-schedule function gm4_combat_expanded:tick 1t
-schedule function gm4_combat_expanded:main 2t
-schedule function gm4_combat_expanded:slow_clock 3t
-
-#$moduleUpdateList
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/item_modify_eval/chest_update.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/item_modify_eval/chest_update.mcfunction
deleted file mode 100644
index 5b249c3f34..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/item_modify_eval/chest_update.mcfunction
+++ /dev/null
@@ -1,8 +0,0 @@
-# update chestplate with data in storage
-# @s = player wearing the item
-# at unspecified
-# run from armor/modifier/type/convert/update
-# run from armor/modifier/type/link/process/set_max_health
-# run from armor/slot/chest
-
-$item modify entity @s armor.chest {function:"minecraft:set_components",components:$(components)}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/item_modify_eval/feet_update.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/item_modify_eval/feet_update.mcfunction
deleted file mode 100644
index ae618999fe..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/item_modify_eval/feet_update.mcfunction
+++ /dev/null
@@ -1,8 +0,0 @@
-# update boots with data in storage
-# @s = player wearing the item
-# at unspecified
-# run from armor/modifier/type/convert/update
-# run from armor/modifier/type/link/process/set_max_health
-# run from armor/slot/feet
-
-$item modify entity @s armor.feet {function:"minecraft:set_components",components:$(components)}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/item_modify_eval/head_update.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/item_modify_eval/head_update.mcfunction
deleted file mode 100644
index 2fc458f536..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/item_modify_eval/head_update.mcfunction
+++ /dev/null
@@ -1,8 +0,0 @@
-# update boots with data in storage
-# @s = player wearing the item
-# at unspecified
-# run from armor/modifier/type/convert/update
-# run from armor/modifier/type/link/process/set_max_health
-# run from armor/slot/head
-
-$item modify entity @s armor.head {function:"minecraft:set_components",components:$(components)}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/item_modify_eval/legs_update.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/item_modify_eval/legs_update.mcfunction
deleted file mode 100644
index af93c484c9..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/item_modify_eval/legs_update.mcfunction
+++ /dev/null
@@ -1,8 +0,0 @@
-# update leggings with data in storage
-# @s = player wearing the item
-# at unspecified
-# run from armor/modifier/type/convert/update
-# run from armor/modifier/type/link/process/set_max_health
-# run from armor/slot/legs
-
-$item modify entity @s armor.legs {function:"minecraft:set_components",components:$(components)}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/item_modify_eval/mainhand_update.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/item_modify_eval/mainhand_update.mcfunction
deleted file mode 100644
index 361fa46d4b..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/item_modify_eval/mainhand_update.mcfunction
+++ /dev/null
@@ -1,8 +0,0 @@
-# update mainhand with data in storage
-# @s = player holding the item
-# at unspecified
-# run from weapon/convert_netherite
-# run from weapon/update_sharpness
-# run from weapon/modifier/swift/activate
-
-$item modify entity @s weapon.mainhand {function:"minecraft:set_components",components:$(components)}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/item_modify_eval/set_damage.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/item_modify_eval/set_damage.mcfunction
deleted file mode 100644
index 4000cce735..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/item_modify_eval/set_damage.mcfunction
+++ /dev/null
@@ -1,9 +0,0 @@
-# set damage on armor item
-# @s = player wearing the item
-# at unspecified
-# run from armor/modifier/type/sword_ring/damage_dealt/apply_durability
-
-$execute if score $sword_id gm4_ce_data matches 0 run item modify entity @s armor.head {function:"minecraft:set_components",components:{"minecraft:damage":$(damage)}}
-$execute if score $sword_id gm4_ce_data matches 1 run item modify entity @s armor.chest {function:"minecraft:set_components",components:{"minecraft:damage":$(damage)}}
-$execute if score $sword_id gm4_ce_data matches 2 run item modify entity @s armor.legs {function:"minecraft:set_components",components:{"minecraft:damage":$(damage)}}
-$execute if score $sword_id gm4_ce_data matches 3 run item modify entity @s armor.feet {function:"minecraft:set_components",components:{"minecraft:damage":$(damage)}}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/item_modify_eval/sharpness_lore.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/item_modify_eval/sharpness_lore.mcfunction
deleted file mode 100644
index 8e5812374f..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/item_modify_eval/sharpness_lore.mcfunction
+++ /dev/null
@@ -1,6 +0,0 @@
-# update sharpness lore on weapon
-# @s = player holding the item
-# at unspecified
-# run from weapon/update_sharpness
-
-$item modify entity @s weapon.mainhand {function:"minecraft:set_components",components:{"minecraft:lore":$(lore)}}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/main.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/main.mcfunction
deleted file mode 100644
index f9e5aa9729..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/main.mcfunction
+++ /dev/null
@@ -1,36 +0,0 @@
-schedule function gm4_combat_expanded:main 16t
-
-# | Mobs
-# initiate new mobs
-execute as @e[type=#gm4_combat_expanded:modify,tag=!smithed.entity,tag=!gm4_ce_processed,nbt=!{PersistenceRequired:1b}] at @s run function gm4_combat_expanded:mob/init/check_mob
-schedule function gm4_combat_expanded:mob/init/modifier/stat/check_damage_cap_schedule 1t
-# process cloaked creepers
-execute as @e[type=creeper,tag=gm4_ce_cloaked_creeper] at @s if entity @a[gamemode=!spectator,gamemode=!creative,distance=..3.1] run function gm4_combat_expanded:mob/process/cloaked_creeper
-# zombie spores
-execute as @e[type=item,tag=gm4_ce_spore] at @s run function gm4_combat_expanded:mob/process/spore/advance
-item replace entity @e[type=#gm4_combat_expanded:zombie_types,tag=gm4_ce_spore_zombie,predicate=gm4_combat_expanded:technical/on_fire] armor.head with air
-# phantoms drown under water
-execute as @e[type=phantom,tag=!smithed.entity] at @s if block ~ ~ ~ #gm4:water run damage @s 2 drown
-
-# | Armor
-# process canine set wolves
-execute as @e[type=wolf,tag=gm4_ce_wolf] run function gm4_combat_expanded:armor/modifier/type/canine/wolf_process
-# sword_ring
-execute unless score $keep_tick.sword_ring gm4_ce_keep_tick matches 1 if entity @a[predicate=gm4_combat_expanded:modified_armor/sword_ring,gamemode=!spectator] run schedule function gm4_combat_expanded:clocks/temp/sword_ring 1t
-# beacon
-execute unless score $keep_tick.beacon gm4_ce_keep_tick matches 1 if entity @a[predicate=gm4_combat_expanded:modified_armor/beacon,gamemode=!spectator] run schedule function gm4_combat_expanded:clocks/temp/beacon 1t
-# burn
-execute unless score $keep_tick.burn gm4_ce_keep_tick matches 1 if entity @a[scores={gm4_ce_burning.duration=1..}] run schedule function gm4_combat_expanded:clocks/temp/burn 1t
-
-# | Weapons
-# pierce
-execute as @e[type=!#gm4_combat_expanded:effect_immune,scores={gm4_ce_pierce_timer=1..}] at @s run function gm4_combat_expanded:weapon/modifier/pierce/tick_down
-
-# | Boss
-execute unless score $keep_tick.boss gm4_ce_keep_tick matches 1 if entity @e[type=shulker,tag=gm4_ce_boss.watcher] run schedule function gm4_combat_expanded:clocks/boss/watchers 1t
-
-# | Players
-# player submain
-schedule function gm4_combat_expanded:clocks/player_submain 8t
-# sustain armor double speed regen
-execute if score $natural_regen gm4_ce_data matches 0 as @a[tag=gm4_ce_sustain_active] unless score @s[scores={gm4_ce_hunger=18..},predicate=!gm4_combat_expanded:technical/poisoned] gm4_ce_natural_regen_damage matches 1.. run function gm4_combat_expanded:armor/modifier/type/sustain/extra_regen
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/check_mob.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/check_mob.mcfunction
deleted file mode 100644
index ca82af28f9..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/check_mob.mcfunction
+++ /dev/null
@@ -1,15 +0,0 @@
-# initiate newly spawned mobs (mobs without any tags)
-# @s = mobs that can be buffed
-# at @s
-# run from main
-
-# mark as from a spawner if mob spawned in the air, unless it is expected to
-execute if block ~ ~-0.01 ~ #gm4:no_collision run tag @s[type=!#gm4_combat_expanded:modify_in_air] add gm4_ce_processed
-
-# remove gm4_ce_processed tag if this mob is riding another mob (spider / chicken jockeys)
-scoreboard players set $mounted gm4_ce_data 0
-execute if entity @s[tag=gm4_ce_processed] on vehicle run scoreboard players set $mounted gm4_ce_data 1
-execute if score $mounted gm4_ce_data matches 1 run tag @s remove gm4_ce_processed
-
-# initiate unless mob is from spawner
-execute unless entity @s[tag=gm4_ce_processed] run function gm4_combat_expanded:mob/init/initiate
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/initiate.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/initiate.mcfunction
deleted file mode 100644
index e2bfa9be89..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/initiate.mcfunction
+++ /dev/null
@@ -1,53 +0,0 @@
-# initiate newly spawned mobs (mobs without any tags)
-# @s = mobs that can be buffed
-# at @s
-# run from mob/init/check_mob
-
-# get difficulty score from the nearest player
-scoreboard players operation $difficulty gm4_ce_data = @p[gamemode=!spectator] gm4_ce_difficult
-
-# modify difficulty score based on some factors, starting with a randomized value
-execute store result score $difficulty_mult gm4_ce_data run random value -10..10
-# raining +20%
-execute if predicate gm4_combat_expanded:technical/raining run scoreboard players add $difficulty_mult gm4_ce_data 20
-# night & not in dark biome +0-40% based on moon phase
-scoreboard players operation $moon_diff_add gm4_ce_data = $moon gm4_ce_data
-scoreboard players operation $moon_diff_add gm4_ce_data *= #10 gm4_ce_data
-execute unless predicate gm4_combat_expanded:mob/modifier/dark if predicate gm4_combat_expanded:technical/night_time run scoreboard players operation $difficulty_mult gm4_ce_data += $moon_diff_add gm4_ce_data
-# dark biome +30%
-execute if predicate gm4_combat_expanded:mob/modifier/dark run scoreboard players add $difficulty_mult gm4_ce_data 30
-# mountainous +20%
-execute if predicate gm4_combat_expanded:mob/modifier/mountainous run scoreboard players add $difficulty_mult gm4_ce_data 20
-# home bed nearby-ish -40% and set a score to disable some mechanics
-scoreboard players set $nearby_home_bed gm4_ce_data 0
-execute as @e[type=marker,tag=gm4_ce_bed,distance=..128] run function gm4_combat_expanded:player/home/check_bed
-execute if score $nearby_home_bed gm4_ce_data matches 1 run scoreboard players remove $difficulty_mult gm4_ce_data 40
-# apply difficulty_mult
-scoreboard players operation $difficulty_add gm4_ce_data = $difficulty gm4_ce_data
-scoreboard players operation $difficulty_add gm4_ce_data *= $difficulty_mult gm4_ce_data
-scoreboard players operation $difficulty_add gm4_ce_data /= #100 gm4_ce_data
-scoreboard players operation $difficulty gm4_ce_data += $difficulty_add gm4_ce_data
-# apply a flat diff increase and make sure difficulty is between 0 - 100
-execute store result score $difficulty_flat gm4_ce_data run random value -5..5
-scoreboard players operation $difficulty gm4_ce_data += $difficulty_flat gm4_ce_data
-scoreboard players operation $difficulty gm4_ce_data > #0 gm4_ce_data
-scoreboard players operation $difficulty gm4_ce_data < #100 gm4_ce_data
-
-# reset scoreboard
-scoreboard players reset $mob_extras gm4_ce_data
-# initialize different mobs
-function gm4_combat_expanded:mob/init/mob_type
-
-# heal to max health
-effect give @s[type=#gm4_combat_expanded:undead] instant_damage 1 20 true
-effect give @s[type=!#gm4_combat_expanded:undead] instant_health 1 20 true
-
-# process any spawned mobs
-execute if score $mob_extras gm4_ce_data matches 1.. unless entity @s[tag=gm4_ce_extra_mob] as @e[tag=gm4_ce_extra_mob] at @s run function gm4_combat_expanded:mob/init/initiate
-tag @s remove gm4_ce_extra_mob
-
-# store difficulty
-scoreboard players operation @s gm4_ce_difficult.mob = $difficulty gm4_ce_data
-
-# mark mob as initiated
-tag @s add gm4_ce_processed
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/mob_type.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/mob_type.mcfunction
deleted file mode 100644
index 1fde306299..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/mob_type.mcfunction
+++ /dev/null
@@ -1,29 +0,0 @@
-# check what mob is being processed
-# @s = mobs that can be buffed
-# at @s
-# run from mob/init/initiate
-
-# zombie, zombie_villager, husk, drowned
-execute if entity @s[type=#gm4_combat_expanded:zombie_types] run function gm4_combat_expanded:mob/init/mob_type/zombie
-execute if entity @s[type=skeleton] run function gm4_combat_expanded:mob/init/mob_type/skeleton
-execute if entity @s[type=spider] run function gm4_combat_expanded:mob/init/mob_type/spider
-execute if entity @s[type=creeper] run function gm4_combat_expanded:mob/init/mob_type/creeper
-execute if entity @s[type=stray] run function gm4_combat_expanded:mob/init/mob_type/skeleton
-execute if entity @s[type=cave_spider] run function gm4_combat_expanded:mob/init/mob_type/cave_spider
-execute if entity @s[type=slime] run function gm4_combat_expanded:mob/init/mob_type/slime
-execute if entity @s[type=magma_cube] run function gm4_combat_expanded:mob/init/mob_type/slime
-execute if entity @s[type=enderman] run function gm4_combat_expanded:mob/init/mob_type/enderman
-execute if entity @s[type=phantom] run function gm4_combat_expanded:mob/init/mob_type/phantom
-execute if entity @s[type=wither_skeleton] run function gm4_combat_expanded:mob/init/mob_type/wither_skeleton
-execute if entity @s[type=piglin] run function gm4_combat_expanded:mob/init/mob_type/piglin
-execute if entity @s[type=pillager] run function gm4_combat_expanded:mob/init/mob_type/pillager
-execute if entity @s[type=vindicator] run function gm4_combat_expanded:mob/init/mob_type/vindicator
-execute if entity @s[type=zombified_piglin] run function gm4_combat_expanded:mob/init/mob_type/zombified_piglin
-execute if entity @s[type=hoglin] run function gm4_combat_expanded:mob/init/mob_type/hoglin
-execute if entity @s[type=silverfish] run function gm4_combat_expanded:mob/init/mob_type/silverfish
-execute if entity @s[type=guardian] run function gm4_combat_expanded:mob/init/mob_type/guardian
-execute if entity @s[type=blaze] run function gm4_combat_expanded:mob/init/mob_type/blaze
-execute if entity @s[type=evoker] run function gm4_combat_expanded:mob/init/mob_type/evoker
-execute if entity @s[type=ravager] run function gm4_combat_expanded:mob/init/mob_type/ravager
-execute if entity @s[type=zoglin] run function gm4_combat_expanded:mob/init/mob_type/hoglin
-execute if entity @s[type=endermite] run function gm4_combat_expanded:mob/init/mob_type/silverfish
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/mob_type/blaze.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/mob_type/blaze.mcfunction
deleted file mode 100644
index 29f896f367..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/mob_type/blaze.mcfunction
+++ /dev/null
@@ -1,25 +0,0 @@
-# calculate modifiers for newly spawned blaze
-# @s = blaze
-# at @s
-# run from mob/init/mob_type
-
-# base stat nerf
-attribute @s minecraft:max_health modifier add gm4_combat_expanded:stat_change.base_nerf -8 add_value
-attribute @s minecraft:attack_damage modifier add gm4_combat_expanded:stat_change.base_nerf -3 add_value
-
-# max stat buffs
-scoreboard players set $mob_health gm4_ce_data 13
-scoreboard players set $mob_damage gm4_ce_data 45
-scoreboard players set $mob_speed gm4_ce_data 0
-scoreboard players set $mob_armor gm4_ce_data 20
-scoreboard players set $mob_toughness gm4_ce_data 10
-# max damage mob is allowed to deal in one hit
-scoreboard players set @s gm4_ce_damage_cap 75
-
-# | Biome Modifiers
-# nether wastes
-attribute @s[predicate=gm4_combat_expanded:mob/modifier/nether/nether_wastes] minecraft:movement_speed modifier add gm4_combat_expanded:stat_change.nether_wastes 1 add_multiplied_base
-
-# set modifiers
-execute unless score $replaced_mob gm4_ce_data matches 1 run function gm4_combat_expanded:mob/init/modifier/stat/prep
-scoreboard players reset $replaced_mob gm4_ce_data
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/mob_type/cave_spider.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/mob_type/cave_spider.mcfunction
deleted file mode 100644
index c9a864650c..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/mob_type/cave_spider.mcfunction
+++ /dev/null
@@ -1,39 +0,0 @@
-# calculate modifiers for newly spawned cave spider
-# @s = cave spider
-# at @s
-# run from mob/init/mob_type
-
-# base stat nerf
-attribute @s minecraft:max_health modifier add gm4_combat_expanded:stat_change.base_nerf -8 add_value
-attribute @s minecraft:attack_damage modifier add gm4_combat_expanded:stat_change.base_nerf -1.5 add_value
-attribute @s minecraft:movement_speed modifier add gm4_combat_expanded:stat_change.base_nerf -0.12 add_multiplied_base
-
-# max stat buffs
-scoreboard players set $mob_health gm4_ce_data 10
-scoreboard players set $mob_damage gm4_ce_data 40
-scoreboard players set $mob_speed gm4_ce_data 42
-scoreboard players set $mob_armor gm4_ce_data 0
-scoreboard players set $mob_toughness gm4_ce_data 0
-# max damage mob is allowed to deal in one hit
-scoreboard players set @s gm4_ce_damage_cap 55
-
-# | Biome Modifiers
-# snowy
-tag @s[type=spider,predicate=gm4_combat_expanded:mob/modifier/snowy] add gm4_ce_slowing_attacks
-# mountainous
-effect give @s[predicate=gm4_combat_expanded:mob/modifier/mountainous,predicate=gm4_combat_expanded:technical/chance/spider_speed] speed infinite 0
-# burned
-effect give @s[predicate=gm4_combat_expanded:mob/modifier/burned,predicate=gm4_combat_expanded:technical/chance/spider_fire_resist] fire_resistance infinite 0
-# flowering
-execute if predicate gm4_combat_expanded:mob/modifier/lush_caves run function gm4_combat_expanded:mob/init/modifier/special/lush_caves_spider
-# toxic
-tag @s[predicate=gm4_combat_expanded:mob/modifier/toxic] add gm4_ce_poison_bite
-# growth
-execute if entity @s[tag=!gm4_ce_extra_mob,predicate=gm4_combat_expanded:mob/modifier/growth] store success score $mob_extras gm4_ce_data run summon cave_spider ~ ~ ~ {Tags:["gm4_ce_extra_mob"]}
-execute if entity @s[tag=!gm4_ce_extra_mob,predicate=gm4_combat_expanded:mob/modifier/growth,predicate=gm4_combat_expanded:technical/chance/extra_spider_spawn] store success score $mob_extras gm4_ce_data run summon cave_spider ~ ~ ~ {Tags:["gm4_ce_extra_mob"]}
-# dark
-attribute @s[predicate=gm4_combat_expanded:mob/modifier/dark] minecraft:movement_speed modifier add gm4_combat_expanded:stat_change.dark 0.15 add_multiplied_base
-
-# set modifiers
-execute unless score $replaced_mob gm4_ce_data matches 1 run function gm4_combat_expanded:mob/init/modifier/stat/prep
-scoreboard players reset $replaced_mob gm4_ce_data
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/mob_type/creeper.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/mob_type/creeper.mcfunction
deleted file mode 100644
index 2002e802ee..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/mob_type/creeper.mcfunction
+++ /dev/null
@@ -1,37 +0,0 @@
-# calculate modifiers for newly spawned creeper
-# @s = creeper
-# at @s
-# run from mob/init/mob_type
-
-# base stat nerf
-attribute @s minecraft:max_health modifier add gm4_combat_expanded:stat_change.base_nerf -5 add_value
-
-# max stat buffs
-scoreboard players set $mob_health gm4_ce_data 12
-scoreboard players set $mob_damage gm4_ce_data 0
-scoreboard players set $mob_speed gm4_ce_data 15
-scoreboard players set $mob_armor gm4_ce_data 7
-scoreboard players set $mob_toughness gm4_ce_data 0
-# max damage mob is allowed to deal in one hit
-scoreboard players set @s gm4_ce_damage_cap 80
-
-# | Biome Modifiers
-# snowy
-execute if predicate gm4_combat_expanded:mob/modifier/snowy run function gm4_combat_expanded:mob/init/modifier/special/snowy_creeper
-# mountainous
-attribute @s[predicate=gm4_combat_expanded:mob/modifier/mountainous] minecraft:knockback_resistance modifier add gm4_combat_expanded:stat_change.mountainous 0.4 add_value
-# burned
-execute if predicate gm4_combat_expanded:mob/modifier/burned store result entity @s Fuse int 0.75 run data get entity @s Fuse
-# flowering
-execute if predicate gm4_combat_expanded:mob/modifier/flowering run function gm4_combat_expanded:mob/init/modifier/special/flowering_creeper
-# toxic
-execute if predicate gm4_combat_expanded:mob/modifier/toxic run function gm4_combat_expanded:mob/process/toxic_creeper
-tag @s[predicate=gm4_combat_expanded:mob/modifier/toxic] add gm4_ce_toxic_creeper
-# growth
-attribute @s[predicate=gm4_combat_expanded:mob/modifier/growth] minecraft:movement_speed modifier add gm4_combat_expanded:stat_change.growth 0.2 add_multiplied_base
-# dark
-data modify entity @s[predicate=gm4_combat_expanded:mob/modifier/dark] ExplosionRadius set value 4s
-
-# set modifiers
-execute unless score $replaced_mob gm4_ce_data matches 1 run function gm4_combat_expanded:mob/init/modifier/stat/prep
-scoreboard players reset $replaced_mob gm4_ce_data
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/mob_type/enderman.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/mob_type/enderman.mcfunction
deleted file mode 100644
index 3fa2ce003d..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/mob_type/enderman.mcfunction
+++ /dev/null
@@ -1,35 +0,0 @@
-# calculate modifiers for newly spawned enderman
-# @s = enderman
-# at @s
-# run from mob/init/mob_type
-
-# base stat nerf
-attribute @s[predicate=!gm4_combat_expanded:mob/modifier/the_end] minecraft:max_health modifier add gm4_combat_expanded:stat_change.base_nerf -2 add_value
-attribute @s minecraft:attack_damage modifier add gm4_combat_expanded:stat_change.base_nerf -3 add_value
-attribute @s minecraft:movement_speed modifier add gm4_combat_expanded:stat_change.base_nerf -0.1 add_multiplied_base
-
-# max stat buffs
-scoreboard players set $mob_health gm4_ce_data 16
-scoreboard players set $mob_damage gm4_ce_data 65
-scoreboard players set $mob_speed gm4_ce_data 20
-scoreboard players set $mob_armor gm4_ce_data 9
-scoreboard players set $mob_toughness gm4_ce_data 0
-# max damage mob is allowed to deal in one hit
-scoreboard players set @s gm4_ce_damage_cap 140
-
-# | Biome Modifiers
-# flowering
-execute if predicate gm4_combat_expanded:mob/modifier/flowering if predicate gm4_combat_expanded:technical/chance/replace_enderman_slime run function gm4_combat_expanded:mob/init/modifier/special/flowering_enderman
-# the end
-attribute @s[predicate=gm4_combat_expanded:mob/modifier/the_end] minecraft:attack_damage modifier add gm4_combat_expanded:stat_change.the_end 0.2 add_multiplied_base
-attribute @s[predicate=gm4_combat_expanded:mob/modifier/the_end] minecraft:movement_speed modifier add gm4_combat_expanded:stat_change.the_end 0.15 add_multiplied_base
-# warped forest
-execute if predicate gm4_combat_expanded:mob/modifier/nether/warped_forest if predicate gm4_combat_expanded:technical/chance/extra_enderman run function gm4_combat_expanded:mob/init/modifier/special/warped_forest_enderman
-# nether wastes
-execute if predicate gm4_combat_expanded:mob/modifier/nether/nether_wastes if predicate gm4_combat_expanded:technical/chance/replace_enderman_blaze run function gm4_combat_expanded:mob/init/modifier/special/nether_wastes_enderman
-# soul sand valley
-execute if predicate gm4_combat_expanded:mob/modifier/nether/soul_sand_valley if predicate gm4_combat_expanded:technical/chance/replace_enderman_wither_skeleton run function gm4_combat_expanded:mob/init/modifier/special/soul_sand_valley_enderman
-
-# set modifiers
-execute unless score $replaced_mob gm4_ce_data matches 1 run function gm4_combat_expanded:mob/init/modifier/stat/prep
-scoreboard players reset $replaced_mob gm4_ce_data
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/mob_type/evoker.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/mob_type/evoker.mcfunction
deleted file mode 100644
index ac0fa463ce..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/mob_type/evoker.mcfunction
+++ /dev/null
@@ -1,35 +0,0 @@
-# calculate modifiers for newly spawned evoker
-# @s = evoker
-# at @s
-# run from mob/init/mob_type
-
-# base stat nerf
-attribute @s minecraft:max_health modifier add gm4_combat_expanded:stat_change.base_nerf -4 add_value
-attribute @s minecraft:movement_speed modifier add gm4_combat_expanded:stat_change.base_nerf -0.10 add_multiplied_base
-
-# max stat buffs
-scoreboard players set $mob_health gm4_ce_data 10
-scoreboard players set $mob_damage gm4_ce_data 0
-scoreboard players set $mob_speed gm4_ce_data 30
-scoreboard players set $mob_armor gm4_ce_data 8
-scoreboard players set $mob_toughness gm4_ce_data 0
-# max damage mob is allowed to deal in one hit
-scoreboard players set @s gm4_ce_damage_cap 100
-
-execute store result score $wave gm4_ce_data run data get entity @s Wave
-execute store result score $patrol_leader gm4_ce_data run data get entity @s PatrolLeader
-
-# | Modifiers
-# leader
-execute if score $patrol_leader gm4_ce_data matches 1 run scoreboard players add $difficulty gm4_ce_data 10
-# raider
-scoreboard players set $difficulty_add gm4_ce_data 4
-scoreboard players operation $difficulty_add gm4_ce_data *= $wave gm4_ce_data
-scoreboard players operation $difficulty gm4_ce_data += $difficulty_add gm4_ce_data
-
-# cap difficulty
-scoreboard players operation $difficulty gm4_ce_data < #100 gm4_ce_data
-
-# set modifiers
-execute unless score $replaced_mob gm4_ce_data matches 1 run function gm4_combat_expanded:mob/init/modifier/stat/prep
-scoreboard players reset $replaced_mob gm4_ce_data
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/mob_type/guardian.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/mob_type/guardian.mcfunction
deleted file mode 100644
index 624d4b846f..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/mob_type/guardian.mcfunction
+++ /dev/null
@@ -1,25 +0,0 @@
-# calculate modifiers for newly spawned guardian
-# @s = guardian
-# at @s
-# run from mob/init/mob_type
-
-# base stat nerf
-attribute @s minecraft:attack_damage modifier add gm4_combat_expanded:stat_change.base_nerf -3 add_value
-
-# max stat buffs
-scoreboard players set $mob_health gm4_ce_data 0
-scoreboard players set $mob_damage gm4_ce_data 60
-scoreboard players set $mob_speed gm4_ce_data 0
-scoreboard players set $mob_armor gm4_ce_data 0
-scoreboard players set $mob_toughness gm4_ce_data 0
-# max damage mob is allowed to deal in one hit
-scoreboard players set @s gm4_ce_damage_cap 90
-
-# | Biome Modifiers
-# reef
-execute if predicate gm4_combat_expanded:mob/modifier/reef run scoreboard players set $mob_damage gm4_ce_data 90
-scoreboard players set @s[predicate=gm4_combat_expanded:mob/modifier/reef] gm4_ce_damage_cap 120
-
-# set modifiers
-execute unless score $replaced_mob gm4_ce_data matches 1 run function gm4_combat_expanded:mob/init/modifier/stat/prep
-scoreboard players reset $replaced_mob gm4_ce_data
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/mob_type/hoglin.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/mob_type/hoglin.mcfunction
deleted file mode 100644
index a0b2ce1a16..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/mob_type/hoglin.mcfunction
+++ /dev/null
@@ -1,21 +0,0 @@
-# calculate modifiers for newly spawned hoglin / zoglin
-# @s = hoglin / zoglin
-# at @s
-# run from mob/init/mob_type
-
-# base stat nerf
-attribute @s minecraft:max_health modifier add gm4_combat_expanded:stat_change.base_nerf -16 add_value
-attribute @s minecraft:movement_speed modifier add gm4_combat_expanded:stat_change.base_nerf -0.14 add_multiplied_base
-
-# max stat buffs
-scoreboard players set $mob_health gm4_ce_data 65
-scoreboard players set $mob_damage gm4_ce_data 40
-scoreboard players set $mob_speed gm4_ce_data 18
-scoreboard players set $mob_armor gm4_ce_data 10
-scoreboard players set $mob_toughness gm4_ce_data 0
-# max damage mob is allowed to deal in one hit
-scoreboard players set @s gm4_ce_damage_cap 160
-
-# set modifiers
-execute unless score $replaced_mob gm4_ce_data matches 1 run function gm4_combat_expanded:mob/init/modifier/stat/prep
-scoreboard players reset $replaced_mob gm4_ce_data
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/mob_type/phantom.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/mob_type/phantom.mcfunction
deleted file mode 100644
index 1db01d663c..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/mob_type/phantom.mcfunction
+++ /dev/null
@@ -1,31 +0,0 @@
-# calculate modifiers for newly spawned phantom
-# @s = phantom
-# at @s
-# run from mob/init/mob_type
-
-# base stat nerf
-attribute @s minecraft:max_health modifier add gm4_combat_expanded:stat_change.base_nerf -15 add_value
-attribute @s minecraft:attack_damage modifier add gm4_combat_expanded:stat_change.base_nerf -1.5 add_value
-
-# max stat buffs
-scoreboard players set $mob_health gm4_ce_data 10
-scoreboard players set $mob_damage gm4_ce_data 45
-scoreboard players set $mob_speed gm4_ce_data 0
-scoreboard players set $mob_armor gm4_ce_data 5
-scoreboard players set $mob_toughness gm4_ce_data 0
-# max damage mob is allowed to deal in one hit
-scoreboard players set @s gm4_ce_damage_cap 60
-
-# | Biome Modifiers
-# snowy
-tag @s[predicate=gm4_combat_expanded:mob/modifier/snowy] add gm4_ce_slowing_attacks
-# burned
-effect give @s[predicate=gm4_combat_expanded:mob/modifier/burned] fire_resistance infinite 0 true
-data modify entity @s[predicate=gm4_combat_expanded:mob/modifier/burned,predicate=gm4_combat_expanded:technical/chance/grow_phantom_slight] Size set value 1
-# flowering
-data modify entity @s[predicate=gm4_combat_expanded:mob/modifier/flowering,predicate=gm4_combat_expanded:technical/chance/grow_phantom_slight] Size set value 1
-data modify entity @s[predicate=gm4_combat_expanded:mob/modifier/flowering,predicate=gm4_combat_expanded:technical/chance/grow_phantom_large] Size set value 2
-
-# set modifiers
-execute unless score $replaced_mob gm4_ce_data matches 1 run function gm4_combat_expanded:mob/init/modifier/stat/prep
-scoreboard players reset $replaced_mob gm4_ce_data
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/mob_type/piglin.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/mob_type/piglin.mcfunction
deleted file mode 100644
index 89e4f28633..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/mob_type/piglin.mcfunction
+++ /dev/null
@@ -1,34 +0,0 @@
-# calculate modifiers for newly spawned piglin
-# @s = piglin
-# at @s
-# run from mob/init/mob_type
-
-# base stat nerf
-attribute @s minecraft:max_health modifier add gm4_combat_expanded:stat_change.base_nerf -2 add_value
-attribute @s minecraft:attack_damage modifier add gm4_combat_expanded:stat_change.base_nerf -0.5 add_value
-attribute @s minecraft:movement_speed modifier add gm4_combat_expanded:stat_change.base_nerf -0.04 add_multiplied_base
-
-# max stat buffs
-scoreboard players set $mob_health gm4_ce_data 16
-scoreboard players set $mob_damage gm4_ce_data 0
-scoreboard players set $mob_speed gm4_ce_data 8
-scoreboard players set $mob_armor gm4_ce_data 4
-scoreboard players set $mob_toughness gm4_ce_data 8
-# max damage mob is allowed to deal in one hit
-scoreboard players set @s gm4_ce_damage_cap 110
-
-# | Modifiers
-# crimson forest
-execute if predicate gm4_combat_expanded:mob/modifier/nether/crimson_forest run scoreboard players set $mob_health gm4_ce_data 46
-
-# set armor
-loot replace entity @s armor.feet loot gm4_combat_expanded:mob/equip_armor/piglin
-# set weapon
-loot replace entity @s weapon.mainhand loot gm4_combat_expanded:mob/equip_weapon/piglin
-
-# if weapon is held set droprate to 20% (unless in "Dark")
-execute if data entity @s HandItems[{id:"minecraft:golden_sword"}] run data modify entity @s HandDropChances set value [0.20F,0.20F]
-
-# set modifiers
-execute unless score $replaced_mob gm4_ce_data matches 1 run function gm4_combat_expanded:mob/init/modifier/stat/prep
-scoreboard players reset $replaced_mob gm4_ce_data
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/mob_type/pillager.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/mob_type/pillager.mcfunction
deleted file mode 100644
index fc76ddbbd4..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/mob_type/pillager.mcfunction
+++ /dev/null
@@ -1,45 +0,0 @@
-# calculate modifiers for newly spawned creeper
-# @s = creeper
-# at @s
-# run from mob/init/mob_type
-
-# base stat nerf
-attribute @s minecraft:max_health modifier add gm4_combat_expanded:stat_change.base_nerf -4 add_value
-attribute @s minecraft:movement_speed modifier add gm4_combat_expanded:stat_change.base_nerf -0.15 add_multiplied_base
-
-# max stat buff
-scoreboard players set $mob_health gm4_ce_data 10
-scoreboard players set $mob_damage gm4_ce_data 0
-scoreboard players set $mob_speed gm4_ce_data 24
-scoreboard players set $mob_armor gm4_ce_data 14
-scoreboard players set $mob_toughness gm4_ce_data 15
-# max damage mob is allowed to deal in one hit
-scoreboard players set @s gm4_ce_damage_cap 30
-
-execute store result score $patrol_leader gm4_ce_data run data get entity @s PatrolLeader
-execute store result score $patrolling gm4_ce_data run data get entity @s Patrolling
-execute store result score $wave gm4_ce_data run data get entity @s Wave
-
-# | Modifiers
-# leader
-execute if score $patrol_leader gm4_ce_data matches 1 run scoreboard players add $difficulty gm4_ce_data 10
-execute if score $patrol_leader gm4_ce_data matches 1 run enchant @s piercing
-# patrolling
-execute if score $patrolling gm4_ce_data matches 1 run scoreboard players set $mob_speed gm4_ce_data 32
-# raider
-scoreboard players set $difficulty_add gm4_ce_data 4
-scoreboard players operation $difficulty_add gm4_ce_data *= $wave gm4_ce_data
-scoreboard players operation $difficulty gm4_ce_data += $difficulty_add gm4_ce_data
-
-execute if score $wave gm4_ce_data matches 4.. run scoreboard players set $mob_health gm4_ce_data 18
-execute if score $wave gm4_ce_data matches 4.. run scoreboard players set $mob_armor gm4_ce_data 24
-
-execute if score $wave gm4_ce_data matches 5.. store result score $piercing_chance gm4_ce_data run random value 4..8
-execute if score $wave gm4_ce_data matches 5.. if score $piercing_chance gm4_ce_data < $wave gm4_ce_data run enchant @s piercing
-
-# cap difficulty
-scoreboard players operation $difficulty gm4_ce_data < #100 gm4_ce_data
-
-# set modifiers
-execute unless score $replaced_mob gm4_ce_data matches 1 run function gm4_combat_expanded:mob/init/modifier/stat/prep
-scoreboard players reset $replaced_mob gm4_ce_data
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/mob_type/ravager.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/mob_type/ravager.mcfunction
deleted file mode 100644
index 8a6a0caea8..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/mob_type/ravager.mcfunction
+++ /dev/null
@@ -1,33 +0,0 @@
-# calculate modifiers for newly spawned ravager
-# @s = ravager
-# at @s
-# run from mob/init/mob_type
-
-# base stat nerf
-attribute @s minecraft:max_health modifier add gm4_combat_expanded:stat_change.base_nerf -20 add_value
-attribute @s minecraft:attack_damage modifier add gm4_combat_expanded:stat_change.base_nerf 3 add_value
-attribute @s minecraft:movement_speed modifier add gm4_combat_expanded:stat_change.base_nerf -0.1 add_multiplied_base
-
-# max stat buffs
-scoreboard players set $mob_health gm4_ce_data 70
-scoreboard players set $mob_damage gm4_ce_data 45
-scoreboard players set $mob_speed gm4_ce_data 22
-scoreboard players set $mob_armor gm4_ce_data 10
-scoreboard players set $mob_toughness gm4_ce_data 0
-# max damage mob is allowed to deal in one hit
-scoreboard players set @s gm4_ce_damage_cap 195
-
-execute store result score $wave gm4_ce_data run data get entity @s Wave
-
-# | Modifiers
-# raider
-scoreboard players set $difficulty_add gm4_ce_data 4
-scoreboard players operation $difficulty_add gm4_ce_data *= $wave gm4_ce_data
-scoreboard players operation $difficulty gm4_ce_data += $difficulty_add gm4_ce_data
-
-# cap difficulty
-scoreboard players operation $difficulty gm4_ce_data < #100 gm4_ce_data
-
-# set modifiers
-execute unless score $replaced_mob gm4_ce_data matches 1 run function gm4_combat_expanded:mob/init/modifier/stat/prep
-scoreboard players reset $replaced_mob gm4_ce_data
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/mob_type/silverfish.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/mob_type/silverfish.mcfunction
deleted file mode 100644
index a3a22baf6c..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/mob_type/silverfish.mcfunction
+++ /dev/null
@@ -1,25 +0,0 @@
-# calculate modifiers for newly spawned silverfish / endermite
-# @s = silverfish / endermite
-# at @s
-# run from mob/init/mob_type
-
-# base stat nerf
-attribute @s minecraft:max_health modifier add gm4_combat_expanded:stat_change.base_nerf -6 add_value
-attribute @s minecraft:movement_speed modifier add gm4_combat_expanded:stat_change.base_nerf -0.05 add_multiplied_base
-
-# max stat buffs
-scoreboard players set $mob_health gm4_ce_data 3
-scoreboard players set $mob_damage gm4_ce_data 10
-scoreboard players set $mob_speed gm4_ce_data 10
-scoreboard players set $mob_armor gm4_ce_data 0
-scoreboard players set $mob_toughness gm4_ce_data 0
-# max damage mob is allowed to deal in one hit
-scoreboard players set @s gm4_ce_damage_cap 30
-
-# | Biome Modifiers
-# lush caves
-tag @s[type=silverfish,predicate=gm4_combat_expanded:mob/modifier/lush_caves] add gm4_ce_infesting_attacks
-
-# set modifiers
-execute unless score $replaced_mob gm4_ce_data matches 1 run function gm4_combat_expanded:mob/init/modifier/stat/prep
-scoreboard players reset $replaced_mob gm4_ce_data
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/mob_type/skeleton.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/mob_type/skeleton.mcfunction
deleted file mode 100644
index 2060b6e7a5..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/mob_type/skeleton.mcfunction
+++ /dev/null
@@ -1,59 +0,0 @@
-# calculate modifiers for newly spawned skeleton / stray
-# @s = skeleton / stray
-# at @s
-# run from mob/init/mob_type
-
-# base stat nerf
-attribute @s minecraft:max_health modifier add gm4_combat_expanded:stat_change.base_nerf -5 add_value
-attribute @s minecraft:movement_speed modifier add gm4_combat_expanded:stat_change.base_nerf -0.20 add_multiplied_base
-
-# max stat buffs
-scoreboard players set $mob_health gm4_ce_data 12
-scoreboard players set $mob_damage gm4_ce_data 35
-scoreboard players set $mob_speed gm4_ce_data 20
-scoreboard players set $mob_armor gm4_ce_data 6
-scoreboard players set $mob_toughness gm4_ce_data 4
-# max damage mob is allowed to deal in one hit
-scoreboard players set @s gm4_ce_damage_cap 75
-
-# | Difficulty Modifiers
-# harming arrow
-execute if entity @s[type=skeleton] store success score $arrow gm4_ce_data run loot replace entity @s[predicate=gm4_combat_expanded:technical/chance/skeleton_harming_arrow,predicate=!gm4_combat_expanded:mob/modifier/growth] weapon.offhand loot gm4_combat_expanded:mob/equip_arrow/skeleton_harming
-execute if entity @s[type=stray] store success score $arrow gm4_ce_data run loot replace entity @s[predicate=gm4_combat_expanded:technical/chance/skeleton_harming_arrow,predicate=!gm4_combat_expanded:mob/modifier/growth] weapon.offhand loot gm4_combat_expanded:mob/equip_arrow/stray_harming
-
-# | Biome Modifiers
-# snowy
-execute if entity @s[type=stray,predicate=gm4_combat_expanded:mob/modifier/snowy,predicate=!gm4_combat_expanded:mob/modifier/growth] store success score $arrow gm4_ce_data run loot replace entity @s weapon.offhand loot gm4_combat_expanded:mob/equip_arrow/stray_snowy
-# mountainous
-execute if predicate gm4_combat_expanded:mob/modifier/mountainous positioned ~ ~35 ~ store result score $phantom_count gm4_ce_data if entity @e[type=phantom,distance=..32]
-execute if score $phantoms gm4_ce_data matches 0 if score $nearby_home_bed gm4_ce_data matches 0 if score $phantom_count gm4_ce_data < $mob_limit.phantom gm4_ce_data if predicate gm4_combat_expanded:technical/chance/spawn_mountain_phantom store success score $mob_extras gm4_ce_data run summon phantom ~ ~35 ~ {Tags:["gm4_ce_extra_mob","gm4_ce_phantom"]}
-# flowering
-execute if predicate gm4_combat_expanded:technical/chance/replace_flowering_skeleton run function gm4_combat_expanded:mob/init/modifier/special/flowering_skeleton
-# toxic
-execute if entity @s[type=skeleton,predicate=gm4_combat_expanded:mob/modifier/toxic,predicate=!gm4_combat_expanded:mob/modifier/growth] store success score $arrow gm4_ce_data run loot replace entity @s weapon.offhand loot gm4_combat_expanded:mob/equip_arrow/skeleton_toxic
-execute if entity @s[type=stray,predicate=gm4_combat_expanded:mob/modifier/toxic,predicate=!gm4_combat_expanded:mob/modifier/growth] store success score $arrow gm4_ce_data run loot replace entity @s weapon.offhand loot gm4_combat_expanded:mob/equip_arrow/stray_toxic
-# growth
-execute if predicate gm4_combat_expanded:mob/modifier/growth run function gm4_combat_expanded:mob/init/modifier/special/growth_skeleton
-# dark
-execute if predicate gm4_combat_expanded:mob/modifier/dark run scoreboard players add $mob_speed gm4_ce_data 2
-execute if predicate gm4_combat_expanded:mob/modifier/dark run scoreboard players add $mob_toughness gm4_ce_data 2
-# soul sand valley
-execute if predicate gm4_combat_expanded:mob/modifier/nether/soul_sand_valley run effect give @s fire_resistance infinite 0 true
-
-# set armor
-loot replace entity @s armor.feet loot gm4_combat_expanded:mob/equip_armor/generic/feet
-loot replace entity @s armor.legs loot gm4_combat_expanded:mob/equip_armor/generic/legs
-loot replace entity @s armor.chest loot gm4_combat_expanded:mob/equip_armor/generic/chest
-loot replace entity @s armor.head loot gm4_combat_expanded:mob/equip_armor/generic/head
-# set weapon
-loot replace entity @s weapon.mainhand loot gm4_combat_expanded:mob/equip_weapon/skeleton
-
-# drop rate for custom arrows
-execute if score $arrow gm4_ce_data matches 1 run data modify entity @s HandDropChances[1] set value 0.25F
-
-# half droprate of armor in "Dark"
-data modify entity @s[predicate=gm4_combat_expanded:mob/modifier/dark] ArmorDropChances set value [0.0452F,0.0452F,0.0452F,0.0452F]
-
-# set modifiers
-execute unless score $replaced_mob gm4_ce_data matches 1 run function gm4_combat_expanded:mob/init/modifier/stat/prep
-scoreboard players reset $replaced_mob gm4_ce_data
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/mob_type/slime.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/mob_type/slime.mcfunction
deleted file mode 100644
index 5ec993f110..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/mob_type/slime.mcfunction
+++ /dev/null
@@ -1,47 +0,0 @@
-# calculate modifiers for newly spawned slime / magma cube
-# @s = slime / magma cube
-# at @s
-# run from mob/init/mob_type
-
-# store size for changing
-execute store result score $size gm4_ce_data run data get entity @s Size
-
-# base stat nerf
-execute unless score $size gm4_ce_data matches 0 run attribute @s minecraft:max_health modifier add gm4_combat_expanded:stat_change.base_nerf -3 add_value
-
-# max stat buffs
-scoreboard players set $mob_health gm4_ce_data 13
-scoreboard players set $mob_damage gm4_ce_data 0
-scoreboard players set $mob_speed gm4_ce_data 0
-scoreboard players set $mob_armor gm4_ce_data 0
-scoreboard players set $mob_toughness gm4_ce_data 0
-# max damage mob is allowed to deal in one hit
-scoreboard players set @s gm4_ce_damage_cap 80
-
-# | Biome Modifiers
-# snowy
-execute if score $size gm4_ce_data matches 1..2 if predicate gm4_combat_expanded:mob/modifier/snowy run scoreboard players add $size gm4_ce_data 1
-# flowering
-execute if predicate gm4_combat_expanded:mob/modifier/flowering run function gm4_combat_expanded:mob/init/modifier/special/flowering_slime
-# toxic
-tag @s[type=slime,predicate=gm4_combat_expanded:mob/modifier/toxic] add gm4_ce_poison_attack
-# growth
-execute if score $size gm4_ce_data matches 1.. if entity @s[type=slime,tag=!gm4_ce_extra_mob,predicate=gm4_combat_expanded:mob/modifier/growth] run function gm4_combat_expanded:mob/init/modifier/special/growth_slime
-# basalt deltas
-execute if score $size gm4_ce_data matches 1..2 if entity @s[type=magma_cube,predicate=gm4_combat_expanded:mob/modifier/nether/basalt_deltas] run scoreboard players add $size gm4_ce_data 1
-attribute @s minecraft:attack_damage modifier add gm4_combat_expanded:stat_change.basalt_deltas 0.15 add_multiplied_total
-
-# size changes based on difficulty
-execute if score $size gm4_ce_data matches 1..3 if predicate gm4_combat_expanded:technical/chance/slime_grow_common run scoreboard players add $size gm4_ce_data 1
-execute if score $size gm4_ce_data matches 1..3 if predicate gm4_combat_expanded:technical/chance/slime_grow_rare run scoreboard players add $size gm4_ce_data 1
-
-# set size
-execute if score $size gm4_ce_data matches 0 run scoreboard players set $mob_health gm4_ce_data 0
-execute if score $size gm4_ce_data matches 2 run attribute @s minecraft:attack_damage base set 3
-execute if score $size gm4_ce_data matches 3 run attribute @s minecraft:attack_damage base set 4
-execute if score $size gm4_ce_data matches 4 run attribute @s minecraft:attack_damage base set 5
-execute store result entity @s Size int 1 run scoreboard players get $size gm4_ce_data
-
-# set modifiers
-execute unless score $replaced_mob gm4_ce_data matches 1 run function gm4_combat_expanded:mob/init/modifier/stat/prep
-scoreboard players reset $replaced_mob gm4_ce_data
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/mob_type/spider.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/mob_type/spider.mcfunction
deleted file mode 100644
index 8a59c09ac0..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/mob_type/spider.mcfunction
+++ /dev/null
@@ -1,39 +0,0 @@
-# calculate modifiers for newly spawned spider
-# @s = spider
-# at @s
-# run from mob/init/mob_type
-
-# base stat nerf
-attribute @s minecraft:max_health modifier add gm4_combat_expanded:stat_change.base_nerf -6 add_value
-attribute @s minecraft:attack_damage modifier add gm4_combat_expanded:stat_change.base_nerf -0.5 add_value
-attribute @s minecraft:movement_speed modifier add gm4_combat_expanded:stat_change.base_nerf -0.06 add_multiplied_base
-
-# max stat buffs
-scoreboard players set $mob_health gm4_ce_data 12
-scoreboard players set $mob_damage gm4_ce_data 40
-scoreboard players set $mob_speed gm4_ce_data 56
-scoreboard players set $mob_armor gm4_ce_data 4
-scoreboard players set $mob_toughness gm4_ce_data 0
-# max damage mob is allowed to deal in one hit
-scoreboard players set @s gm4_ce_damage_cap 65
-
-# | Biome Modifiers
-# snowy
-tag @s[type=spider,predicate=gm4_combat_expanded:mob/modifier/snowy] add gm4_ce_slowing_attacks
-# mountainous
-effect give @s[predicate=gm4_combat_expanded:mob/modifier/mountainous,predicate=gm4_combat_expanded:technical/chance/spider_speed] speed infinite 0
-# burned
-effect give @s[predicate=gm4_combat_expanded:mob/modifier/burned,predicate=gm4_combat_expanded:technical/chance/spider_fire_resist] fire_resistance infinite 0
-# flowering
-execute if predicate gm4_combat_expanded:mob/modifier/lush_caves if predicate gm4_combat_expanded:technical/chance/spider_replace run function gm4_combat_expanded:mob/init/modifier/special/lush_caves_spider
-# toxic
-execute if predicate gm4_combat_expanded:mob/modifier/toxic run function gm4_combat_expanded:mob/init/modifier/special/toxic_spider
-# growth
-execute if entity @s[tag=!gm4_ce_extra_mob,predicate=gm4_combat_expanded:mob/modifier/growth] store success score $mob_extras gm4_ce_data run summon spider ~ ~ ~ {Tags:["gm4_ce_extra_mob"]}
-execute if entity @s[tag=!gm4_ce_extra_mob,predicate=gm4_combat_expanded:mob/modifier/growth,predicate=gm4_combat_expanded:technical/chance/extra_spider_spawn] store success score $mob_extras gm4_ce_data run summon spider ~ ~ ~ {Tags:["gm4_ce_extra_mob"]}
-# dark
-effect give @s[predicate=gm4_combat_expanded:mob/modifier/dark,predicate=gm4_combat_expanded:technical/chance/spider_invisibility] invisibility infinite 0
-
-# set modifiers
-execute unless score $replaced_mob gm4_ce_data matches 1 run function gm4_combat_expanded:mob/init/modifier/stat/prep
-scoreboard players reset $replaced_mob gm4_ce_data
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/mob_type/vindicator.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/mob_type/vindicator.mcfunction
deleted file mode 100644
index 1eb29a72e8..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/mob_type/vindicator.mcfunction
+++ /dev/null
@@ -1,45 +0,0 @@
-# calculate modifiers for newly spawned vindicator
-# @s = vindicator
-# at @s
-# run from mob/init/mob_type
-
-# base stat nerf
-attribute @s minecraft:max_health modifier add gm4_combat_expanded:stat_change.base_nerf -4 add_value
-attribute @s minecraft:attack_damage modifier add gm4_combat_expanded:stat_change.base_nerf -3 add_value
-attribute @s minecraft:movement_speed modifier add gm4_combat_expanded:stat_change.base_nerf -0.10 add_multiplied_base
-
-# max stat buffs
-scoreboard players set $mob_health gm4_ce_data 15
-scoreboard players set $mob_damage gm4_ce_data 45
-scoreboard players set $mob_speed gm4_ce_data 30
-scoreboard players set $mob_armor gm4_ce_data 14
-scoreboard players set $mob_toughness gm4_ce_data 0
-# max damage mob is allowed to deal in one hit
-scoreboard players set @s gm4_ce_damage_cap 100
-
-execute store result score $wave gm4_ce_data run data get entity @s Wave
-execute store result score $patrol_leader gm4_ce_data run data get entity @s PatrolLeader
-
-# | Modifiers
-# leader
-execute if score $patrol_leader gm4_ce_data matches 1 run scoreboard players add $difficulty gm4_ce_data 10
-# raider
-scoreboard players set $difficulty_add gm4_ce_data 4
-scoreboard players operation $difficulty_add gm4_ce_data *= $wave gm4_ce_data
-scoreboard players operation $difficulty gm4_ce_data += $difficulty_add gm4_ce_data
-
-execute if score $wave gm4_ce_data matches 4.. run scoreboard players set $mob_health gm4_ce_data 30
-execute if score $wave gm4_ce_data matches 4.. run scoreboard players set $mob_toughness gm4_ce_data 10
-
-# cap difficulty
-scoreboard players operation $difficulty gm4_ce_data < #100 gm4_ce_data
-
-# set weapon
-loot replace entity @s weapon.mainhand loot gm4_combat_expanded:weapon/axe/iron
-
-# set droprate to 40%
-data modify entity @s HandDropChances set value [0.40F,0.40F]
-
-# set modifiers
-execute unless score $replaced_mob gm4_ce_data matches 1 run function gm4_combat_expanded:mob/init/modifier/stat/prep
-scoreboard players reset $replaced_mob gm4_ce_data
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/mob_type/wither_skeleton.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/mob_type/wither_skeleton.mcfunction
deleted file mode 100644
index 7fe99f19b4..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/mob_type/wither_skeleton.mcfunction
+++ /dev/null
@@ -1,36 +0,0 @@
-# calculate modifiers for newly spawned wither skeleton
-# @s = wither skeleton
-# at @s
-# run from mob/init/mob_type
-
-# base stat nerf
-attribute @s minecraft:max_health modifier add gm4_combat_expanded:stat_change.base_nerf -2 add_value
-attribute @s minecraft:movement_speed modifier add gm4_combat_expanded:stat_change.base_nerf -0.04 add_multiplied_base
-
-# max stat buffs
-scoreboard players set $mob_health gm4_ce_data 16
-scoreboard players set $mob_damage gm4_ce_data 0
-scoreboard players set $mob_speed gm4_ce_data 14
-scoreboard players set $mob_armor gm4_ce_data 8
-scoreboard players set $mob_toughness gm4_ce_data 12
-# max damage mob is allowed to deal in one hit
-scoreboard players set @s gm4_ce_damage_cap 140
-
-# knockback resistance
-attribute @s minecraft:knockback_resistance modifier add gm4_combat_expanded:stat_change.kb_resist 0.666 add_value
-
-# set armor
-loot replace entity @s armor.feet loot gm4_combat_expanded:mob/equip_armor/wither_skeleton
-# set weapon
-loot replace entity @s weapon.mainhand loot gm4_combat_expanded:mob/equip_weapon/wither_skeleton
-
-# withering arrow
-execute if data entity @s HandItems[{id:"minecraft:bow"}] store success score $arrow gm4_ce_data run loot replace entity @s weapon.offhand loot gm4_combat_expanded:mob/equip_arrow/withering
-execute if score $arrow gm4_ce_data matches 1 run data modify entity @s HandDropChances[1] set value 0.25F
-
-# if weapon is held set hand droprate to 20%
-execute if data entity @s HandItems[{id:"minecraft:stone_sword"}] run data modify entity @s HandDropChances set value [0.20F,0.20F]
-
-# set modifiers
-execute unless score $replaced_mob gm4_ce_data matches 1 run function gm4_combat_expanded:mob/init/modifier/stat/prep
-scoreboard players reset $replaced_mob gm4_ce_data
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/mob_type/zombie.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/mob_type/zombie.mcfunction
deleted file mode 100644
index eb65297c7d..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/mob_type/zombie.mcfunction
+++ /dev/null
@@ -1,72 +0,0 @@
-# calculate modifiers for newly spawned zombie / zombie villager
-# @s = zombie (villager)
-# at @s
-# run from mob/init/mob_type
-
-# base stat nerf
-attribute @s minecraft:max_health modifier add gm4_combat_expanded:stat_change.base_nerf -3 add_value
-attribute @s minecraft:attack_damage modifier add gm4_combat_expanded:stat_change.base_nerf -1 add_value
-attribute @s minecraft:movement_speed modifier add gm4_combat_expanded:stat_change.base_nerf -0.05 add_multiplied_base
-
-# max stat buffs
-scoreboard players set $mob_health gm4_ce_data 15
-scoreboard players set $mob_damage gm4_ce_data 45
-scoreboard players set $mob_speed gm4_ce_data 20
-scoreboard players set $mob_armor gm4_ce_data 4
-scoreboard players set $mob_toughness gm4_ce_data 8
-# max damage mob is allowed to deal in one hit
-scoreboard players set @s gm4_ce_damage_cap 90
-
-# set armor
-loot replace entity @s armor.feet loot gm4_combat_expanded:mob/equip_armor/generic/feet
-loot replace entity @s armor.legs loot gm4_combat_expanded:mob/equip_armor/generic/legs
-loot replace entity @s armor.chest loot gm4_combat_expanded:mob/equip_armor/generic/chest
-loot replace entity @s armor.head loot gm4_combat_expanded:mob/equip_armor/generic/head
-# set weapon
-loot replace entity @s weapon.mainhand loot gm4_combat_expanded:mob/equip_weapon/generic
-
-# | Biome Modifiers
-# snowy
-tag @s[predicate=gm4_combat_expanded:mob/modifier/snowy] add gm4_ce_slowing_attacks
-# mountainous
-execute if predicate gm4_combat_expanded:mob/modifier/mountainous run function gm4_combat_expanded:mob/init/modifier/special/mountain_zombie
-# burned
-execute if entity @s[type=husk,predicate=gm4_combat_expanded:mob/modifier/burned] run function gm4_combat_expanded:mob/init/modifier/special/burned_husk
-# flowering
-execute if predicate gm4_combat_expanded:mob/modifier/flowering run tag @s add gm4_ce_spore_zombie
-execute if entity @s[tag=gm4_ce_spore_zombie] run function gm4_combat_expanded:mob/init/modifier/special/flowering_zombie
-# toxic
-tag @s[predicate=gm4_combat_expanded:mob/modifier/toxic] add gm4_ce_weakness_attacks
-# deep
-attribute @s[type=drowned,predicate=gm4_combat_expanded:mob/modifier/deep] minecraft:movement_speed modifier add gm4_combat_expanded:stat_change.deep 0.2 add_multiplied_base
-# reef
-execute if entity @s[type=drowned,predicate=gm4_combat_expanded:mob/modifier/reef] run function gm4_combat_expanded:mob/init/modifier/special/reef_drowned
-# growth
-execute if entity @s[type=!zombie_villager,tag=!gm4_ce_spore_zombie,predicate=gm4_combat_expanded:mob/modifier/growth] run function gm4_combat_expanded:mob/init/modifier/special/growth_zombie
-
-# half droprate of armor in "Dark"
-data modify entity @s[predicate=gm4_combat_expanded:mob/modifier/dark] ArmorDropChances set value [0.0452F,0.0452F,0.0452F,0.0452F]
-
-# | Other Modifiers
-# only allow one of the following modifiers
-scoreboard players set $modifier_picked gm4_ce_data 0
-# replace "Zombie leaders" with minibosses
-execute if data entity @s[type=!zombie_villager] attributes[{id:"minecraft:max_health"}].modifiers[{id:"minecraft:leader_zombie_bonus"}] run function gm4_combat_expanded:mob/init/modifier/special/zombie_leader
-execute if data entity @s[type=zombie_villager] attributes[{id:"minecraft:max_health"}].modifiers[{id:"minecraft:leader_zombie_bonus"}] run data remove entity @s attributes[{id:"minecraft:max_health"}].modifiers[{id:"minecraft:leader_zombie_bonus"}]
-execute if entity @s[type=zombie,tag=gm4_ce_miniboss] run function gm4_combat_expanded:mob/init/modifier/special/zombie_miniboss
-execute if entity @s[type=husk,tag=gm4_ce_miniboss] run function gm4_combat_expanded:mob/init/modifier/special/husk_miniboss
-execute if entity @s[type=drowned,tag=gm4_ce_miniboss] run function gm4_combat_expanded:mob/init/modifier/special/drowned_miniboss
-# baby zombie (zombie leader is never a baby)
-execute if score $modifier_picked gm4_ce_data matches 0 if data entity @s {IsBaby:1b} store success score $modifier_picked gm4_ce_data run attribute @s minecraft:max_health modifier add gm4_combat_expanded:stat_change.baby_zombie -0.6 add_multiplied_base
-# sprinter
-execute if score $modifier_picked gm4_ce_data matches 0 if predicate gm4_combat_expanded:technical/chance/zombie_sprinter store success score $modifier_picked gm4_ce_data run effect give @s speed infinite 0
-# shielded
-execute if score $modifier_picked gm4_ce_data matches 0 if predicate gm4_combat_expanded:technical/chance/zombie_shielded run function gm4_combat_expanded:mob/init/modifier/special/zombie_shielded
-# dual wield
-execute if score $modifier_picked gm4_ce_data matches 0 if predicate gm4_combat_expanded:technical/chance/zombie_dual_wield run function gm4_combat_expanded:mob/init/modifier/special/zombie_dual_wield
-# solid (KB resist)
-execute if score $modifier_picked gm4_ce_data matches 0 if predicate gm4_combat_expanded:technical/chance/zombie_solid store success score $modifier_picked gm4_ce_data run attribute @s minecraft:knockback_resistance modifier add gm4_combat_expanded:stat_change.solid 0.45 add_value
-
-# set modifiers
-execute unless score $replaced_mob gm4_ce_data matches 1 run function gm4_combat_expanded:mob/init/modifier/stat/prep
-scoreboard players reset $replaced_mob gm4_ce_data
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/mob_type/zombified_piglin.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/mob_type/zombified_piglin.mcfunction
deleted file mode 100644
index 194173e8b2..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/mob_type/zombified_piglin.mcfunction
+++ /dev/null
@@ -1,33 +0,0 @@
-# calculate modifiers for newly spawned zombified piglin
-# @s = zombified piglin
-# at @s
-# run from mob/init/mob_type
-
-# base stat nerf
-attribute @s minecraft:max_health modifier add gm4_combat_expanded:stat_change.base_nerf -3 add_value
-attribute @s minecraft:attack_damage modifier add gm4_combat_expanded:stat_change.base_nerf -2.5 add_value
-attribute @s minecraft:movement_speed modifier add gm4_combat_expanded:stat_change.base_nerf -0.02 add_multiplied_base
-
-# max stat buffs
-scoreboard players set $mob_health gm4_ce_data 18
-scoreboard players set $mob_damage gm4_ce_data 55
-scoreboard players set $mob_speed gm4_ce_data 25
-scoreboard players set $mob_armor gm4_ce_data 0
-scoreboard players set $mob_toughness gm4_ce_data 0
-# max damage mob is allowed to deal in one hit
-scoreboard players set @s gm4_ce_damage_cap 90
-
-# set armor
-loot replace entity @s[predicate=gm4_combat_expanded:mob/modifier/nether/crimson_forest] armor.feet loot gm4_combat_expanded:mob/equip_armor/piglin
-# set weapon
-loot replace entity @s weapon.mainhand loot gm4_combat_expanded:weapon/sword/gold
-
-# set droprate to 20%
-data modify entity @s HandDropChances set value [0.20F,0.20F]
-
-# remove zombie leader bonus
-execute if data entity @s attributes[{id:"minecraft:max_health"}].modifiers[{id:"minecraft:leader_zombie_bonus"}] run data remove entity @s attributes[{id:"minecraft:max_health"}].modifiers[{id:"minecraft:leader_zombie_bonus"}]
-
-# set modifiers
-execute unless score $replaced_mob gm4_ce_data matches 1 run function gm4_combat_expanded:mob/init/modifier/stat/prep
-scoreboard players reset $replaced_mob gm4_ce_data
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/burned_husk.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/burned_husk.mcfunction
deleted file mode 100644
index c67ff9211b..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/burned_husk.mcfunction
+++ /dev/null
@@ -1,9 +0,0 @@
-# apply burned husk effects
-# @s = husk
-# at @s
-# run from mob/init/mob_type/zombie
-
-attribute @s minecraft:max_health modifier add gm4_combat_expanded:stat_change.burned_husk -0.65 add_multiplied_base
-attribute @s minecraft:attack_damage modifier add gm4_combat_expanded:stat_change.burned_husk -0.25 add_multiplied_base
-execute at @p[gamemode=!spectator] store result score $husk_count gm4_ce_data if entity @e[type=husk,distance=..128]
-execute if entity @s[tag=!gm4_ce_extra_mob] unless score $husk_count gm4_ce_data > $mob_limit.husk_army gm4_ce_data run function gm4_combat_expanded:mob/init/modifier/special/burned_husk_army
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/burned_husk_army.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/burned_husk_army.mcfunction
deleted file mode 100644
index 9abb4018f9..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/burned_husk_army.mcfunction
+++ /dev/null
@@ -1,18 +0,0 @@
-# spawn up to 11 extra husks
-# @s = husk
-# at @s
-# run from mob/init/modifier/special/burned_husk
-
-execute if predicate gm4_combat_expanded:technical/chance/extra_husk_spawn/common if block ~1 ~1 ~ #gm4:no_collision run summon husk ~1 ~ ~ {Tags:["gm4_ce_extra_mob"]}
-execute if predicate gm4_combat_expanded:technical/chance/extra_husk_spawn/common if block ~-1 ~1 ~ #gm4:no_collision run summon husk ~-1 ~ ~ {Tags:["gm4_ce_extra_mob"]}
-execute if predicate gm4_combat_expanded:technical/chance/extra_husk_spawn/common if block ~ ~1 ~1 #gm4:no_collision run summon husk ~ ~ ~1 {Tags:["gm4_ce_extra_mob"]}
-execute if predicate gm4_combat_expanded:technical/chance/extra_husk_spawn/common if block ~ ~1 ~-1 #gm4:no_collision run summon husk ~ ~ ~-1 {Tags:["gm4_ce_extra_mob"]}
-execute if predicate gm4_combat_expanded:technical/chance/extra_husk_spawn/uncommon if block ~1 ~1 ~1 #gm4:no_collision run summon husk ~1 ~ ~1 {Tags:["gm4_ce_extra_mob"]}
-execute if predicate gm4_combat_expanded:technical/chance/extra_husk_spawn/uncommon if block ~-1 ~1 ~-1 #gm4:no_collision run summon husk ~-1 ~ ~-1 {Tags:["gm4_ce_extra_mob"]}
-execute if predicate gm4_combat_expanded:technical/chance/extra_husk_spawn/uncommon if block ~1 ~1 ~-1 #gm4:no_collision run summon husk ~1 ~ ~-1 {Tags:["gm4_ce_extra_mob"]}
-execute if predicate gm4_combat_expanded:technical/chance/extra_husk_spawn/rare if block ~-1 ~1 ~1 #gm4:no_collision run summon husk ~-1 ~ ~1 {Tags:["gm4_ce_extra_mob"]}
-execute if predicate gm4_combat_expanded:technical/chance/extra_husk_spawn/rare if block ~2 ~1 ~-1 #gm4:no_collision run summon husk ~2 ~ ~-1 {Tags:["gm4_ce_extra_mob"]}
-execute if predicate gm4_combat_expanded:technical/chance/extra_husk_spawn/rare if block ~-1 ~1 ~2 #gm4:no_collision run summon husk ~-1 ~ ~2 {Tags:["gm4_ce_extra_mob"]}
-execute if predicate gm4_combat_expanded:technical/chance/extra_husk_spawn/rare if block ~2 ~1 ~2 #gm4:no_collision run summon husk ~2 ~ ~2 {Tags:["gm4_ce_extra_mob"]}
-
-scoreboard players set $mob_extras gm4_ce_data 1
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/dark_mob.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/dark_mob.mcfunction
deleted file mode 100644
index f3621ebe7b..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/dark_mob.mcfunction
+++ /dev/null
@@ -1,8 +0,0 @@
-# apply dark effects to any mob
-# @s = any mob being initialized
-# at @s
-# run from mob/init/stat/prep
-
-attribute @s minecraft:max_health modifier add gm4_combat_expanded:stat_change.dark_generic 0.15 add_multiplied_base
-attribute @s minecraft:armor modifier add gm4_combat_expanded:stat_change.dark_generic 0.25 add_multiplied_base
-attribute @s minecraft:movement_speed modifier add gm4_combat_expanded:stat_change.dark_generic 0.05 add_multiplied_base
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/drowned_miniboss.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/drowned_miniboss.mcfunction
deleted file mode 100644
index bbf915b9fd..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/drowned_miniboss.mcfunction
+++ /dev/null
@@ -1,28 +0,0 @@
-# set specific attributes for miniboss zombies
-# @s = zombie miniboss
-# at @s
-# run from mob/init/mob_type/zombie
-
-summon drowned ~0.1 ~0.15 ~0.02 {Tags:["gm4_ce_extra_mob"]}
-summon drowned ~-0.05 ~0.05 ~0.005 {Tags:["gm4_ce_extra_mob"]}
-summon drowned ~-0.15 ~0.1 ~-0.01 {Tags:["gm4_ce_extra_mob"]}
-scoreboard players set $mob_extras gm4_ce_data 1
-
-attribute @s minecraft:max_health modifier add gm4_combat_expanded:stat_change.miniboss 0.1 add_multiplied_base
-attribute @s minecraft:armor_toughness modifier add gm4_combat_expanded:stat_change.miniboss 0.5 add_multiplied_base
-attribute @s minecraft:armor modifier add gm4_combat_expanded:stat_change.miniboss 0.5 add_multiplied_base
-attribute @s minecraft:attack_knockback modifier add gm4_combat_expanded:stat_change.miniboss 0.75 add_value
-attribute @s minecraft:knockback_resistance modifier add gm4_combat_expanded:stat_change.miniboss 0.75 add_value
-
-scoreboard players set @s gm4_ce_damage_cap 75
-
-loot replace entity @s armor.feet loot gm4_combat_expanded:mob/equip_armor/miniboss
-item replace entity @s weapon.mainhand with trident
-loot replace entity @s weapon.offhand loot gm4_combat_expanded:mob/equip_weapon/shield
-
-data modify entity @s ArmorDropChances set value [0.50F,0.50F,0.50F,0.50F]
-
-# slightly lower hand drop chance to keep tridents rare-ish
-data modify entity @s HandDropChances set value [0.20F,0.75F]
-
-scoreboard players set $modifier_picked gm4_ce_data 1
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/flowering_creeper.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/flowering_creeper.mcfunction
deleted file mode 100644
index 4befeee698..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/flowering_creeper.mcfunction
+++ /dev/null
@@ -1,8 +0,0 @@
-# apply invisibility to creeper
-# @s = creeper
-# at @s
-# run from mob/init/mob_type/creeper
-
-tag @s add gm4_ce_cloaked_creeper
-effect give @s invisibility 35 0
-data modify entity @s ExplosionRadius set value 2s
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/flowering_enderman.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/flowering_enderman.mcfunction
deleted file mode 100644
index 75b2623530..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/flowering_enderman.mcfunction
+++ /dev/null
@@ -1,10 +0,0 @@
-# replace enderman with a slime
-# @s = enderman
-# at @s
-# run from mob/init/mob_type/enderman
-
-summon slime ~ ~ ~ {Tags:["gm4_ce_extra_mob"],Size:2}
-tp @s ~ ~-2050 ~
-kill @s
-scoreboard players set $mob_extras gm4_ce_data 1
-scoreboard players set $replaced_mob gm4_ce_data 1
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/flowering_skeleton.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/flowering_skeleton.mcfunction
deleted file mode 100644
index e0a0ffb9d9..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/flowering_skeleton.mcfunction
+++ /dev/null
@@ -1,12 +0,0 @@
-# replace skeleton / stray with 3 zombies
-# @s = skeleton / stray
-# at @s
-# run from mob/init/mob_type/skeleton
-
-summon zombie ~.1 ~ ~ {Tags:["gm4_ce_extra_mob"]}
-execute unless predicate gm4_combat_expanded:mob/modifier/lush_caves run summon zombie ~ ~ ~.1 {Tags:["gm4_ce_extra_mob"]}
-execute unless predicate gm4_combat_expanded:mob/modifier/lush_caves run summon zombie ~-.1 ~ ~-.1 {Tags:["gm4_ce_extra_mob"]}
-scoreboard players set $mob_extras gm4_ce_data 1
-tp @s ~ ~-2050 ~
-kill @s
-scoreboard players set $replaced_mob gm4_ce_data 1
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/flowering_slime.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/flowering_slime.mcfunction
deleted file mode 100644
index 84b74b24aa..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/flowering_slime.mcfunction
+++ /dev/null
@@ -1,7 +0,0 @@
-# grow slime in size
-# @s = slime
-# at @s
-# run from mob/init/mob_type/slime
-
-execute if score $size gm4_ce_data matches 2..3 if predicate gm4_combat_expanded:technical/chance/slime_grow_common run scoreboard players add $size gm4_ce_data 1
-execute if score $size gm4_ce_data matches 2..3 if predicate gm4_combat_expanded:technical/chance/slime_grow_common run scoreboard players add $size gm4_ce_data 1
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/flowering_zombie.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/flowering_zombie.mcfunction
deleted file mode 100644
index 242784580c..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/flowering_zombie.mcfunction
+++ /dev/null
@@ -1,15 +0,0 @@
-# set flowering zombie stats
-# @s = zombie
-# at @s
-# run from mob/init/mob_type/zombie
-
-# in cherry grove make stronger spore zombie
-execute if biome ~ ~ ~ cherry_grove run tag @s add gm4_ce_spore_zombie.cherry
-
-# put spore on head and store generation
-loot replace entity @s armor.head loot gm4_combat_expanded:mob/equip_armor/spore
-execute store result entity @s ArmorItems[3].components."minecraft:custom_data".gm4_ce_spore.generation int 1 run scoreboard players add @s gm4_ce_generation 1
-
-# let generation determine dropchance of spore
-scoreboard players set $spore_dropchange gm4_ce_data 11
-execute store result entity @s ArmorDropChances[3] float 0.1 run scoreboard players operation $spore_dropchange gm4_ce_data -= @s gm4_ce_generation
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/growth_skeleton.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/growth_skeleton.mcfunction
deleted file mode 100644
index e7df3700f5..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/growth_skeleton.mcfunction
+++ /dev/null
@@ -1,8 +0,0 @@
-# apply growth effects to skeleton
-# @s = skeleton
-# at @s
-# run from mob/init/mob_type/skeleton
-
-item replace entity @s weapon.mainhand with air
-attribute @s minecraft:max_health modifier add gm4_combat_expanded:stat_change.growth -0.25 add_multiplied_base
-attribute @s minecraft:movement_speed modifier add gm4_combat_expanded:stat_change.growth 0.24 add_multiplied_base
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/growth_slime.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/growth_slime.mcfunction
deleted file mode 100644
index 8f095c33e5..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/growth_slime.mcfunction
+++ /dev/null
@@ -1,10 +0,0 @@
-# spawn additional slimes
-# @s = slime
-# at @s
-# run from mob/init/mob_type/slime
-
-summon slime ~ ~ ~0.15 {Tags:["gm4_ce_extra_mob"],Size:0}
-execute if score $size gm4_ce_data matches 2.. run summon slime ~0.15 ~ ~-0.15 {Tags:["gm4_ce_extra_mob"],Size:1}
-execute if score $size gm4_ce_data matches 3.. run summon slime ~-0.15 ~ ~-0.15 {Tags:["gm4_ce_extra_mob"],Size:0}
-execute if score $size gm4_ce_data matches 4.. run summon slime ~-0.15 ~ ~-0.15 {Tags:["gm4_ce_extra_mob"],Size:1}
-scoreboard players set $mob_extras gm4_ce_data 1
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/growth_zombie.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/growth_zombie.mcfunction
deleted file mode 100644
index 51c74d03e7..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/growth_zombie.mcfunction
+++ /dev/null
@@ -1,12 +0,0 @@
-# apply growth effects to zombie
-# @s = zombie
-# at @s
-# run from mob/init/mob_type/zombie
-
-summon skeleton ~.05 ~ ~ {Tags:["gm4_ce_extra_mob"]}
-summon skeleton ~ ~ ~ {Tags:["gm4_ce_extra_mob"]}
-summon skeleton ~-.05 ~ ~.05 {Tags:["gm4_ce_extra_mob"]}
-tp @s ~ ~-2050 ~
-kill @s
-scoreboard players set $mob_extras gm4_ce_data 1
-scoreboard players set $replaced_mob gm4_ce_data 1
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/husk_miniboss.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/husk_miniboss.mcfunction
deleted file mode 100644
index f54d791686..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/husk_miniboss.mcfunction
+++ /dev/null
@@ -1,27 +0,0 @@
-# set specific attributes for miniboss zombies
-# @s = zombie miniboss
-# at @s
-# run from mob/init/mob_type/zombie
-
-summon husk ~0.1 ~0.15 ~0.02 {Tags:["gm4_ce_extra_mob"]}
-summon husk ~-0.05 ~0.05 ~0.005 {Tags:["gm4_ce_extra_mob"]}
-summon husk ~-0.15 ~0.1 ~-0.01 {Tags:["gm4_ce_extra_mob"]}
-function gm4_combat_expanded:mob/init/modifier/special/burned_husk_army
-
-attribute @s minecraft:max_health modifier add gm4_combat_expanded:stat_change.miniboss 0.1 add_multiplied_base
-attribute @s minecraft:armor_toughness modifier add gm4_combat_expanded:stat_change.miniboss 0.5 add_multiplied_base
-attribute @s minecraft:armor modifier add gm4_combat_expanded:stat_change.miniboss 0.5 add_multiplied_base
-attribute @s minecraft:attack_knockback modifier add gm4_combat_expanded:stat_change.miniboss 0.75 add_value
-attribute @s minecraft:knockback_resistance modifier add gm4_combat_expanded:stat_change.miniboss 0.75 add_value
-
-scoreboard players set @s gm4_ce_damage_cap 75
-
-loot replace entity @s armor.feet loot gm4_combat_expanded:mob/equip_armor/miniboss
-loot replace entity @s weapon.mainhand loot gm4_combat_expanded:mob/equip_weapon/miniboss
-loot replace entity @s weapon.offhand loot gm4_combat_expanded:mob/equip_weapon/shield
-
-data modify entity @s ArmorDropChances set value [0.50F,0.50F,0.50F,0.50F]
-
-data modify entity @s HandDropChances set value [0.50F,0.75F]
-
-scoreboard players set $modifier_picked gm4_ce_data 1
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/lush_cave_silverfish.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/lush_cave_silverfish.mcfunction
deleted file mode 100644
index 1874cb8b0d..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/lush_cave_silverfish.mcfunction
+++ /dev/null
@@ -1,13 +0,0 @@
-# spawn a new silverfish from infesting bite
-# @s = silverfish
-# at @s
-# run from mob/process/attack_effect/infesting_attack
-
-execute store result entity @s Motion[0] double 0.01 run random value -25..25
-execute store result entity @s Motion[1] double 0.01 run random value 10..20
-execute store result entity @s Motion[2] double 0.01 run random value -25..25
-
-particle minecraft:block{block_state:"minecraft:stone"} ~ ~ ~ 0.15 0.15 0.15 0.5 10
-playsound minecraft:entity.silverfish.ambient player @a ~ ~ ~ 0.8 0.65
-
-function gm4_combat_expanded:mob/init/initiate
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/lush_caves_spider.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/lush_caves_spider.mcfunction
deleted file mode 100644
index 6be2a757a7..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/lush_caves_spider.mcfunction
+++ /dev/null
@@ -1,13 +0,0 @@
-# replace spider with 4 silverfish
-# @s = spider
-# at @s
-# run from mob/init/mob_type/spider
-
-summon silverfish ~0.15 ~ ~0.15
-summon silverfish ~0.15 ~ ~-0.15
-summon silverfish ~-0.15 ~ ~0.15
-summon silverfish ~-0.15 ~ ~-0.15
-tp @s ~ ~-2050 ~
-kill @s
-scoreboard players set $mob_extras gm4_ce_data 1
-scoreboard players set $replaced_mob gm4_ce_data 1
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/mountain_zombie.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/mountain_zombie.mcfunction
deleted file mode 100644
index c338b773d4..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/mountain_zombie.mcfunction
+++ /dev/null
@@ -1,9 +0,0 @@
-# set mountain zombie stats
-# @s = zombie
-# at @s
-# run from mob/init/mob_type/zombie
-
-execute positioned ~ ~35 ~ store result score $phantom_count gm4_ce_data if entity @e[type=phantom,distance=..32]
-execute if score $phantoms gm4_ce_data matches 0 if score $nearby_home_bed gm4_ce_data matches 0 if score $phantom_count gm4_ce_data < $mob_limit.phantom gm4_ce_data if predicate gm4_combat_expanded:technical/chance/spawn_mountain_phantom store success score $mob_extras gm4_ce_data run summon phantom ~ ~35 ~ {Tags:["gm4_ce_extra_mob","gm4_ce_phantom"]}
-attribute @s minecraft:attack_knockback modifier add gm4_combat_expanded:stat_change.mountainous 1 add_value
-scoreboard players add $mob_health gm4_ce_data 6
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/nether_wastes_enderman.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/nether_wastes_enderman.mcfunction
deleted file mode 100644
index 1a8d079a95..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/nether_wastes_enderman.mcfunction
+++ /dev/null
@@ -1,10 +0,0 @@
-# replace enderman with blaze
-# @s = enderman
-# at @s
-# run from mob/init/mob_type/enderman
-
-summon blaze ~ ~0.3 ~ {Tags:["gm4_ce_extra_mob"]}
-tp @s ~ ~-2050 ~
-kill @s
-scoreboard players set $mob_extras gm4_ce_data 1
-scoreboard players set $replaced_mob gm4_ce_data 1
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/reef_drowned.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/reef_drowned.mcfunction
deleted file mode 100644
index f686699dc8..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/reef_drowned.mcfunction
+++ /dev/null
@@ -1,17 +0,0 @@
-# apply reef effects to drowned
-# @s = drowned
-# at @s
-# run from mob/init/mob_type/zombie
-
-attribute @s minecraft:movement_speed modifier add gm4_combat_expanded:stat_change.reef 1 add_multiplied_base
-attribute @s minecraft:armor modifier add gm4_combat_expanded:stat_change.reef 0.1 add_multiplied_base
-attribute @s minecraft:armor_toughness modifier add gm4_combat_expanded:stat_change.reef 0.75 add_multiplied_base
-attribute @s minecraft:attack_damage modifier add gm4_combat_expanded:stat_change.reef 2 add_value
-
-execute if predicate gm4_combat_expanded:technical/chance/extra_drowned_spawn if entity @s[tag=!gm4_ce_extra_mob] store success score $mob_extras gm4_ce_data run summon drowned ~ ~ ~ {Tags:["gm4_ce_extra_mob"]}
-execute if predicate gm4_combat_expanded:technical/chance/extra_drowned_spawn if entity @s[tag=!gm4_ce_extra_mob] store success score $mob_extras gm4_ce_data run summon drowned ~ ~ ~ {Tags:["gm4_ce_extra_mob"]}
-execute if predicate gm4_combat_expanded:technical/chance/reef_guardian_spawn if entity @s[tag=!gm4_ce_extra_mob] store success score $mob_extras gm4_ce_data run summon guardian ~ ~ ~ {Tags:["gm4_ce_extra_mob"]}
-execute if predicate gm4_combat_expanded:technical/chance/reef_guardian_spawn if entity @s[tag=!gm4_ce_extra_mob] store success score $mob_extras gm4_ce_data run summon guardian ~ ~ ~ {Tags:["gm4_ce_extra_mob"]}
-execute if predicate gm4_combat_expanded:technical/chance/reef_guardian_spawn if entity @s[tag=!gm4_ce_extra_mob] store success score $mob_extras gm4_ce_data run summon guardian ~ ~ ~ {Tags:["gm4_ce_extra_mob"]}
-
-item replace entity @s[tag=!gm4_ce_extra_mob,predicate=gm4_combat_expanded:technical/chance/reef_trident] weapon.mainhand with trident
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/snowy_creeper.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/snowy_creeper.mcfunction
deleted file mode 100644
index f1b51f771c..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/snowy_creeper.mcfunction
+++ /dev/null
@@ -1,12 +0,0 @@
-# replace enderman with a slime
-# @s = enderman
-# at @s
-# run from mob/init/mob_type/enderman
-
-execute store result score $zombie_or_skeleton gm4_ce_data run random value 1..2
-execute if score $zombie_or_skeleton gm4_ce_data matches 1 run summon zombie ~ ~ ~ {Tags:["gm4_ce_extra_mob"]}
-execute if score $zombie_or_skeleton gm4_ce_data matches 2 run summon stray ~ ~ ~ {Tags:["gm4_ce_extra_mob"]}
-tp @s ~ ~-2050 ~
-kill @s
-scoreboard players set $mob_extras gm4_ce_data 1
-scoreboard players set $replaced_mob gm4_ce_data 1
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/soul_sand_valley_enderman.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/soul_sand_valley_enderman.mcfunction
deleted file mode 100644
index 1e81a4eb11..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/soul_sand_valley_enderman.mcfunction
+++ /dev/null
@@ -1,10 +0,0 @@
-# replace enderman with wither skeleton
-# @s = enderman
-# at @s
-# run from mob/init/mob_type/enderman
-
-summon wither_skeleton ~ ~ ~ {Tags:["gm4_ce_extra_mob"]}
-tp @s ~ ~-2050 ~
-kill @s
-scoreboard players set $mob_extras gm4_ce_data 1
-scoreboard players set $replaced_mob gm4_ce_data 1
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/toxic_spider.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/toxic_spider.mcfunction
deleted file mode 100644
index 195b753030..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/toxic_spider.mcfunction
+++ /dev/null
@@ -1,9 +0,0 @@
-# summon 3 extra cave spiders
-# @s = spider
-# at @s
-# run from mob/init/mob_type/spider
-
-summon cave_spider ~ ~ ~0.15 {Tags:["gm4_ce_extra_mob"],attributes:[{id:"minecraft:max_health",base:9}]}
-summon cave_spider ~0.15 ~ ~-0.15 {Tags:["gm4_ce_extra_mob"],attributes:[{id:"minecraft:max_health",base:9}]}
-summon cave_spider ~-0.15 ~ ~-0.15 {Tags:["gm4_ce_extra_mob"],attributes:[{id:"minecraft:max_health",base:9}]}
-scoreboard players set $mob_extras gm4_ce_data 1
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/warped_forest_enderman.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/warped_forest_enderman.mcfunction
deleted file mode 100644
index cc57d868ea..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/warped_forest_enderman.mcfunction
+++ /dev/null
@@ -1,7 +0,0 @@
-# replace enderman with skeletons
-# @s = enderman
-# at @s
-# run from mob/init/mob_type/enderman
-
-summon enderman ~-0.05 ~ ~0.05 {Tags:["gm4_ce_extra_mob"]}
-scoreboard players set $mob_extras gm4_ce_data 1
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/zombie_dual_wield.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/zombie_dual_wield.mcfunction
deleted file mode 100644
index b0c43a1ba4..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/zombie_dual_wield.mcfunction
+++ /dev/null
@@ -1,10 +0,0 @@
-# make this zombie a dual wielding zombie
-# @s = zombie
-# at @s
-# run from mob/init/mob_type/zombie
-
-loot replace entity @s weapon.offhand loot gm4_combat_expanded:mob/equip_weapon/generic
-attribute @s minecraft:attack_damage modifier add gm4_combat_expanded:stat_change.dual_wield_zombie 4 add_value
-attribute @s minecraft:movement_speed modifier add gm4_combat_expanded:stat_change.dual_wield_zombie -0.2 add_multiplied_base
-
-scoreboard players set $modifier_picked gm4_ce_data 1
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/zombie_leader.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/zombie_leader.mcfunction
deleted file mode 100644
index f4ae358af2..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/zombie_leader.mcfunction
+++ /dev/null
@@ -1,12 +0,0 @@
-# replace Zombie leaders with replacement zombies
-# @s = zombie leader
-# at @s
-# run from mob/init/mob_type/zombie
-
-execute if entity @s[type=zombie] run summon zombie ~ ~ ~ {Tags:["gm4_ce_extra_mob","gm4_ce_miniboss"],IsBaby:0b,CanBreakDoors:1b}
-execute if entity @s[type=drowned] run summon drowned ~ ~ ~ {Tags:["gm4_ce_extra_mob","gm4_ce_miniboss"],IsBaby:0b,CanBreakDoors:1b}
-execute if entity @s[type=husk] run summon husk ~ ~ ~ {Tags:["gm4_ce_extra_mob","gm4_ce_miniboss"],IsBaby:0b,CanBreakDoors:1b}
-tp @s ~ ~-2050 ~
-kill @s
-scoreboard players set $mob_extras gm4_ce_data 1
-scoreboard players set $replaced_mob gm4_ce_data 1
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/zombie_miniboss.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/zombie_miniboss.mcfunction
deleted file mode 100644
index f5be51d813..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/zombie_miniboss.mcfunction
+++ /dev/null
@@ -1,28 +0,0 @@
-# set specific attributes for miniboss zombies
-# @s = zombie miniboss
-# at @s
-# run from mob/init/mob_type/zombie
-
-summon zombie ~-0.05 ~0.05 ~0.005 {Tags:["gm4_ce_extra_mob"]}
-summon zombie ~-0.15 ~0.1 ~-0.01 {Tags:["gm4_ce_extra_mob"]}
-summon skeleton ~0.15 ~0.05 ~-0.01 {Tags:["gm4_ce_extra_mob"]}
-summon skeleton ~0.1 ~0.1 ~0.015 {Tags:["gm4_ce_extra_mob"]}
-scoreboard players set $mob_extras gm4_ce_data 1
-
-attribute @s minecraft:max_health modifier add gm4_combat_expanded:stat_change.miniboss 0.1 add_multiplied_base
-attribute @s minecraft:armor_toughness modifier add gm4_combat_expanded:stat_change.miniboss 0.5 add_multiplied_base
-attribute @s minecraft:armor modifier add gm4_combat_expanded:stat_change.miniboss 0.5 add_multiplied_base
-attribute @s minecraft:attack_knockback modifier add gm4_combat_expanded:stat_change.miniboss 0.75 add_value
-attribute @s minecraft:knockback_resistance modifier add gm4_combat_expanded:stat_change.miniboss 0.75 add_value
-
-scoreboard players set @s gm4_ce_damage_cap 75
-
-loot replace entity @s armor.feet loot gm4_combat_expanded:mob/equip_armor/miniboss
-loot replace entity @s weapon.mainhand loot gm4_combat_expanded:mob/equip_weapon/miniboss
-loot replace entity @s weapon.offhand loot gm4_combat_expanded:mob/equip_weapon/shield
-
-data modify entity @s ArmorDropChances set value [0.50F,0.50F,0.50F,0.50F]
-
-data modify entity @s HandDropChances set value [0.50F,0.75F]
-
-scoreboard players set $modifier_picked gm4_ce_data 1
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/zombie_shielded.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/zombie_shielded.mcfunction
deleted file mode 100644
index 6f631850d6..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/special/zombie_shielded.mcfunction
+++ /dev/null
@@ -1,13 +0,0 @@
-# make this zombie a shielded zombie
-# @s = zombie
-# at @s
-# run from mob/init/mob_type/zombie
-
-item replace entity @s weapon.offhand with shield
-attribute @s minecraft:armor modifier add gm4_combat_expanded:stat_change.shielded_zombie 5 add_value
-attribute @s minecraft:armor modifier add gm4_combat_expanded:stat_change.shielded_zombie 0.5 add_multiplied_base
-attribute @s minecraft:armor_toughness modifier add gm4_combat_expanded:stat_change.shielded_zombie 20 add_value
-attribute @s minecraft:max_health modifier add gm4_combat_expanded:stat_change.shielded_zombie -2 add_value
-scoreboard players set $mob_health gm4_ce_data 0
-
-scoreboard players set $modifier_picked gm4_ce_data 1
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/stat/check_damage_cap.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/stat/check_damage_cap.mcfunction
deleted file mode 100644
index 2eb9492f12..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/stat/check_damage_cap.mcfunction
+++ /dev/null
@@ -1,15 +0,0 @@
-# cap damage mobs can do
-# @s = mob with gm4_ce_check_damage_cap tag
-# at unspecified
-# run from mob/init/modifier/stat/check_damage_cap_schedule
-
-# check if damage did not exceed the cap, otherwise reduce to get back to it
-execute store result score $mob_total_damage gm4_ce_data run attribute @s minecraft:attack_damage get 10
-execute store result storage gm4_combat_expanded:temp picked_stat.damage_capped float 0.1 run scoreboard players operation @s gm4_ce_damage_cap -= $mob_total_damage gm4_ce_data
-execute if score @s gm4_ce_damage_cap matches ..-1 run function gm4_combat_expanded:mob/init/modifier/stat/eval_damage_cap with storage gm4_combat_expanded:temp picked_stat
-
-# get world difficulty and remove the damage bonus from hard difficulty if needed (only done at the end as minecraft does not consider the damage bonus an attribute)
-execute store result score $worlddiff gm4_ce_data run difficulty
-execute if score $worlddiff gm4_ce_data matches 3 run attribute @s minecraft:attack_damage modifier add gm4_combat_expanded:stat_change.hard_difficulty_offset -0.333334 add_multiplied_total
-
-tag @s remove gm4_ce_check_damage_cap
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/stat/check_damage_cap_schedule.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/stat/check_damage_cap_schedule.mcfunction
deleted file mode 100644
index 52a5d900c6..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/stat/check_damage_cap_schedule.mcfunction
+++ /dev/null
@@ -1,6 +0,0 @@
-# schedule damage cap check 1t later to allow mainhand changes to apply
-# @s = unspecified
-# at unspecified
-# schedule from main
-
-execute as @e[tag=gm4_ce_check_damage_cap] run function gm4_combat_expanded:mob/init/modifier/stat/check_damage_cap
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/stat/eval.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/stat/eval.mcfunction
deleted file mode 100644
index cb5f59925f..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/stat/eval.mcfunction
+++ /dev/null
@@ -1,10 +0,0 @@
-# evaluate stats
-# @s = mobs that can be buffed
-# at @s
-# run from mob/init/modifier/stat/prep
-
-$execute if score $mob_health gm4_ce_data matches 1.. run attribute @s minecraft:max_health modifier add gm4_combat_expanded:stat_change.difficulty_buff $(health) add_value
-$execute if score $mob_damage gm4_ce_data matches 1.. run attribute @s minecraft:attack_damage modifier add gm4_combat_expanded:stat_change.difficulty_buff $(damage) add_value
-$execute if score $mob_speed gm4_ce_data matches 1.. run attribute @s minecraft:movement_speed modifier add gm4_combat_expanded:stat_change.difficulty_buff $(speed) add_multiplied_base
-$execute if score $mob_armor gm4_ce_data matches 1.. run attribute @s minecraft:armor modifier add gm4_combat_expanded:stat_change.difficulty_buff $(armor) add_value
-$execute if score $mob_toughness gm4_ce_data matches 1.. run attribute @s minecraft:armor_toughness modifier add gm4_combat_expanded:stat_change.difficulty_buff $(toughness) add_value
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/stat/eval_damage_cap.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/stat/eval_damage_cap.mcfunction
deleted file mode 100644
index 48e54ca3b1..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/stat/eval_damage_cap.mcfunction
+++ /dev/null
@@ -1,7 +0,0 @@
-# cap damage to this mobs cap
-# @s = mobs that can be buffed
-# at @s
-# run from mob/init/modifier/stat/prep
-
-$attribute @s minecraft:attack_damage modifier add gm4_combat_expanded:stat_change.damage_cap_reduction $(damage_capped) add_value
-tag @s add gm4_ce_damage_capped
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/stat/prep.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/stat/prep.mcfunction
deleted file mode 100644
index 619552e536..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/init/modifier/stat/prep.mcfunction
+++ /dev/null
@@ -1,55 +0,0 @@
-# apply biome-specific modifiers randomize the stats
-# @s = mobs that can be buffed
-# at @s
-# run from functions in mob/init/mob_type/
-
-# | Biome Modifiers
-# snowy
-attribute @s[predicate=gm4_combat_expanded:mob/modifier/snowy] minecraft:movement_speed modifier add gm4_combat_expanded:stat_change.snowy -0.15 add_multiplied_base
-attribute @s[predicate=gm4_combat_expanded:mob/modifier/snowy] minecraft:max_health modifier add gm4_combat_expanded:stat_change.snowy 0.15 add_multiplied_base
-# mountainous
-attribute @s[predicate=gm4_combat_expanded:mob/modifier/mountainous] minecraft:armor modifier add gm4_combat_expanded:stat_change.mountainous 0.25 add_multiplied_base
-attribute @s[predicate=gm4_combat_expanded:mob/modifier/mountainous] minecraft:armor_toughness modifier add gm4_combat_expanded:stat_change.mountainous 0.5 add_multiplied_base
-# burned
-attribute @s[predicate=gm4_combat_expanded:mob/modifier/burned] minecraft:movement_speed modifier add gm4_combat_expanded:stat_change.burned 0.1 add_multiplied_base
-# toxic
-attribute @s[predicate=gm4_combat_expanded:mob/modifier/toxic] minecraft:attack_damage modifier add gm4_combat_expanded:stat_change.toxic -0.25 add_multiplied_base
-# deep
-attribute @s[predicate=gm4_combat_expanded:mob/modifier/deep] minecraft:armor_toughness modifier add gm4_combat_expanded:stat_change.deep 0.6 add_multiplied_base
-# dark
-execute if predicate gm4_combat_expanded:mob/modifier/dark run function gm4_combat_expanded:mob/init/modifier/special/dark_mob
-
-# remove bonus health if witch spawned in witch hut
-execute if entity @s[type=witch,predicate=gm4_combat_expanded:technical/in_witch_hut] run scoreboard players set $mob_health gm4_ce_data 0
-# remove bonus health if enderman spawned in end
-execute if entity @s[type=enderman] if dimension the_end run scoreboard players set $mob_health gm4_ce_data 0
-# remove bonus damage if weapon is held, then set droprate to 20% (unless in "Dark")
-execute if predicate gm4_combat_expanded:mob/has_weapon run scoreboard players set $mob_damage gm4_ce_data 0
-execute if score $mob_damage gm4_ce_data matches 0 run data modify entity @s[predicate=!gm4_combat_expanded:mob/modifier/dark] HandDropChances set value [0.20F,0.20F]
-# randomise stats - set values between 0 and current value based on:
-# HEALTH = 0.5*score + BINOMDIST(n=0.5*score,p=0.5)
-execute if score $mob_health gm4_ce_data matches 1.. store result score $mob_health gm4_ce_data run loot spawn 29999998 1 7133 loot gm4_combat_expanded:mob/randomize_stats/health
-# DAMAGE = 0.15*score + RANDOM(0 - 0.35*score) + BINOMDIST(n=0.5*score,p=0.5)
-execute if score $mob_damage gm4_ce_data matches 1.. store result score $mob_damage gm4_ce_data run loot spawn 29999998 1 7133 loot gm4_combat_expanded:mob/randomize_stats/damage
-# SPEED = RANDOM(0 - 0.5*score) + BINOMDIST(n=0.5*score,p=0.5)
-execute if score $mob_speed gm4_ce_data matches 1.. store result score $mob_speed gm4_ce_data run loot spawn 29999998 1 7133 loot gm4_combat_expanded:mob/randomize_stats/speed
-# ARMOR = 0.25*score + RANDOM(0 - 0.25*score) + BINOMDIST(n=0.5*score,p=0.5)
-execute if score $mob_armor gm4_ce_data matches 1.. store result score $mob_armor gm4_ce_data run loot spawn 29999998 1 7133 loot gm4_combat_expanded:mob/randomize_stats/armor
-# TOUGHNESS = 0.25*score + RANDOM(0 - 0.75*score)
-execute if score $mob_toughness gm4_ce_data matches 1.. store result score $mob_toughness gm4_ce_data run loot spawn 29999998 1 7133 loot gm4_combat_expanded:mob/randomize_stats/toughness
-
-# store modifiers modified by difficulty
-execute store result storage gm4_combat_expanded:temp picked_stat.health float 0.01 run scoreboard players operation $mob_health gm4_ce_data *= $difficulty gm4_ce_data
-execute store result storage gm4_combat_expanded:temp picked_stat.damage float 0.001 run scoreboard players operation $mob_damage gm4_ce_data *= $difficulty gm4_ce_data
-execute store result storage gm4_combat_expanded:temp picked_stat.speed float 0.0001 run scoreboard players operation $mob_speed gm4_ce_data *= $difficulty gm4_ce_data
-execute store result storage gm4_combat_expanded:temp picked_stat.armor float 0.01 run scoreboard players operation $mob_armor gm4_ce_data *= $difficulty gm4_ce_data
-execute store result storage gm4_combat_expanded:temp picked_stat.toughness float 0.01 run scoreboard players operation $mob_toughness gm4_ce_data *= $difficulty gm4_ce_data
-
-# evaluate stats and add modifiers to mob
-function gm4_combat_expanded:mob/init/modifier/stat/eval with storage gm4_combat_expanded:temp picked_stat
-
-# tag to check for damage cap (1 tick later to make sure the weapon is counted as well)
-tag @s add gm4_ce_check_damage_cap
-
-# TODO: remove (spigot bug)
-execute positioned 29999998 1 7133 run kill @e[type=item,distance=..2]
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/process/attack_effect/infesting_attack.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/process/attack_effect/infesting_attack.mcfunction
deleted file mode 100644
index ecd8215ec4..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/process/attack_effect/infesting_attack.mcfunction
+++ /dev/null
@@ -1,6 +0,0 @@
-# spawn silverfish at players hit with infesting attack
-# @s = player that was hit
-# at unspecified
-advancement revoke @s only gm4_combat_expanded:damaged/mob/infesting
-
-execute if predicate gm4_combat_expanded:technical/chance/infested_bite_spawn positioned ~ ~0.4 ~ summon silverfish run function gm4_combat_expanded:mob/init/modifier/special/lush_cave_silverfish
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/process/attack_effect/poison_attack.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/process/attack_effect/poison_attack.mcfunction
deleted file mode 100644
index ae1db77a19..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/process/attack_effect/poison_attack.mcfunction
+++ /dev/null
@@ -1,7 +0,0 @@
-# weaken players hit with poison attack
-# @s = player that was hit
-# at unspecified
-advancement revoke @s only gm4_combat_expanded:damaged/mob/poison
-
-effect give @s[tag=!gm4_ce_immune_poison] poison 15 0
-effect give @s[tag=!gm4_ce_immune_nausea] nausea 15 0
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/process/attack_effect/slowing_attack.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/process/attack_effect/slowing_attack.mcfunction
deleted file mode 100644
index f0838a9f40..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/process/attack_effect/slowing_attack.mcfunction
+++ /dev/null
@@ -1,6 +0,0 @@
-# slow players hit with slowing attack
-# @s = player that was hit
-# at unspecified
-advancement revoke @s only gm4_combat_expanded:damaged/mob/slowing
-
-effect give @s[tag=!gm4_ce_immune_slowness] slowness 15 0
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/process/attack_effect/toxic_bite.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/process/attack_effect/toxic_bite.mcfunction
deleted file mode 100644
index ace1a8d323..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/process/attack_effect/toxic_bite.mcfunction
+++ /dev/null
@@ -1,13 +0,0 @@
-# weakness and hunger players hit with a toxic bite
-# @s = player that was hit
-# at unspecified
-advancement revoke @s only gm4_combat_expanded:damaged/mob/toxic
-
-# scale effect with world difficulty (on easy no effect is applied)
-execute store result score $worlddiff gm4_ce_data run difficulty
-
-execute if score $worlddiff gm4_ce_data matches 2 run effect give @s[tag=!gm4_ce_immune_weakness] weakness 7 0
-execute if score $worlddiff gm4_ce_data matches 3 run effect give @s[tag=!gm4_ce_immune_weakness] weakness 15 0
-
-execute if score $worlddiff gm4_ce_data matches 2 run effect give @s[tag=!gm4_ce_immune_hunger] hunger 7 1
-execute if score $worlddiff gm4_ce_data matches 3 run effect give @s[tag=!gm4_ce_immune_hunger] hunger 15 1
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/process/attack_effect/weakness_attack.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/process/attack_effect/weakness_attack.mcfunction
deleted file mode 100644
index fc9ac35a00..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/process/attack_effect/weakness_attack.mcfunction
+++ /dev/null
@@ -1,7 +0,0 @@
-# weaken players hit with weakness attack
-# @s = player that was hit
-# at unspecified
-advancement revoke @s only gm4_combat_expanded:damaged/mob/weakness
-
-effect give @s[tag=!gm4_ce_immune_weakness] weakness 15 0
-effect give @s[tag=!gm4_ce_immune_hunger] hunger 15 1
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/process/cloaked_creeper.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/process/cloaked_creeper.mcfunction
deleted file mode 100644
index b3a655a755..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/process/cloaked_creeper.mcfunction
+++ /dev/null
@@ -1,7 +0,0 @@
-# uncloak creeper if a player is nearby
-# @s = cloaked creeper
-# at @s
-# run from main
-
-effect clear @s invisibility
-tag @s remove gm4_ce_cloaked_creeper
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/process/spore/activate.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/process/spore/activate.mcfunction
deleted file mode 100644
index 3e58796aac..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/process/spore/activate.mcfunction
+++ /dev/null
@@ -1,31 +0,0 @@
-# summon new zombie/husk/drowned when spore is grown
-# @s = spore item
-# at @s
-# run from mob/process/spore/advance
-
-# check for mob cap
-execute at @p[gamemode=!spectator] store result score $spore_zombie_count gm4_ce_data if entity @e[type=#gm4_combat_expanded:zombie_types,tag=gm4_ce_spore_mob,distance=..32]
-execute if score $spore_zombie_count gm4_ce_data > $mob_limit.spore_zombie gm4_ce_data run kill @s
-execute if score $spore_zombie_count gm4_ce_data > $mob_limit.spore_zombie gm4_ce_data run return 0
-
-# get spores in stack and their generation
-execute store result score $spore_count gm4_ce_data run data get entity @s Item.count
-execute store result score $generation gm4_ce_data run data get entity @s Item.components."minecraft:custom_data".gm4_ce_spore.generation
-
-# spawn up to 4 spore zombies
-execute align xz run summon zombie ~.5 ~ ~.5 {Tags:["gm4_ce_extra_mob","gm4_ce_spore_mob"]}
-execute if score $spore_count gm4_ce_data matches 2.. align xz run summon zombie ~.51 ~ ~.47 {Tags:["gm4_ce_extra_mob","gm4_ce_spore_mob"]}
-execute if score $spore_count gm4_ce_data matches 3.. align xz run summon zombie ~.54 ~ ~.52 {Tags:["gm4_ce_extra_mob","gm4_ce_spore_mob"]}
-execute if score $spore_count gm4_ce_data matches 4.. align xz run summon zombie ~0.47 ~ ~.54 {Tags:["gm4_ce_extra_mob","gm4_ce_spore_mob"]}
-execute if entity @s[tag=gm4_ce_spore.cherry] run tag @e[type=zombie,tag=gm4_ce_spore_mob,distance=..1] add gm4_ce_spore_zombie.cherry
-
-# vfx
-particle minecraft:block{block_state:"minecraft:flowering_azalea_leaves"} ~ ~1 ~ 0.35 1 0.35 0.1 32
-playsound block.grass.break hostile @a ~ ~ ~ 0.6 0.6
-
-# remove spores
-execute if score $spore_count gm4_ce_data matches ..4 run kill @s
-execute if score $spore_count gm4_ce_data matches 5.. store result entity @s Item.count byte 1 run scoreboard players remove $spore_count gm4_ce_data 4
-
-# set spore zombie generation
-execute as @e[tag=gm4_ce_spore_mob,distance=..1] at @s run function gm4_combat_expanded:mob/process/spore/set_generation
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/process/spore/advance.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/process/spore/advance.mcfunction
deleted file mode 100644
index 1fb89616f2..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/process/spore/advance.mcfunction
+++ /dev/null
@@ -1,14 +0,0 @@
-# advance spore growth
-# @s = spore
-# at @s
-# run from main
-
-execute if score @s gm4_ce_data matches 10.. run function gm4_combat_expanded:mob/process/spore/activate
-scoreboard players add @s gm4_ce_data 1
-execute if score @s[tag=!gm4_ce_spore.cherry] gm4_ce_data matches 1..4 run particle minecraft:block{block_state:"minecraft:flowering_azalea_leaves"} ~ ~ ~ 0.04 0.15 0.04 0.05 5
-execute if score @s[tag=!gm4_ce_spore.cherry] gm4_ce_data matches 5..7 run particle minecraft:block{block_state:"minecraft:flowering_azalea_leaves"} ~ ~ ~ 0.045 0.175 0.045 0.1 8
-execute if score @s[tag=!gm4_ce_spore.cherry] gm4_ce_data matches 8.. run particle minecraft:block{block_state:"minecraft:flowering_azalea_leaves"} ~ ~ ~ 0.05 0.2 0.05 0.15 16
-execute if score @s[tag=gm4_ce_spore.cherry] gm4_ce_data matches 1..4 run particle minecraft:block{block_state:"minecraft:cherry_leaves"} ~ ~ ~ 0.04 0.15 0.04 0.05 5
-execute if score @s[tag=gm4_ce_spore.cherry] gm4_ce_data matches 5..7 run particle minecraft:block{block_state:"minecraft:cherry_leaves"} ~ ~ ~ 0.045 0.175 0.045 0.1 8
-execute if score @s[tag=gm4_ce_spore.cherry] gm4_ce_data matches 8.. run particle minecraft:block{block_state:"minecraft:cherry_leaves"} ~ ~ ~ 0.05 0.2 0.05 0.15 16
-playsound block.grass.step hostile @a ~ ~ ~ 2 0.5
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/process/spore/initialise.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/process/spore/initialise.mcfunction
deleted file mode 100644
index da10eb91a0..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/process/spore/initialise.mcfunction
+++ /dev/null
@@ -1,8 +0,0 @@
-# tag spore item as spore
-# @s = spore item
-# at unspecified
-# run from check_item
-
-tag @s add gm4_ce_spore
-data merge entity @s {Age:-32768,PickupDelay:32767,Health:4f}
-execute if items entity @s contents minecraft:cherry_leaves run tag @s add gm4_ce_spore.cherry
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/process/spore/set_generation.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/process/spore/set_generation.mcfunction
deleted file mode 100644
index 35c2c5a823..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/process/spore/set_generation.mcfunction
+++ /dev/null
@@ -1,9 +0,0 @@
-# set generation of new zombie/husk/drowned
-# @s = zombie/husk/drowned
-# at @s
-# run from mob/process/spore/activate
-
-scoreboard players operation @s gm4_ce_generation = $generation gm4_ce_data
-tag @s remove gm4_ce_spore_mob
-tag @s add gm4_ce_spore_zombie
-function gm4_combat_expanded:mob/init/initiate
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/process/toxic_creeper.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/process/toxic_creeper.mcfunction
deleted file mode 100644
index c3c3da772f..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/mob/process/toxic_creeper.mcfunction
+++ /dev/null
@@ -1,10 +0,0 @@
-# refresh effects on creeper
-# @s = toxic creeper
-# at unspecified
-# run from slow_clock
-# run from mob/init/mob_type/creeper
-
-effect give @s weakness 33 1
-effect give @s blindness 33 0 true
-effect give @s nausea 33 0 true
-effect give @s hunger 33 1 true
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/player/calculate_difficulty.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/player/calculate_difficulty.mcfunction
deleted file mode 100644
index c570711642..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/player/calculate_difficulty.mcfunction
+++ /dev/null
@@ -1,33 +0,0 @@
-# calculate the difficulty (https://docs.google.com/spreadsheets/d/1jxvFvZS6KcPjp3G8Qbb9rOcZZ8ukyBdGHxTFlA4fysA/edit?usp=sharing)
-# @s = player not in spectator
-# at unspecified
-# run from slow_clock (every 5 min)
-
-# difficulty calculations
-# play_time increases by 1 every 5 minutes, up to 100
-execute unless score @s gm4_ce_play_time matches 100.. run scoreboard players add @s gm4_ce_play_time 1
-scoreboard players operation $playtime gm4_ce_data = @s gm4_ce_play_time
-
-# add death multiplier
-# remove death_mult from 100, then use that as the percentage of difficulty score to keep
-scoreboard players set $death_mult gm4_ce_data 100
-scoreboard players operation $death_mult gm4_ce_data -= @s gm4_ce_death_mult
-scoreboard players operation $playtime gm4_ce_data *= $death_mult gm4_ce_data
-scoreboard players operation $playtime gm4_ce_data /= #100 gm4_ce_data
-
-# reduce death multiplier
-# every 5 minutes since the last death is removed from death_mult
-scoreboard players operation @s[scores={gm4_ce_death_mult=1..}] gm4_ce_death_mult -= @s gm4_ce_since_last_death
-scoreboard players reset @s[scores={gm4_ce_death_mult=..0}] gm4_ce_death_mult
-scoreboard players add @s gm4_ce_since_last_death 1
-
-# get world difficulty
-execute store result score $worlddiff gm4_ce_data run difficulty
-# modify difficulty (*0.5 hard, *0.4 normal, *0.3 easy / other)
-execute if score $worlddiff gm4_ce_data matches 3 run scoreboard players operation $playtime gm4_ce_data *= #50 gm4_ce_data
-execute if score $worlddiff gm4_ce_data matches 2 run scoreboard players operation $playtime gm4_ce_data *= #40 gm4_ce_data
-execute unless score $worlddiff gm4_ce_data matches 2..3 run scoreboard players operation $playtime gm4_ce_data *= #30 gm4_ce_data
-scoreboard players operation $playtime gm4_ce_data /= #100 gm4_ce_data
-
-# store difficulty in player score
-scoreboard players operation @s gm4_ce_difficult = $playtime gm4_ce_data
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/player/calculate_hp.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/player/calculate_hp.mcfunction
deleted file mode 100644
index 29fd684d84..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/player/calculate_hp.mcfunction
+++ /dev/null
@@ -1,24 +0,0 @@
-# calculate the red health of player calling this function and store in scoreboard gm4_ce_health.current
-# $max_health and $half_health in gm4_ce_data temporaraly store max and half of max health
-# @s = player to calculate health from
-# at unspecified
-# run from armor/modifier/type/hp_check
-# run from armor/modifier/type/link/process/damage_taken
-# run from armor/modifier/type/link/general
-# run from player/heal/heal_calc
-# run from player/regen/check
-# run from weapon/modifier/delay/explode_player
-
-# get max health
-execute store result score @s gm4_ce_health.max run attribute @s minecraft:max_health get
-
-# calculate half of max health
-scoreboard players operation @s gm4_ce_health.max_half = @s gm4_ce_health.max
-scoreboard players operation @s gm4_ce_health.max_half /= #2 gm4_ce_data
-
-# calculate current health (only red hearts)
-# Health stores as float, but minecraft displays as int rounded up, this
-# mimics that so the value always matches what the player sees
-execute store result score @s gm4_ce_health.current run data get entity @s Health 10
-scoreboard players add @s gm4_ce_health.current 9
-scoreboard players operation @s gm4_ce_health.current /= #10 gm4_ce_data
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/player/clear_immunities.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/player/clear_immunities.mcfunction
deleted file mode 100644
index 3ff52b58a4..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/player/clear_immunities.mcfunction
+++ /dev/null
@@ -1,17 +0,0 @@
-# remove immunity tags from player
-# @s = player with gm4_ce_immune_active tag
-# at unspecified
-# run from player/process
-
-tag @s remove gm4_ce_immune_active
-
-tag @s remove gm4_ce_immune_fatigue
-tag @s remove gm4_ce_immune_poison
-tag @s remove gm4_ce_immune_wither
-tag @s remove gm4_ce_immune_hunger
-tag @s remove gm4_ce_immune_blind
-tag @s remove gm4_ce_immune_nausea
-tag @s remove gm4_ce_immune_weakness
-tag @s remove gm4_ce_immune_levitation
-tag @s remove gm4_ce_immune_slow_falling
-tag @s remove gm4_ce_immune_slowness
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/player/damage/activate.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/player/damage/activate.mcfunction
deleted file mode 100644
index 844a461528..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/player/damage/activate.mcfunction
+++ /dev/null
@@ -1,20 +0,0 @@
-# code taken from sweethearts
-# @s = player to damage
-# at unspecified
-# run from armor/modifier/type/link/process/calc_damage
-# run from armor/modifier/type/link/process/set_health
-
-# calculate max health to get player to new health
-scoreboard players operation $remove_health gm4_ce_data = @s gm4_ce_health.max
-scoreboard players operation $remove_health gm4_ce_data -= @s gm4_ce_health.current
-execute store result storage gm4_combat_expanded damage_player.remove_health int 1 run scoreboard players operation $remove_health gm4_ce_data += $health_change gm4_ce_data
-
-execute unless score $remove_health gm4_ce_data matches 0 run function gm4_combat_expanded:player/damage/eval with storage gm4_combat_expanded damage_player
-data remove storage gm4_combat_expanded damage_player
-
-# heal player to set their health
-effect give @s minecraft:instant_health 1 10 true
-
-# prepare reverting
-tag @s add gm4_ce_damaged
-schedule function gm4_combat_expanded:player/damage/context 1t
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/player/damage/context.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/player/damage/context.mcfunction
deleted file mode 100644
index 47dce57ef5..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/player/damage/context.mcfunction
+++ /dev/null
@@ -1,6 +0,0 @@
-# code taken from sweethearts
-# @s = unspecified
-# at unspecified
-# schedule from player/damage/activate
-
-execute as @a[tag=gm4_ce_damaged] run function gm4_combat_expanded:player/damage/revert
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/player/damage/eval.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/player/damage/eval.mcfunction
deleted file mode 100644
index 172498cf16..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/player/damage/eval.mcfunction
+++ /dev/null
@@ -1,6 +0,0 @@
-# reduce max health of player to their new health
-# @s = player to heal
-# at unspecified
-# run from player/damage/activate
-
-$attribute @s minecraft:max_health modifier add gm4_combat_expanded:remove_health -$(remove_health) add_value
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/player/damage/revert.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/player/damage/revert.mcfunction
deleted file mode 100644
index 18e2be9ba9..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/player/damage/revert.mcfunction
+++ /dev/null
@@ -1,8 +0,0 @@
-# code taken from sweethearts
-# @s = player to revert max health
-# at unspecified
-# run from player/damage/context
-
-# revert max health
-attribute @s minecraft:max_health modifier remove gm4_combat_expanded:remove_health
-tag @s remove gm4_ce_damaged
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/player/effect_immunity.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/player/effect_immunity.mcfunction
deleted file mode 100644
index 38ca845d0c..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/player/effect_immunity.mcfunction
+++ /dev/null
@@ -1,18 +0,0 @@
-# clear effects depending on player tags from armor
-# @s = player with immunity
-# at unspecified
-advancement revoke @s only gm4_combat_expanded:effect_immunity
-
-# clear effects
-effect clear @s[tag=gm4_ce_immune_fatigue] mining_fatigue
-effect clear @s[tag=gm4_ce_immune_wither] wither
-effect clear @s[tag=gm4_ce_immune_poison] poison
-
-effect clear @s[tag=gm4_ce_immune_hunger] hunger
-effect clear @s[tag=gm4_ce_immune_blind] blindness
-effect clear @s[tag=gm4_ce_immune_nausea] nausea
-effect clear @s[tag=gm4_ce_immune_weakness] weakness
-
-effect clear @s[tag=gm4_ce_immune_levitation] levitation
-effect clear @s[tag=gm4_ce_immune_slow_falling] slow_falling
-effect clear @s[tag=gm4_ce_immune_slowness] slowness
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/player/give_id.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/player/give_id.mcfunction
deleted file mode 100644
index 1debf1740e..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/player/give_id.mcfunction
+++ /dev/null
@@ -1,9 +0,0 @@
-# give every player a unique id
-# @s = new player
-# at unspecified
-# run from advancement give_id
-
-execute store result score @s gm4_ce_id run scoreboard players add $next gm4_ce_id 1
-
-# set diff to 0 until the first diff calculation
-scoreboard players add @s gm4_ce_difficult 0
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/player/heal/activate.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/player/heal/activate.mcfunction
deleted file mode 100644
index d0b7839e6b..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/player/heal/activate.mcfunction
+++ /dev/null
@@ -1,19 +0,0 @@
-# code taken from sweethearts
-# @s = player to heal
-# at unspecified
-# run from any armor/active/heal/heal_calc
-
-# if wearing half armor keep player below half
-execute if predicate gm4_combat_expanded:modified_armor/half run function gm4_combat_expanded:armor/modifier/type/half/limit_heal
-
-# calculate max health to get player to new health
-scoreboard players operation $remove_health gm4_ce_data = @s gm4_ce_health.max
-scoreboard players operation $remove_health gm4_ce_data -= @s gm4_ce_health.current
-execute store result storage gm4_combat_expanded:temp heal_player.remove_health int 1 run scoreboard players operation $remove_health gm4_ce_data -= @s gm4_ce_healstore
-
-execute unless score $remove_health gm4_ce_data matches 0 run function gm4_combat_expanded:player/heal/eval with storage gm4_combat_expanded:temp heal_player
-data remove storage gm4_combat_expanded:temp heal_player.remove_health
-
-# prepare reverting
-tag @s add gm4_ce_healed
-schedule function gm4_combat_expanded:player/heal/context 1t
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/player/heal/context.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/player/heal/context.mcfunction
deleted file mode 100644
index 87e61ec799..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/player/heal/context.mcfunction
+++ /dev/null
@@ -1,6 +0,0 @@
-# code taken from sweethearts
-# @s = unspecified
-# at unspecified
-# run from armor/type/heal/activate
-
-execute as @a[tag=gm4_ce_healed] run function gm4_combat_expanded:player/heal/revert
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/player/heal/eval.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/player/heal/eval.mcfunction
deleted file mode 100644
index d6aaa30e5a..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/player/heal/eval.mcfunction
+++ /dev/null
@@ -1,6 +0,0 @@
-# reduce max health of player to their new health
-# @s = player to heal
-# at unspecified
-# run from armor/type/heal/activate
-
-$attribute @s minecraft:max_health modifier add gm4_combat_expanded:remove_health -$(remove_health) add_value
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/player/heal/heal_calc.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/player/heal/heal_calc.mcfunction
deleted file mode 100644
index d78da044b2..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/player/heal/heal_calc.mcfunction
+++ /dev/null
@@ -1,16 +0,0 @@
-# code taken from sweethearts
-# @s = player to heal
-# at unspecified
-# run from player/process
-# run from armor/modifier/type/link/process/set_health
-
-function gm4_combat_expanded:player/calculate_hp
-
-# calculate heal
-function gm4_combat_expanded:player/heal/activate
-
-# heal player
-effect give @s minecraft:instant_health 1 10 true
-
-# cleanup
-scoreboard players reset @s gm4_ce_healstore
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/player/heal/revert.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/player/heal/revert.mcfunction
deleted file mode 100644
index 8463be9386..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/player/heal/revert.mcfunction
+++ /dev/null
@@ -1,8 +0,0 @@
-# code taken from sweethearts
-# @s = player to revert max health
-# at unspecified
-# run from armor/type/heal/context
-
-# revert max health
-attribute @s minecraft:max_health modifier remove gm4_combat_expanded:remove_health
-tag @s remove gm4_ce_healed
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/player/home/check_bed.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/player/home/check_bed.mcfunction
deleted file mode 100644
index 0847c6a030..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/player/home/check_bed.mcfunction
+++ /dev/null
@@ -1,19 +0,0 @@
-# check if a home bed should reduce difficulty
-# @s = home bed marker
-# at unspecified
-# run from mob/init/initiate
-
-# find the linked player and get their sleep.version
-scoreboard players operation $check_id gm4_ce_data = @s gm4_ce_id
-scoreboard players set $check_version gm4_ce_data -1
-execute as @a if score @s gm4_ce_id = $check_id gm4_ce_data run scoreboard players operation $check_version gm4_ce_data = @s gm4_ce_sleep.version
-
-# if beds player is not online stop
-execute if score $check_version gm4_ce_data matches -1 run return 0
-
-# if bed is the current bed return success
-execute if score @s gm4_ce_sleep.version = $check_version gm4_ce_data at @s if block ~ ~ ~ #minecraft:beds run scoreboard players set $nearby_home_bed gm4_ce_data 1
-execute if score $nearby_home_bed gm4_ce_data matches 1 run return 1
-
-# if bed is not the current bed but is linked to this player remove it
-kill @s
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/player/home/detect_sleep.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/player/home/detect_sleep.mcfunction
deleted file mode 100644
index 4557a1640c..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/player/home/detect_sleep.mcfunction
+++ /dev/null
@@ -1,20 +0,0 @@
-# process a player sleeping in a bed
-# @s = sleeping player
-# at @s
-# run from player/process
-
-# reset score to check for sleep again
-scoreboard players reset @s gm4_ce_sleep
-
-# check if a nearby bed already has this players bed marker
-scoreboard players operation $id gm4_ce_data = @s gm4_ce_id
-execute as @e[type=marker,tag=gm4_ce_bed,distance=..8,sort=nearest] if score @s gm4_ce_id = $id gm4_ce_data run return 0
-
-# increase sleep.version so old sleep markers no longer work
-execute store result score $sleep_version gm4_ce_sleep.version run scoreboard players add @s gm4_ce_sleep.version 1
-
-# kill any old bed marker for this player
-execute as @e[type=marker,tag=gm4_ce_bed] if score @s gm4_ce_id = $id gm4_ce_data run kill @s
-
-# spawn a new bed marker if there wasn't one found
-execute summon marker run function gm4_combat_expanded:player/home/init_bed
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/player/home/init_bed.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/player/home/init_bed.mcfunction
deleted file mode 100644
index b5f7079dee..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/player/home/init_bed.mcfunction
+++ /dev/null
@@ -1,8 +0,0 @@
-# init a new bed marker
-# @s = bed home marker
-# at @s
-# run from player/home/detect_sleep
-
-data merge entity @s {Tags:["gm4_ce_bed"],CustomName:'{"text":"gm4_ce_bed_marker"}',data:{gm4_combat_expanded:{bed_users:[{uses:1,id:-1}]}}}
-scoreboard players operation @s gm4_ce_id = $id gm4_ce_data
-scoreboard players operation @s gm4_ce_sleep.version = $sleep_version gm4_ce_sleep.version
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/player/in_pvp.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/player/in_pvp.mcfunction
deleted file mode 100644
index 871118e77c..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/player/in_pvp.mcfunction
+++ /dev/null
@@ -1,7 +0,0 @@
-# add a timer for this player to be in pvp so they can be hit with certain modifiers
-# @s = player damaging or being damaged by a player
-# at @s
-advancement revoke @s only gm4_combat_expanded:damaged/in_pvp
-
-# set a pvp timer for 32 seconds
-scoreboard players set @s gm4_ce_pvp_timer 40
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/player/process.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/player/process.mcfunction
deleted file mode 100644
index 3d64f38d9b..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/player/process.mcfunction
+++ /dev/null
@@ -1,47 +0,0 @@
-# process player
-# @s = online player
-# at unspecified
-# run from clocks/player_submain
-
-# process player deaths
-execute if score @s[scores={gm4_ce_deaths=1..}] gm4_ce_alivetime matches ..16 run function gm4_combat_expanded:player/process_death
-
-# also count player kills as kills
-scoreboard players operation @s gm4_ce_kill += @s gm4_ce_kill2
-
-# natural regen
-tag @s remove gm4_ce_sustain_active
-scoreboard players set @s[scores={gm4_ce_natural_regen_damage=4..,gm4_ce_kill=1..}] gm4_ce_natural_regen_damage 3
-execute if score $natural_regen gm4_ce_data matches 0 unless score @s[scores={gm4_ce_hunger=18..},tag=!gm4_ce_pause_nat_regen,predicate=!gm4_combat_expanded:technical/poisoned] gm4_ce_natural_regen_damage matches 1.. run function gm4_combat_expanded:player/regen/check
-tag @s remove gm4_ce_pause_nat_regen
-
-# check for archer armor
-tag @s[tag=gm4_ce_wearing_archer,predicate=!gm4_combat_expanded:modified_armor/archer] remove gm4_ce_wearing_archer
-execute if entity @s[tag=!gm4_ce_wearing_archer,predicate=gm4_combat_expanded:modified_armor/archer] run function gm4_combat_expanded:armor/modifier/type/archer/activate
-
-# remove husk sprint score if player didn't sprint for too long
-execute unless score @s gm4_ce_sprinting matches 1.. run scoreboard players add @s[scores={gm4_ce_t_sprinting=1..}] gm4_ce_sprinting_timeout 1
-scoreboard players reset @s[scores={gm4_ce_sprinting_timeout=3..,gm4_ce_t_sprinting=1..}] gm4_ce_t_sprinting
-scoreboard players reset @s gm4_ce_husk_pieces
-
-# remove tags
-tag @s remove gm4_ce_beacon_active
-tag @s remove gm4_ce_linked
-execute if entity @s[tag=gm4_ce_immune_active] run function gm4_combat_expanded:player/clear_immunities
-
-# process armor
-execute if predicate gm4_combat_expanded:modified_armor/wearing run function gm4_combat_expanded:armor/process
-
-# shield players if they have stored shield
-execute if score @s gm4_ce_absorp matches 1.. run function gm4_combat_expanded:player/shield/prep
-# heal players if they have stored health
-execute if score @s gm4_ce_healstore matches 1.. run function gm4_combat_expanded:player/heal/heal_calc
-
-# process player sleeping
-execute if score @s gm4_ce_sleep matches 1.. at @s run function gm4_combat_expanded:player/home/detect_sleep
-
-# remove second wind tag if armor is taken off
-tag @s[tag=gm4_ce_second_wind.active,predicate=!gm4_combat_expanded:modified_armor/second_wind] remove gm4_ce_second_wind.active
-
-# DEV: trigger for players with `gm4_ce_dev` tag
-execute if entity @s[tag=gm4_ce_dev] at @s as @e[type=#gm4_combat_expanded:modify,limit=1,sort=nearest] run function gm4_combat_expanded:debug/dont_run/dev
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/player/process_death.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/player/process_death.mcfunction
deleted file mode 100644
index e17318b63d..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/player/process_death.mcfunction
+++ /dev/null
@@ -1,41 +0,0 @@
-# process a players death
-# @s = player not in spectator
-# at unspecified
-# run from player/process (if player has just (re)spawned)
-
-# disable modifiers
-scoreboard players set @s gm4_ce_burning.duration 0
-scoreboard players reset @s gm4_ce_burning.level
-
-# update death_mult
-# multiply death_mult score by 0.75, then add 20
-scoreboard players operation @s gm4_ce_death_mult *= #75 gm4_ce_data
-scoreboard players operation @s gm4_ce_death_mult /= #100 gm4_ce_data
-scoreboard players add @s gm4_ce_death_mult 20
-scoreboard players set @s gm4_ce_since_last_death 0
-
-# reset deaths
-scoreboard players reset @s gm4_ce_deaths
-
-# re-calculate the difficulty (https://docs.google.com/spreadsheets/d/1jxvFvZS6KcPjp3G8Qbb9rOcZZ8ukyBdGHxTFlA4fysA/edit?usp=sharing)
-
-# difficulty calculations
-scoreboard players operation $playtime gm4_ce_data = @s gm4_ce_play_time
-
-# add death multiplier
-# remove death_mult from 100, then use that as the percentage of difficulty score to keep
-scoreboard players set $death_mult gm4_ce_data 100
-scoreboard players operation $death_mult gm4_ce_data -= @s gm4_ce_death_mult
-scoreboard players operation $playtime gm4_ce_data *= $death_mult gm4_ce_data
-scoreboard players operation $playtime gm4_ce_data /= #100 gm4_ce_data
-
-# get world difficulty
-execute store result score $worlddiff gm4_ce_data run difficulty
-# modify difficulty (*0.5 hard, *0.4 normal, *0.3 easy / other)
-execute if score $worlddiff gm4_ce_data matches 3 run scoreboard players operation $playtime gm4_ce_data *= #50 gm4_ce_data
-execute if score $worlddiff gm4_ce_data matches 2 run scoreboard players operation $playtime gm4_ce_data *= #40 gm4_ce_data
-execute unless score $worlddiff gm4_ce_data matches 2..3 run scoreboard players operation $playtime gm4_ce_data *= #30 gm4_ce_data
-scoreboard players operation $playtime gm4_ce_data /= #100 gm4_ce_data
-
-# store difficulty in player score
-scoreboard players operation @s gm4_ce_difficult = $playtime gm4_ce_data
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/player/regen/check.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/player/regen/check.mcfunction
deleted file mode 100644
index ec98f0bdb0..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/player/regen/check.mcfunction
+++ /dev/null
@@ -1,11 +0,0 @@
-# check if player can get some healing
-# @s = player to regenerate
-# at unspecified
-# run from player/process
-# run from armor/modifier/type/sustain/extra_regen
-
-function gm4_combat_expanded:player/calculate_hp
-execute store success score $wearing_half gm4_ce_data if score @s[predicate=gm4_combat_expanded:modified_armor/half] gm4_ce_health.current >= @s gm4_ce_health.max_half
-execute if score @s gm4_ce_health.current < @s gm4_ce_health.max unless score $wearing_half gm4_ce_data matches 1 run scoreboard players add @s gm4_ce_healstore 1
-# if player is on fire add some delay before next healing tick, fire should remain somewhat dangerous but not a death sentence if players just escaped lava
-scoreboard players set @s[scores={gm4_ce_healstore=1..},predicate=gm4_combat_expanded:technical/on_fire] gm4_ce_natural_regen_damage 4
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/player/regen/pause.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/player/regen/pause.mcfunction
deleted file mode 100644
index 6d5b18b2d6..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/player/regen/pause.mcfunction
+++ /dev/null
@@ -1,12 +0,0 @@
-# stop regen when player gets damaged by something other than a fall
-# @s = damaged player
-# at @s
-# run from advancement gm4_combat_expanded:damaged/stop_regen
-
-# 12 seconds for main combat damage
-execute store success score $regeneration_paused gm4_ce_data run scoreboard players set @s[advancements={gm4_combat_expanded:damaged/stop_regen={long_regeneration_pause=true}}] gm4_ce_natural_regen_damage 15
-# 2.4 seconds for out-of-combat damage
-execute if score $regeneration_paused gm4_ce_data matches 0 unless score @s gm4_ce_natural_regen_damage matches 3.. run scoreboard players set @s gm4_ce_natural_regen_damage 3
-
-# revoke advancement
-advancement revoke @s only gm4_combat_expanded:damaged/stop_regen
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/player/relog.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/player/relog.mcfunction
deleted file mode 100644
index 9d08c7c37b..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/player/relog.mcfunction
+++ /dev/null
@@ -1,12 +0,0 @@
-# run when a players logs back in
-# @s = player relogging
-# at @s
-advancement revoke @s only gm4_combat_expanded:relog
-
-scoreboard players reset @s gm4_ce_relog
-
-# check if clocks need to be restarted
-execute unless score $keep_tick.burn gm4_ce_keep_tick matches 1 if score @s gm4_ce_burning.duration matches 1.. run schedule function gm4_combat_expanded:clocks/temp/burn 1t
-execute unless score $keep_tick.lightning gm4_ce_keep_tick matches 1 if score @s gm4_ce_lightning_charge matches 1.. run schedule function gm4_combat_expanded:clocks/temp/lightning 1t
-execute unless score $keep_tick.delay gm4_ce_keep_tick matches 1 if entity @s[tag=gm4_ce_delay_active] run schedule function gm4_combat_expanded:clocks/temp/delay 1t
-execute unless score $keep_tick.archer gm4_ce_keep_tick matches 1 if entity @s[tag=gm4_ce_wearing_archer] run schedule function gm4_combat_expanded:clocks/temp/archer 1t
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/player/shield/eval.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/player/shield/eval.mcfunction
deleted file mode 100644
index 0659079b1f..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/player/shield/eval.mcfunction
+++ /dev/null
@@ -1,6 +0,0 @@
-# give player absorption effect based on their score in gm4_ce_absorp
-# @s = player to grant shield
-# at unspecified
-# run from player/shield/prep
-
-$effect give @s absorption 30 $(shield) true
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/player/shield/prep.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/player/shield/prep.mcfunction
deleted file mode 100644
index 013a8b681f..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/player/shield/prep.mcfunction
+++ /dev/null
@@ -1,15 +0,0 @@
-# give player absorption effect based on their score in gm4_ce_absorp
-# @s = player to grant shield
-# at unspecified
-# run from armor/modifier/type/reactive/add_level
-# run from player/process
-
-# remove one to match absorption level and store
-execute store result storage gm4_combat_expanded:temp player_shield.shield int 1 run scoreboard players remove @s gm4_ce_absorp 1
-
-# apply absorption
-function gm4_combat_expanded:player/shield/eval with storage gm4_combat_expanded:temp player_shield
-
-# cleanup
-data remove storage gm4_combat_expanded:temp player_shield.shield
-scoreboard players reset @s gm4_ce_absorp
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/slow_clock.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/slow_clock.mcfunction
deleted file mode 100644
index fbd9865e61..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/slow_clock.mcfunction
+++ /dev/null
@@ -1,29 +0,0 @@
-schedule function gm4_combat_expanded:slow_clock 30s
-
-# calculate player difficulty score every 5 min
-scoreboard players add $calc_diff_clock gm4_ce_data 1
-execute if score $calc_diff_clock gm4_ce_data matches 10.. as @a[gamemode=!spectator] run function gm4_combat_expanded:player/calculate_difficulty
-execute if score $calc_diff_clock gm4_ce_data matches 10.. run scoreboard players set $calc_diff_clock gm4_ce_data 0
-
-# get moon cycle (0 = new moon, 4 = full moon)
-execute store result score $moon gm4_ce_data run time query day
-scoreboard players operation $moon gm4_ce_data %= #8 gm4_ce_data
-scoreboard players set $8 gm4_ce_data 8
-execute if score $moon gm4_ce_data matches ..3 store result score $moon gm4_ce_data run scoreboard players operation $8 gm4_ce_data -= $moon gm4_ce_data
-scoreboard players remove $moon gm4_ce_data 4
-
-# check bed markers
-execute as @e[type=marker,tag=gm4_ce_bed] at @s unless block ~ ~ ~ #beds run kill @s
-
-# toxic creepers
-execute as @e[type=creeper,tag=gm4_ce_toxic_creeper] run function gm4_combat_expanded:mob/process/toxic_creeper
-
-# cloaked crepers
-effect give @e[type=creeper,tag=gm4_ce_cloaked_creeper] invisibility 33 0
-
-# cleanup totems
-execute as @e[type=armor_stand,tag=gm4_ce_totem] at @s unless entity @a[distance=..32,gamemode=!spectator] run function gm4_combat_expanded:armor/modifier/type/totem/remove
-execute as @e[type=block_display,tag=gm4_ce_totem_display] at @s unless entity @e[type=armor_stand,tag=gm4_ce_totem,distance=..5] run kill @s
-
-# cleanup beacon light markers
-execute as @e[type=marker,tag=gm4_ce_beacon.store_light] at @s unless entity @e[type=block_display,tag=gm4_ce_beacon,distance=..5] run kill @s
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/tick.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/tick.mcfunction
deleted file mode 100644
index d9a11320c0..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/tick.mcfunction
+++ /dev/null
@@ -1,9 +0,0 @@
-schedule function gm4_combat_expanded:tick 1t
-
-# | Reset Scoreboards
-scoreboard players reset @a gm4_ce_absorped
-scoreboard players reset @a gm4_ce_shielded_hit
-scoreboard players reset @a gm4_ce_sword_hit_triggered
-
-# check for items on the ground
-execute as @e[type=item,tag=!gm4_ce_item_checked] run function gm4_combat_expanded:check_item
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/check_modifier.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/check_modifier.mcfunction
deleted file mode 100644
index 2f837fea83..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/check_modifier.mcfunction
+++ /dev/null
@@ -1,12 +0,0 @@
-# check the modifier on the used weapon
-# @s = player wielding the weapon
-# at @s
-# run from weapon/process
-
-execute if score $modifier gm4_ce_data matches 101 run function gm4_combat_expanded:weapon/modifier/poison/activate
-execute if score $modifier gm4_ce_data matches 102 run function gm4_combat_expanded:weapon/modifier/weakness/activate
-execute if score $modifier gm4_ce_data matches 105 run function gm4_combat_expanded:weapon/modifier/delay/activate
-execute if score $modifier gm4_ce_data matches 110 run function gm4_combat_expanded:weapon/modifier/giant/activate
-execute if score $modifier gm4_ce_data matches 111 run function gm4_combat_expanded:weapon/modifier/swift/activate
-execute if score $modifier gm4_ce_data matches 112 run function gm4_combat_expanded:weapon/modifier/pierce/activate
-execute if score $modifier gm4_ce_data matches 116 run function gm4_combat_expanded:weapon/modifier/lightning/activate
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/convert_netherite.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/convert_netherite.mcfunction
deleted file mode 100644
index 6f2b29dd90..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/convert_netherite.mcfunction
+++ /dev/null
@@ -1,42 +0,0 @@
-# update the weapon damage tooltip and name when it is upgraded to netherite
-# @s = player wielding the weapon
-# at @s
-# run from weapon/process
-
-# set weapon to be converted
-data modify storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.netherite set value 1
-
-# add damage from netherite
-execute store result score $damage gm4_ce_data run data get storage gm4_combat_expanded:temp components."minecraft:attribute_modifiers".modifiers[{id:"gm4_combat_expanded:base_attack_damage"}].amount 10
-execute store result storage gm4_combat_expanded:temp components."minecraft:attribute_modifiers".modifiers[{id:"gm4_combat_expanded:base_attack_damage"}].amount double 0.1 run scoreboard players add $damage gm4_ce_data 10
-
-# add sharpness damage for lore
-execute store result score $sharpness gm4_ce_data run data get storage gm4_combat_expanded:temp components."minecraft:enchantments".levels."minecraft:sharpness"
-scoreboard players operation $sharpness gm4_ce_data *= #5 gm4_ce_data
-execute if score $sharpness gm4_ce_data matches 1.. run scoreboard players add $sharpness gm4_ce_data 5
-scoreboard players operation $damage gm4_ce_data += $sharpness gm4_ce_data
-
-# get digits seperate
-scoreboard players operation $damage_10 gm4_ce_data = $damage gm4_ce_data
-scoreboard players operation $damage_10 gm4_ce_data /= #10 gm4_ce_data
-scoreboard players operation $damage_01 gm4_ce_data = $damage gm4_ce_data
-scoreboard players operation $damage_01 gm4_ce_data %= #10 gm4_ce_data
-
-# check if text should be light green
-execute store result score $damage_buffed gm4_ce_data run data get storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.damage_buffed
-
-# get new lore lines
-# slots 0 is reserved for the weapon, slot 1 is reserved for the modifier
-loot replace block 29999998 1 7134 container.2 loot gm4_combat_expanded:technical/sharpness_lore
-
-# update lore with lib_lore
-data modify storage gm4_lore:temp Source set from storage gm4_combat_expanded:temp components."minecraft:lore"
-data modify storage gm4_lore:temp Target set value '{"translate":"item.modifiers.mainhand","italic":false,"color":"gray"}'
-scoreboard players set $start gm4_lore 1
-function #gm4_lore:remove
-data modify storage gm4_lore:temp Input set from block 29999998 1 7134 Items[{Slot:2b}].components."minecraft:lore"
-function #gm4_lore:insert
-data modify storage gm4_combat_expanded:temp components."minecraft:lore" set from storage gm4_lore:temp Source
-
-# update item
-function gm4_combat_expanded:item_modify_eval/mainhand_update with storage gm4_combat_expanded:temp
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/modifier/delay/activate.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/modifier/delay/activate.mcfunction
deleted file mode 100644
index 97aa64994b..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/modifier/delay/activate.mcfunction
+++ /dev/null
@@ -1,12 +0,0 @@
-# find entities to activate 'delay' on
-# @s = player wielding the weapon
-# at @s
-# run from weapon/check_modifier
-
-# get item level
-execute store result score $level gm4_ce_data run data get storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.level
-
-# find targets
-tag @s add gm4_ce_self
-execute anchored eyes positioned ^ ^ ^3 as @e[distance=..5,tag=!gm4_ce_self,team=!gm4_ce_team_check,type=!armor_stand,tag=!gm4_ce_delay_active,nbt={HurtTime:10s},tag=!smithed.strict] at @s run function gm4_combat_expanded:weapon/modifier/delay/prime
-tag @s remove gm4_ce_self
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/modifier/delay/explode_entity.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/modifier/delay/explode_entity.mcfunction
deleted file mode 100644
index f7706d8c1e..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/modifier/delay/explode_entity.mcfunction
+++ /dev/null
@@ -1,28 +0,0 @@
-# activate delayed damage on non-players
-# @s = entity delay exploding
-# at @s
-# run from weapon/modifier/delay/tick
-
-# get current health
-# remove 1 less than intended to let wither damage effect show
-execute store result score $health gm4_ce_data run data get entity @s Health
-execute if entity @s[tag=gm4_ce_delay_lvl_1] run scoreboard players remove $health gm4_ce_data 7
-execute if entity @s[tag=gm4_ce_delay_lvl_2] run scoreboard players remove $health gm4_ce_data 11
-execute if entity @s[tag=gm4_ce_delay_lvl_3] run scoreboard players remove $health gm4_ce_data 15
-
-# reduce health or kill entity
-execute if score $health gm4_ce_data matches ..0 run kill @s
-execute if score $health gm4_ce_data matches 1.. store result entity @s Health float 1 run scoreboard players get $health gm4_ce_data
-effect give @s wither 1 1 true
-
-# reset entity
-scoreboard players reset @s gm4_ce_t_delay
-tag @s remove gm4_ce_delay_active
-tag @s remove gm4_ce_delay_lvl_1
-tag @s remove gm4_ce_delay_lvl_2
-tag @s remove gm4_ce_delay_lvl_3
-
-# particles and sound
-execute anchored eyes run particle minecraft:sweep_attack ^ ^ ^ 0.3 0.3 0.3 0.1 3
-particle minecraft:cloud ~ ~0.5 ~ 0.4 0.2 0.4 0.2 8
-playsound minecraft:block.bell.use player @a ~ ~ ~ 0.7 1.6
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/modifier/delay/explode_player.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/modifier/delay/explode_player.mcfunction
deleted file mode 100644
index 7ec68e94d7..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/modifier/delay/explode_player.mcfunction
+++ /dev/null
@@ -1,31 +0,0 @@
-# activate delayed damage on players
-# @s = entity delay exploding
-# at @s
-# run from weapon/modifier/delay/tick
-
-function gm4_combat_expanded:player/calculate_hp
-
-execute if entity @s[tag=gm4_ce_delay_lvl_1] store result storage gm4_combat_expanded:temp damage_player.damage int 1 run scoreboard players set $delay_damage gm4_ce_data 8
-execute if entity @s[tag=gm4_ce_delay_lvl_2] store result storage gm4_combat_expanded:temp damage_player.damage int 1 run scoreboard players set $delay_damage gm4_ce_data 12
-execute if entity @s[tag=gm4_ce_delay_lvl_3] store result storage gm4_combat_expanded:temp damage_player.damage int 1 run scoreboard players set $delay_damage gm4_ce_data 16
-
-# damage player if they are alive
-execute if score $delay_damage gm4_ce_data < @s gm4_ce_health.current run function gm4_combat_expanded:weapon/modifier/delay/explode_player_eval with storage gm4_combat_expanded:temp damage_player
-
-# kill player if health reached 0
-execute if score $delay_damage gm4_ce_data >= s gm4_ce_health.current run function gm4_combat_expanded:weapon/modifier/delay/player_death
-
-# reset entity
-scoreboard players reset @s gm4_ce_t_delay
-tag @s remove gm4_ce_delay_active
-tag @s remove gm4_ce_delay_lvl_1
-tag @s remove gm4_ce_delay_lvl_2
-tag @s remove gm4_ce_delay_lvl_3
-
-# particles and sound
-execute anchored eyes run particle minecraft:sweep_attack ^ ^ ^ 0.3 0.3 0.3 0.1 3
-particle minecraft:cloud ~ ~0.5 ~ 0.4 0.2 0.4 0.2 8
-playsound minecraft:block.bell.use player @a ~ ~ ~ 0.7 1.6
-
-# cleanup
-data remove storage gm4_combat_expanded:temp damage_player
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/modifier/delay/explode_player_eval.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/modifier/delay/explode_player_eval.mcfunction
deleted file mode 100644
index 37ccca5b14..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/modifier/delay/explode_player_eval.mcfunction
+++ /dev/null
@@ -1,6 +0,0 @@
-# damage player according to damage storage
-# @s = player that is taking damage
-# at unspecified
-# run from weapon/modifier/delay/explode_player
-
-$damage @s $(damage) player_attack
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/modifier/delay/player_death.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/modifier/delay/player_death.mcfunction
deleted file mode 100644
index 7b4e7a28f0..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/modifier/delay/player_death.mcfunction
+++ /dev/null
@@ -1,11 +0,0 @@
-# custom death message from players that die from delayed damage
-# @s = player that died
-# at @s
-# run from weapon/modifier/delay/explode_player
-
-# display custom death message if death messages are on
-execute store result score $death_messages gm4_ce_data run gamerule showDeathMessages
-gamerule showDeathMessages false
-execute if score $death_messages gm4_ce_data matches 1 at @s run tellraw @a {"translate":"death.gm4.combat_expanded.delay","fallback":"%s discovered the danger of resonance","with":[{"selector":"@s"}]}
-kill @s
-execute if score $death_messages gm4_ce_data matches 1 run gamerule showDeathMessages true
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/modifier/delay/prime.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/modifier/delay/prime.mcfunction
deleted file mode 100644
index d5c737d609..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/modifier/delay/prime.mcfunction
+++ /dev/null
@@ -1,18 +0,0 @@
-# prime delayed damage on this entity
-# @s = entity being hit with delay
-# at @s
-# run from weapon/modifier/delay/activate
-
-execute unless score $keep_tick.delay gm4_ce_keep_tick matches 1 run schedule function gm4_combat_expanded:clocks/temp/delay 10t
-
-# prime bomb timer
-tag @s add gm4_ce_delay_active
-
-# prime bomb level
-execute if score $level gm4_ce_data matches 1 run tag @s add gm4_ce_delay_lvl_1
-execute if score $level gm4_ce_data matches 2 run tag @s add gm4_ce_delay_lvl_2
-execute if score $level gm4_ce_data matches 3 run tag @s add gm4_ce_delay_lvl_3
-
-# particles and sound
-execute anchored eyes run particle minecraft:cloud ^ ^ ^ 0.1 0.1 0.1 0 3
-playsound minecraft:block.bell.use player @a ~ ~ ~ 0.4 2
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/modifier/delay/tick.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/modifier/delay/tick.mcfunction
deleted file mode 100644
index 7391cadc1d..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/modifier/delay/tick.mcfunction
+++ /dev/null
@@ -1,16 +0,0 @@
-# advance the delayed damage timer, activate after 2 seconds
-# @s = entity with a delayed strike
-# at @s
-# run from clocks/temp/delay
-
-scoreboard players set $keep_tick.delay gm4_ce_keep_tick 1
-
-# progress
-scoreboard players add @s gm4_ce_t_delay 1
-execute if score @s[type=!player] gm4_ce_t_delay matches 4.. run function gm4_combat_expanded:weapon/modifier/delay/explode_entity
-execute if score @s[type=player] gm4_ce_t_delay matches 4.. run function gm4_combat_expanded:weapon/modifier/delay/explode_player
-
-# particles
-execute if score @s gm4_ce_t_delay matches 1 anchored eyes run particle minecraft:cloud ^ ^ ^ 0.1 0.1 0.1 0 1
-execute if score @s gm4_ce_t_delay matches 2 anchored eyes run particle minecraft:cloud ^ ^ ^ 0.1 0.1 0.1 0 3
-execute if score @s gm4_ce_t_delay matches 3 anchored eyes run particle minecraft:cloud ^ ^ ^ 0.1 0.1 0.1 0 5
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/modifier/giant/activate.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/modifier/giant/activate.mcfunction
deleted file mode 100644
index f97a1273a0..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/modifier/giant/activate.mcfunction
+++ /dev/null
@@ -1,28 +0,0 @@
-# deal AoE damage
-# @s = player wielding the weapon
-# at @s
-# run from weapon/check_modifier
-
-scoreboard players reset $giant_damage gm4_ce_data
-execute if entity @s[advancements={gm4_combat_expanded:used_giant_weapon={10_heart=true}}] run scoreboard players set $giant_damage gm4_ce_data 10
-execute unless score $giant_damage gm4_ce_data matches 1.. if entity @s[advancements={gm4_combat_expanded:used_giant_weapon={9_heart=true}}] run scoreboard players set $giant_damage gm4_ce_data 9
-execute unless score $giant_damage gm4_ce_data matches 1.. if entity @s[advancements={gm4_combat_expanded:used_giant_weapon={8_heart=true}}] run scoreboard players set $giant_damage gm4_ce_data 8
-execute unless score $giant_damage gm4_ce_data matches 1.. if entity @s[advancements={gm4_combat_expanded:used_giant_weapon={7_heart=true}}] run scoreboard players set $giant_damage gm4_ce_data 7
-execute unless score $giant_damage gm4_ce_data matches 1.. if entity @s[advancements={gm4_combat_expanded:used_giant_weapon={6_heart=true}}] run scoreboard players set $giant_damage gm4_ce_data 6
-execute unless score $giant_damage gm4_ce_data matches 1.. if entity @s[advancements={gm4_combat_expanded:used_giant_weapon={5_heart=true}}] run scoreboard players set $giant_damage gm4_ce_data 5
-execute unless score $giant_damage gm4_ce_data matches 1.. if entity @s[advancements={gm4_combat_expanded:used_giant_weapon={4_heart=true}}] run scoreboard players set $giant_damage gm4_ce_data 4
-execute unless score $giant_damage gm4_ce_data matches 1.. if entity @s[advancements={gm4_combat_expanded:used_giant_weapon={3_heart=true}}] run scoreboard players set $giant_damage gm4_ce_data 3
-execute unless score $giant_damage gm4_ce_data matches 1.. if entity @s[advancements={gm4_combat_expanded:used_giant_weapon={2_heart=true}}] run scoreboard players set $giant_damage gm4_ce_data 2
-execute unless score $giant_damage gm4_ce_data matches 1.. run scoreboard players set $giant_damage gm4_ce_data 1
-advancement revoke @s only gm4_combat_expanded:used_giant_weapon
-
-execute store result storage gm4_combat_expanded:temp giant_strike.range float 0.1 run attribute @s minecraft:entity_interaction_range get 10
-execute store result storage gm4_combat_expanded:temp giant_strike.damage int 2 run scoreboard players get $giant_damage gm4_ce_data
-
-tag @s add gm4_ce_target
-function gm4_combat_expanded:weapon/modifier/giant/eval_damage with storage gm4_combat_expanded:temp giant_strike
-data remove storage gm4_combat_expanded:temp giant_strike
-tag @s remove gm4_ce_target
-
-particle minecraft:block{block_state:"minecraft:stone"} ~ ~ ~ 1 0.2 1 1 30
-playsound minecraft:entity.zombie.attack_wooden_door player @a ~ ~ ~ 0.7 0.25
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/modifier/giant/eval_damage.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/modifier/giant/eval_damage.mcfunction
deleted file mode 100644
index 76c6bad227..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/modifier/giant/eval_damage.mcfunction
+++ /dev/null
@@ -1,2 +0,0 @@
-
-$execute as @e[distance=0.01..$(range),predicate=gm4_combat_expanded:technical/pvp_able,team=!gm4_ce_team_check,tag=!smithed.strict] run damage @s $(damage) player_attack by @p[tag=gm4_ce_target]
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/modifier/lightning/activate.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/modifier/lightning/activate.mcfunction
deleted file mode 100644
index 846874017d..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/modifier/lightning/activate.mcfunction
+++ /dev/null
@@ -1,8 +0,0 @@
-# find entities hit
-# @s = player wielding the weapon
-# at @s
-# run from weapon/check_modifier
-
-tag @s add gm4_ce_self
-execute anchored eyes positioned ^ ^ ^3 as @e[distance=..5,tag=!gm4_ce_self,team=!gm4_ce_team_check,type=!armor_stand,nbt={HurtTime:10s},tag=!smithed.strict] run function gm4_combat_expanded:weapon/modifier/lightning/add_score
-tag @s remove gm4_ce_self
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/modifier/lightning/add_score.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/modifier/lightning/add_score.mcfunction
deleted file mode 100644
index 2ba9b047ad..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/modifier/lightning/add_score.mcfunction
+++ /dev/null
@@ -1,9 +0,0 @@
-# add lightning charges to hit entity
-# @s = entity hit by the weapon
-# at @s
-# run from weapon/modifier/lightning/activate
-
-schedule function gm4_combat_expanded:clocks/temp/lightning 1t
-
-scoreboard players add @s gm4_ce_lightning_charge 2
-scoreboard players set @s gm4_ce_lightning_charge.timer 160
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/modifier/lightning/particles/display.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/modifier/lightning/particles/display.mcfunction
deleted file mode 100644
index 37574a575f..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/modifier/lightning/particles/display.mcfunction
+++ /dev/null
@@ -1,10 +0,0 @@
-# play particles around the affected entity
-# @s = entity with a lightning charge
-# at @s rotaed ~x ~
-# run from weapon/modifier/lightning/particles/eval_rotation
-# run from here
-
-$particle electric_spark ^ ^$(height) ^$(scale) 0.015 0.015 0.015 0.05 1
-
-scoreboard players remove $particles_to_display gm4_ce_data 1
-$execute if score $particles_to_display gm4_ce_data matches 1.. rotated ~$(deg_pp) ~ run function gm4_combat_expanded:weapon/modifier/lightning/particles/display with storage gm4_combat_expanded:temp lightning
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/modifier/lightning/particles/eval_rotation.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/modifier/lightning/particles/eval_rotation.mcfunction
deleted file mode 100644
index 47b1c0ddb5..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/modifier/lightning/particles/eval_rotation.mcfunction
+++ /dev/null
@@ -1,6 +0,0 @@
-# rotate particles around the entity based on a score
-# @s = entity with a lightning charge
-# at @s rotaed ~x ~
-# run from weapon/modifier/lightning/tick
-
-$execute rotated ~$(deg) ~ run function gm4_combat_expanded:weapon/modifier/lightning/particles/display with storage gm4_combat_expanded:temp lightning
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/modifier/lightning/strike.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/modifier/lightning/strike.mcfunction
deleted file mode 100644
index b11a1f12f9..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/modifier/lightning/strike.mcfunction
+++ /dev/null
@@ -1,13 +0,0 @@
-# strike players with full lightning charges
-# @s = entity with a lightning charge
-# at @s
-# run from weapon/modifier/lightning/tick
-
-execute unless entity @s[type=player] run damage @s 42 lightning_bolt at ~ ~ ~
-execute if entity @s[type=player] run damage @s 16 lightning_bolt at ~ ~ ~
-execute as @e[distance=0.01..2.5,type=!player,predicate=gm4_combat_expanded:technical/unblocked_hit,team=!gm4_ce_team_check,tag=!smithed.strict] run damage @s 21 lightning_bolt at ~ ~ ~
-summon lightning_bolt
-
-scoreboard players set @s gm4_ce_lightning_charge.timer 0
-scoreboard players set @s gm4_ce_lightning_charge.striking 0
-scoreboard players set @s gm4_ce_lightning_charge 0
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/modifier/lightning/tick.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/modifier/lightning/tick.mcfunction
deleted file mode 100644
index ee28328ee3..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/modifier/lightning/tick.mcfunction
+++ /dev/null
@@ -1,41 +0,0 @@
-# process players with lightning charge
-# @s = entity with a lightning charge
-# at @s
-# run from tick
-
-scoreboard players set $keep_tick.lightning gm4_ce_keep_tick 1
-
-# track striking timer
-scoreboard players add @s[scores={gm4_ce_lightning_charge.striking=1..}] gm4_ce_lightning_charge.striking 1
-execute unless score @s gm4_ce_lightning_charge.striking matches 1.. run scoreboard players set @s[scores={gm4_ce_lightning_charge=7..}] gm4_ce_lightning_charge.striking 1
-
-# limit lightning charges to 7
-scoreboard players set @s[scores={gm4_ce_lightning_charge=8..}] gm4_ce_lightning_charge 7
-
-# display particles based on the amount of lightning charges a player has
-scoreboard players operation @s gm4_ce_lightning_charge.deg += @s gm4_ce_lightning_charge
-scoreboard players remove @s[scores={gm4_ce_lightning_charge.deg=360..}] gm4_ce_lightning_charge.deg 360
-execute store result storage gm4_combat_expanded:temp lightning.deg int 1 run scoreboard players get @s gm4_ce_lightning_charge.deg
-
-scoreboard players set $degree_per_particle gm4_ce_data 360
-execute store result storage gm4_combat_expanded:temp lightning.deg_pp int 1 run scoreboard players operation $degree_per_particle gm4_ce_data /= @s gm4_ce_lightning_charge
-
-scoreboard players operation $particles_to_display gm4_ce_data = @s gm4_ce_lightning_charge
-
-execute store result storage gm4_combat_expanded:temp lightning.scale float 0.0066 run attribute @s minecraft:scale get 100
-execute store result storage gm4_combat_expanded:temp lightning.height float 0.0133 run attribute @s minecraft:scale get 100
-
-execute rotated 0 0 run function gm4_combat_expanded:weapon/modifier/lightning/particles/eval_rotation with storage gm4_combat_expanded:temp lightning
-
-# check for full charge
-execute if score @s gm4_ce_lightning_charge.striking matches 1 run playsound minecraft:entity.lightning_bolt.thunder player @a ~ ~ ~ 1 0
-execute if score @s gm4_ce_lightning_charge.striking matches 1.. run particle electric_spark ~ ~10 ~ 0.1 4 0.1 0.2 16
-execute if score @s gm4_ce_lightning_charge.striking matches 45.. run function gm4_combat_expanded:weapon/modifier/lightning/strike
-
-# reduce lightning charges if timer runs out
-scoreboard players remove @s gm4_ce_lightning_charge.timer 1
-scoreboard players remove @s[scores={gm4_ce_lightning_charge.timer=..0,gm4_ce_lightning_charge=..6}] gm4_ce_lightning_charge 1
-scoreboard players set @s[scores={gm4_ce_lightning_charge.timer=..0}] gm4_ce_lightning_charge.timer 5
-
-# cleanup
-data remove storage gm4_combat_expanded:temp lightning
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/modifier/pierce/activate.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/modifier/pierce/activate.mcfunction
deleted file mode 100644
index f92c3fa86e..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/modifier/pierce/activate.mcfunction
+++ /dev/null
@@ -1,11 +0,0 @@
-# activate the piercing effect
-# @s = player wielding the weapon
-# at @s
-# run from weapon/check_modifier
-
-# get item level x2
-execute store result score $level gm4_ce_data run data get storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.level 2
-
-tag @s add gm4_ce_self
-execute anchored eyes positioned ^ ^ ^3 as @e[distance=..5,tag=!gm4_ce_self,predicate=gm4_combat_expanded:technical/unblocked_hit,team=!gm4_ce_team_check,tag=!smithed.strict,tag=!gm4_ce_immune_poison] run function gm4_combat_expanded:weapon/modifier/pierce/apply
-tag @s remove gm4_ce_self
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/modifier/pierce/apply.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/modifier/pierce/apply.mcfunction
deleted file mode 100644
index cd34fa5ccc..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/modifier/pierce/apply.mcfunction
+++ /dev/null
@@ -1,12 +0,0 @@
-# apply the piercing effect
-# @s = entity that pierced is applied to
-# at @s
-# run from weapon/modifier/pierce/activate
-
-scoreboard players set @s gm4_ce_pierce_timer 13
-
-execute store result score $pierced_armor gm4_ce_data run attribute @s minecraft:armor modifier value get gm4_combat_expanded:pierced_armor -1
-execute if score $pierced_armor gm4_ce_data matches 1.. run attribute @s minecraft:armor modifier remove gm4_combat_expanded:pierced_armor
-execute store result storage gm4_combat_expanded:temp pierce.pierced_armor int 1 run scoreboard players operation $pierced_armor gm4_ce_data += $level gm4_ce_data
-function gm4_combat_expanded:weapon/modifier/pierce/eval_pierced_armor with storage gm4_combat_expanded:temp pierce
-data remove storage gm4_combat_expanded:temp pierce
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/modifier/pierce/eval_pierced_armor.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/modifier/pierce/eval_pierced_armor.mcfunction
deleted file mode 100644
index b89a503358..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/modifier/pierce/eval_pierced_armor.mcfunction
+++ /dev/null
@@ -1,7 +0,0 @@
-# use macro's to set the negative armor value
-# @s = entity that pierced is applied to
-# at @s
-# run from weapon/modifier/pierce/apply
-
-$attribute @s minecraft:armor modifier add gm4_combat_expanded:pierced_armor -$(pierced_armor) add_value
-playsound minecraft:item.armor.unequip_wolf player @s ~ ~ ~ 1 0.6
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/modifier/pierce/tick_down.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/modifier/pierce/tick_down.mcfunction
deleted file mode 100644
index eaed176259..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/modifier/pierce/tick_down.mcfunction
+++ /dev/null
@@ -1,8 +0,0 @@
-# tick pierced effect on entity affected by it
-# @s = entity that pierced is applied to
-# at @s
-# run from main
-
-scoreboard players remove @s gm4_ce_pierce_timer 1
-execute if score @s gm4_ce_pierce_timer matches ..0 run attribute @s minecraft:armor modifier remove gm4_combat_expanded:pierced_armor
-particle minecraft:item{item:"minecraft:shield"} ~ ~1 ~ 0.24 0.44 0.24 0 6
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/modifier/poison/activate.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/modifier/poison/activate.mcfunction
deleted file mode 100644
index 010df7d181..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/modifier/poison/activate.mcfunction
+++ /dev/null
@@ -1,14 +0,0 @@
-# apply poison to entities hit
-# @s = player wielding the weapon
-# at @s
-# run from weapon/check_modifier
-
-# get item level
-execute store result score $level gm4_ce_data run data get storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.level
-
-# poison entities hit
-tag @s add gm4_ce_self
-execute if score $level gm4_ce_data matches 1 anchored eyes positioned ^ ^ ^3 run effect give @e[distance=..5,tag=!gm4_ce_self,predicate=gm4_combat_expanded:technical/unblocked_hit,team=!gm4_ce_team_check,tag=!smithed.strict,tag=!gm4_ce_immune_poison] poison 8 0
-execute if score $level gm4_ce_data matches 2 anchored eyes positioned ^ ^ ^3 run effect give @e[distance=..5,tag=!gm4_ce_self,predicate=gm4_combat_expanded:technical/unblocked_hit,team=!gm4_ce_team_check,tag=!smithed.strict,tag=!gm4_ce_immune_poison] poison 8 1
-execute if score $level gm4_ce_data matches 3 anchored eyes positioned ^ ^ ^3 run effect give @e[distance=..5,tag=!gm4_ce_self,predicate=gm4_combat_expanded:technical/unblocked_hit,team=!gm4_ce_team_check,tag=!smithed.strict,tag=!gm4_ce_immune_poison] poison 30 0
-tag @s remove gm4_ce_self
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/modifier/swift/activate.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/modifier/swift/activate.mcfunction
deleted file mode 100644
index 3634d051a3..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/modifier/swift/activate.mcfunction
+++ /dev/null
@@ -1,48 +0,0 @@
-# stack the attack speed
-# @s = player wielding the weapon
-# at @s
-# run from weapon/check_modifier
-
-execute store result score $timeout gm4_ce_data run data get storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.timeout
-execute store result score $curr_time gm4_ce_data run time query gametime
-
-# get item level, x100 because x10 lead to rounding errors
-execute store result score $curr_level gm4_ce_data run data get storage gm4_combat_expanded:temp components."minecraft:attribute_modifiers".modifiers[{id:"gm4_combat_expanded:dynamic"}].amount 100
-execute store result score $base_level gm4_ce_data run data get storage gm4_combat_expanded:temp components."minecraft:attribute_modifiers".modifiers[{id:"gm4_combat_expanded:base_attack_speed"}].amount 100
-
-execute store result score $level gm4_ce_data run data get storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.level 10
-scoreboard players operation $curr_level gm4_ce_data += $level gm4_ce_data
-
-scoreboard players set $max_level gm4_ce_data 400
-scoreboard players operation $max_level gm4_ce_data -= $base_level gm4_ce_data
-scoreboard players operation $curr_level gm4_ce_data < $max_level gm4_ce_data
-
-execute if score $curr_time gm4_ce_data > $timeout gm4_ce_data run scoreboard players set $curr_level gm4_ce_data 0
-
-execute store result storage gm4_combat_expanded:temp components."minecraft:attribute_modifiers".modifiers[{id:"gm4_combat_expanded:dynamic"}].amount float 0.01 run scoreboard players get $curr_level gm4_ce_data
-execute store result storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.timeout int 1 run scoreboard players add $curr_time gm4_ce_data 121
-
-# get digits seperate
-scoreboard players operation $curr_level gm4_ce_data += $base_level gm4_ce_data
-scoreboard players add $curr_level gm4_ce_data 5
-scoreboard players operation $curr_level gm4_ce_data /= #10 gm4_ce_data
-scoreboard players operation $atkspeed_10 gm4_ce_data = $curr_level gm4_ce_data
-scoreboard players operation $atkspeed_10 gm4_ce_data /= #10 gm4_ce_data
-scoreboard players operation $atkspeed_01 gm4_ce_data = $curr_level gm4_ce_data
-scoreboard players operation $atkspeed_01 gm4_ce_data %= #10 gm4_ce_data
-
-# get new lore lines
-# slots 0 is reserved for the weapon, slot 1 is reserved for the modifier
-loot replace block 29999998 1 7134 container.2 loot gm4_combat_expanded:technical/swift_lore
-
-# update lore
-data modify storage gm4_lore:temp Source set from storage gm4_combat_expanded:temp components."minecraft:lore"
-data modify storage gm4_lore:temp Target set value '{"color":"gray","italic":false,"translate":"item.modifiers.mainhand"}'
-scoreboard players set $start gm4_lore 2
-function #gm4_lore:remove
-data modify storage gm4_lore:temp Input set from block 29999998 1 7134 Items[{Slot:2b}].components."minecraft:lore"
-scoreboard players set $start gm4_lore 1
-function #gm4_lore:insert
-data modify storage gm4_combat_expanded:temp components."minecraft:lore" set from storage gm4_lore:temp Source
-
-function gm4_combat_expanded:item_modify_eval/mainhand_update with storage gm4_combat_expanded:temp
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/modifier/weakness/activate.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/modifier/weakness/activate.mcfunction
deleted file mode 100644
index 79142b97e4..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/modifier/weakness/activate.mcfunction
+++ /dev/null
@@ -1,21 +0,0 @@
-# apply weakness and slowness to entities hit
-# @s = player wielding the weapon
-# at @s
-# run from weapon/check_modifier
-
-# get item levels
-execute store result score $level gm4_ce_data run data get storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.level
-execute store result score $level2 gm4_ce_data run data get storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.level2
-
-# slow entities hit
-tag @s add gm4_ce_self
-execute if score $level gm4_ce_data matches 1 anchored eyes positioned ^ ^ ^3 run effect give @e[distance=..5,tag=!gm4_ce_self,predicate=gm4_combat_expanded:technical/unblocked_hit,team=!gm4_ce_team_check,tag=!smithed.strict,tag=!gm4_ce_immune_slowness] slowness 4 0
-execute if score $level gm4_ce_data matches 2 anchored eyes positioned ^ ^ ^3 run effect give @e[distance=..5,tag=!gm4_ce_self,predicate=gm4_combat_expanded:technical/unblocked_hit,team=!gm4_ce_team_check,tag=!smithed.strict,tag=!gm4_ce_immune_slowness] slowness 4 1
-execute if score $level gm4_ce_data matches 3 anchored eyes positioned ^ ^ ^3 run effect give @e[distance=..5,tag=!gm4_ce_self,predicate=gm4_combat_expanded:technical/unblocked_hit,team=!gm4_ce_team_check,tag=!smithed.strict,tag=!gm4_ce_immune_slowness] slowness 4 2
-
-# additional effect
-execute if score $level2 gm4_ce_data matches 1 anchored eyes positioned ^ ^ ^3 run effect give @e[distance=..5,tag=!gm4_ce_self,predicate=gm4_combat_expanded:technical/unblocked_hit,team=!gm4_ce_team_check,tag=!smithed.strict,tag=!gm4_ce_immune_weakness] weakness 4 0
-execute if score $level2 gm4_ce_data matches 2 anchored eyes positioned ^ ^ ^3 run effect give @e[distance=..5,tag=!gm4_ce_self,predicate=gm4_combat_expanded:technical/unblocked_hit,team=!gm4_ce_team_check,tag=!smithed.strict,tag=!gm4_ce_immune_blind] blindness 4 0
-execute if score $level2 gm4_ce_data matches 3 anchored eyes positioned ^ ^ ^3 run effect give @e[distance=..5,tag=!gm4_ce_self,predicate=gm4_combat_expanded:technical/unblocked_hit,team=!gm4_ce_team_check,tag=!smithed.strict,tag=!gm4_ce_immune_hunger] hunger 4 2
-execute if score $level2 gm4_ce_data matches 4 anchored eyes positioned ^ ^ ^3 run effect give @e[distance=..5,tag=!gm4_ce_self,predicate=gm4_combat_expanded:technical/unblocked_hit,team=!gm4_ce_team_check,tag=!smithed.strict,tag=!gm4_ce_immune_wither] wither 4 1
-tag @s remove gm4_ce_self
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/process.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/process.mcfunction
deleted file mode 100644
index ffd82a612c..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/process.mcfunction
+++ /dev/null
@@ -1,30 +0,0 @@
-# store weapon used to strike in storage and process
-# @s = player that used a weapon with modifier
-# at @s
-advancement revoke @s only gm4_combat_expanded:used_strike_weapon
-# run from advancement used_giant_weapon
-
-# don't trigger this scoreboard multiple times
-scoreboard players set @s gm4_ce_sword_hit_triggered 1
-
-# store weapon item to shulker box and put in storage
-item replace block 29999998 1 7134 container.0 from entity @s weapon.mainhand
-data modify storage gm4_combat_expanded:temp components set from block 29999998 1 7134 Items[{Slot:0b}].components
-# get modifier and current sharpness from storage
-execute store result score $modifier gm4_ce_data run data get storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.modifier
-execute store result score $current_sharpness gm4_ce_data run data get storage gm4_combat_expanded:temp components."minecraft:enchantments".levels."minecraft:sharpness"
-
-# process items with an active modifier
-execute if score $modifier gm4_ce_data matches 101.. run function gm4_combat_expanded:weapon/check_modifier
-
-# check sharpness level
-execute store result score $stored_sharpness gm4_ce_data run data get storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.sharpness
-execute unless score $stored_sharpness gm4_ce_data = $current_sharpness gm4_ce_data run function gm4_combat_expanded:weapon/update_sharpness
-
-# check netherite conversion
-execute if predicate gm4_combat_expanded:technical/convert_netherite/weapon run function gm4_combat_expanded:weapon/convert_netherite
-
-# advancement
-advancement grant @s only gm4:combat_expanded_identify
-
-data remove block 29999998 1 7134 Items
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/update_sharpness.mcfunction b/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/update_sharpness.mcfunction
deleted file mode 100644
index ec2b4b1f83..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/function/weapon/update_sharpness.mcfunction
+++ /dev/null
@@ -1,45 +0,0 @@
-# update the weapon damage tooltip when sharpness level changes or when it gets identified
-# @s = player wielding the weapon / weapon item
-# at @s
-# run from weapon/process
-# run from identification/weapon/pick_mod
-
-# store actual sharpness level in storage
-execute store result storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.sharpness short 1 run scoreboard players get $current_sharpness gm4_ce_data
-
-# check if text should be light green
-execute store result score $damage_buffed gm4_ce_data run data get storage gm4_combat_expanded:temp components."minecraft:custom_data".gm4_combat_expanded.damage_buffed
-
-## TODO
-# get weapon damage and added damage from sharpness (0.5 * level + 0.5)
-execute store result score $damage gm4_ce_data run data get storage gm4_combat_expanded:temp components."minecraft:attribute_modifiers".modifiers[{id:"gm4_combat_expanded:base_attack_damage"}].amount 10
-scoreboard players operation $current_sharpness gm4_ce_data *= #5 gm4_ce_data
-execute if score $current_sharpness gm4_ce_data matches 1.. run scoreboard players add $current_sharpness gm4_ce_data 5
-scoreboard players operation $damage gm4_ce_data += $current_sharpness gm4_ce_data
-
-# get digits seperate
-scoreboard players operation $damage_10 gm4_ce_data = $damage gm4_ce_data
-scoreboard players operation $damage_10 gm4_ce_data /= #10 gm4_ce_data
-scoreboard players operation $damage_01 gm4_ce_data = $damage gm4_ce_data
-scoreboard players operation $damage_01 gm4_ce_data %= #10 gm4_ce_data
-
-# get new lore lines
-# slots 0 is reserved for the weapon, slot 1 is reserved for the modifier
-loot replace block 29999998 1 7134 container.2 loot gm4_combat_expanded:technical/sharpness_lore
-
-# update lore with lib_lore
-data modify storage gm4_lore:temp Source set from storage gm4_combat_expanded:temp components."minecraft:lore"
-data modify storage gm4_lore:temp Target set value '{"color":"gray","italic":false,"translate":"item.modifiers.mainhand"}'
-scoreboard players set $start gm4_lore 1
-function #gm4_lore:remove
-data modify storage gm4_lore:temp Input set from block 29999998 1 7134 Items[{Slot:2b}].components."minecraft:lore"
-function #gm4_lore:insert
-data modify storage gm4_combat_expanded:temp components."minecraft:lore" set from storage gm4_lore:temp Source
-
-# update item if held by player, otherwise the function that called this will handle it
-execute unless entity @s[type=player] run return 0
-data modify storage gm4_combat_expanded:temp sharpness.lore set from storage gm4_combat_expanded:temp components."minecraft:lore"
-function gm4_combat_expanded:item_modify_eval/sharpness_lore with storage gm4_combat_expanded:temp sharpness
-data remove storage gm4_combat_expanded:temp sharpness
-
-function gm4_combat_expanded:item_modify_eval/mainhand_update with storage gm4_combat_expanded:temp
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/guidebook/combat_expanded.json b/gm4_combat_expanded/data/gm4_combat_expanded/guidebook/combat_expanded.json
deleted file mode 100644
index 0f9287be1d..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/guidebook/combat_expanded.json
+++ /dev/null
@@ -1,1578 +0,0 @@
-{
- "id": "combat_expanded",
- "name": "Combat Expanded",
- "module_type": "module",
- "icon": {
- "id": "minecraft:netherite_sword"
- },
- "criteria": {
- "kill_hostile": {
- "trigger": "minecraft:player_hurt_entity",
- "conditions": {
- "player": [
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "type_specific": {
- "type": "player",
- "advancements": {
- "minecraft:adventure/kill_a_mob": true
- }
- }
- }
- }
- ]
- }
- },
- "enter_burned": {
- "trigger": "minecraft:location",
- "conditions": {
- "player": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/burned"
- }
- ]
- }
- },
- "enter_dark": {
- "trigger": "minecraft:location",
- "conditions": {
- "player": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/dark"
- }
- ]
- }
- },
- "enter_deep": {
- "trigger": "minecraft:location",
- "conditions": {
- "player": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/deep"
- }
- ]
- }
- },
- "enter_flowering": {
- "trigger": "minecraft:location",
- "conditions": {
- "player": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/flowering"
- }
- ]
- }
- },
- "enter_growth": {
- "trigger": "minecraft:location",
- "conditions": {
- "player": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/growth"
- }
- ]
- }
- },
- "enter_lush_caves": {
- "trigger": "minecraft:location",
- "conditions": {
- "player": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/lush_caves"
- }
- ]
- }
- },
- "enter_mountainous": {
- "trigger": "minecraft:location",
- "conditions": {
- "player": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/mountainous"
- }
- ]
- }
- },
- "enter_reef": {
- "trigger": "minecraft:location",
- "conditions": {
- "player": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/reef"
- }
- ]
- }
- },
- "enter_snowy": {
- "trigger": "minecraft:location",
- "conditions": {
- "player": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/snowy"
- }
- ]
- }
- },
- "enter_the_end": {
- "trigger": "minecraft:location",
- "conditions": {
- "player": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/the_end"
- }
- ]
- }
- },
- "enter_toxic": {
- "trigger": "minecraft:location",
- "conditions": {
- "player": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/toxic"
- }
- ]
- }
- },
- "obtain_identified_item": {
- "trigger": "minecraft:inventory_changed",
- "conditions": {
- "items": [
- {
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{identified:1}}"
- }
- }
- ]
- }
- }
- },
- "sections": [
- {
- "name": "description",
- "enable": [],
- "requirements": [
- [
- "kill_hostile"
- ]
- ],
- "pages": [
- [
- {
- "insert": "title"
- },
- {
- "translate": "text.gm4.guidebook.combat_expanded.description",
- "fallback": "Mobs get stronger over time, based on each adventurer.\n\nMobs will spawn with higher health, damage, movement speed and with better armour and weapons."
- }
- ],
- [
- {
- "translate": "text.gm4.guidebook.combat_expanded.section.biome_modifiers",
- "fallback": "Area Modifiers",
- "bold": true
- },
- "\n",
- {
- "translate": "text.gm4.guidebook.combat_expanded.biome_modifiers",
- "fallback": "Mobs spawned in different areas have special modifiers.\n\nSome areas and biomes spawn different mobs than usual."
- }
- ]
- ]
- },
- {
- "name": "dark_modifier",
- "enable": [],
- "requirements": [
- [
- "kill_hostile"
- ],
- [
- "enter_dark"
- ]
- ],
- "pages": [
- [
- "\n",
- {
- "translate": "text.gm4.guidebook.combat_expanded.dark_modifier",
- "fallback": "Mobs spawned in %s areas are slightly stronger.\n\nCreepers have a higher blast radius and mobs don't drop their weapons and armour as often.",
- "with": [
- {
- "translate": "text.gm4.guidebook.combat_expanded.dark",
- "fallback": "dark",
- "color": "blue",
- "hoverEvent": {
- "action": "show_text",
- "contents": [
- {
- "translate": "text.gm4.guidebook.combat_expanded.dark_areas",
- "fallback": "Light Level 0, except in %s",
- "with": [
- {
- "translate": "biome.minecraft.lush_caves"
- }
- ]
- }
- ]
- }
- }
- ]
- }
- ]
- ]
- },
- {
- "name": "burned_modifier",
- "enable": [],
- "requirements": [
- [
- "kill_hostile"
- ],
- [
- "enter_burned"
- ]
- ],
- "pages": [
- [
- "\n",
- {
- "translate": "text.gm4.guidebook.combat_expanded.burned_modifier",
- "fallback": "Mobs spawned in %s areas are weaker, but faster.\n\nHusks swarms can be found.\n\nMore mobs carry fire aspect and flame weapons.",
- "with": [
- {
- "translate": "text.gm4.guidebook.combat_expanded.burned",
- "fallback": "burned",
- "color": "blue",
- "hoverEvent": {
- "action": "show_text",
- "contents": [
- "- ",
- {
- "translate": "biome.minecraft.desert"
- },
- "\n- ",
- {
- "translate": "biome.minecraft.savanna"
- },
- "\n- ",
- {
- "translate": "biome.minecraft.savanna_plateau"
- },
- "\n- ",
- {
- "translate": "biome.minecraft.badlands"
- },
- "\n- ",
- {
- "translate": "biome.minecraft.wooded_badlands"
- },
- "\n- ",
- {
- "translate": "biome.minecraft.windswept_savanna"
- },
- "\n- ",
- {
- "translate": "biome.minecraft.eroded_badlands"
- }
- ]
- }
- }
- ]
- }
- ]
- ]
- },
- {
- "name": "deep_modifier",
- "enable": [],
- "requirements": [
- [
- "kill_hostile"
- ],
- [
- "enter_deep"
- ]
- ],
- "pages": [
- [
- "\n",
- {
- "translate": "text.gm4.guidebook.combat_expanded.deep_modifier",
- "fallback": "Mobs spawned in %s are tougher to kill.\n\nDrowned are faster as well.",
- "with": [
- {
- "translate": "text.gm4.guidebook.combat_expanded.deep",
- "fallback": "deep oceans",
- "color": "blue",
- "hoverEvent": {
- "action": "show_text",
- "contents": [
- "- ",
- {
- "translate": "biome.minecraft.deep_lukewarm_ocean"
- },
- "\n- ",
- {
- "translate": "biome.minecraft.deep_ocean"
- },
- "\n- ",
- {
- "translate": "biome.minecraft.deep_cold_ocean"
- },
- "\n- ",
- {
- "translate": "biome.minecraft.deep_frozen_ocean"
- }
- ]
- }
- }
- ]
- }
- ]
- ]
- },
- {
- "name": "flowering_modifier",
- "enable": [],
- "requirements": [
- [
- "kill_hostile"
- ],
- [
- "enter_flowering"
- ]
- ],
- "pages": [
- [
- "\n",
- {
- "translate": "text.gm4.guidebook.combat_expanded.flowering_modifier",
- "fallback": "Zombies spawned in %s areas have less health, but can respawn when killed.\n\nCreepers will use Invisibility to sneak up to adventurers.\n\nSlimes are larger and spawn more often.",
- "with": [
- {
- "translate": "text.gm4.guidebook.combat_expanded.flowering",
- "fallback": "flowering",
- "color": "blue",
- "hoverEvent": {
- "action": "show_text",
- "contents": [
- "- ",
- {
- "translate": "biome.minecraft.sunflower_plains"
- },
- "\n- ",
- {
- "translate": "biome.minecraft.flower_forest"
- },
- "\n- ",
- {
- "translate": "biome.minecraft.lush_caves"
- },
- "\n- ",
- {
- "translate": "biome.minecraft.cherry_grove"
- }
- ]
- }
- }
- ]
- }
- ]
- ]
- },
- {
- "name": "growth_modifier",
- "enable": [],
- "requirements": [
- [
- "kill_hostile"
- ],
- [
- "enter_growth"
- ]
- ],
- "pages": [
- [
- "\n",
- {
- "translate": "text.gm4.guidebook.combat_expanded.growth_modifier",
- "fallback": "Mobs spawned in %s areas are weaker, but spawn in groups.\n\nSkeletons carry melee weapons.\n\nMobs can be found wearing projectile protection gear.",
- "with": [
- {
- "translate": "text.gm4.guidebook.combat_expanded.growth",
- "fallback": "growth",
- "color": "blue",
- "hoverEvent": {
- "action": "show_text",
- "contents": [
- "- ",
- {
- "translate": "biome.minecraft.taiga"
- },
- "\n- ",
- {
- "translate": "biome.minecraft.old_growth_pine_taiga"
- },
- "\n- ",
- {
- "translate": "biome.minecraft.old_growth_spruce_taiga"
- },
- "\n- ",
- {
- "translate": "biome.minecraft.dark_forest"
- },
- "\n- ",
- {
- "translate": "biome.minecraft.snowy_taiga"
- },
- "\n- ",
- {
- "translate": "biome.minecraft.grove"
- },
- "\n- ",
- {
- "translate": "biome.minecraft.mangrove_swamp"
- }
- ]
- }
- }
- ]
- }
- ]
- ]
- },
- {
- "name": "mountainous_modifier",
- "enable": [],
- "requirements": [
- [
- "kill_hostile"
- ],
- [
- "enter_mountainous"
- ]
- ],
- "pages": [
- [
- "\n",
- {
- "translate": "text.gm4.guidebook.combat_expanded.mountainous_modifier",
- "fallback": "Mobs spawned in %s areas are stronger.\n\nMore mobs carry knockback and punch weapons.\n\nPhantoms can be found here at night.",
- "with": [
- {
- "translate": "text.gm4.guidebook.combat_expanded.mountainous",
- "fallback": "mountainous",
- "color": "blue",
- "hoverEvent": {
- "action": "show_text",
- "contents": [
- "- ",
- {
- "translate": "biome.minecraft.windswept_savanna"
- },
- "\n- ",
- {
- "translate": "biome.minecraft.eroded_badlands"
- },
- "\n- ",
- {
- "translate": "biome.minecraft.cherry_grove"
- },
- "\n- ",
- {
- "translate": "biome.minecraft.windswept_hills"
- },
- "\n- ",
- {
- "translate": "biome.minecraft.windswept_gravelly_hills"
- },
- "\n- ",
- {
- "translate": "biome.minecraft.windswept_forest"
- },
- "\n- ",
- {
- "translate": "biome.minecraft.stony_shore"
- },
- "\n- ",
- {
- "translate": "biome.minecraft.meadow"
- },
- "\n- ",
- {
- "translate": "biome.minecraft.stony_peaks"
- },
- "\n- ",
- {
- "translate": "biome.minecraft.snowy_slopes"
- },
- "\n- ",
- {
- "translate": "biome.minecraft.jagged_peaks"
- },
- "\n- ",
- {
- "translate": "biome.minecraft.frozen_peaks"
- }
- ]
- }
- }
- ]
- }
- ]
- ]
- },
- {
- "name": "reef_modifier",
- "enable": [],
- "requirements": [
- [
- "kill_hostile"
- ],
- [
- "enter_reef"
- ]
- ],
- "pages": [
- [
- "\n",
- {
- "translate": "text.gm4.guidebook.combat_expanded.reef_modifier",
- "fallback": "Drowned spawned in %s are much more powerful and more frequently carry tridents.\n\nGuardians can be found here even outside of Ocean Monuments.",
- "with": [
- {
- "translate": "text.gm4.guidebook.combat_expanded.reef",
- "fallback": "warm oceans",
- "color": "blue",
- "hoverEvent": {
- "action": "show_text",
- "contents": [
- "- ",
- {
- "translate": "biome.minecraft.warm_ocean"
- }
- ]
- }
- }
- ]
- }
- ]
- ]
- },
- {
- "name": "snowy_modifier",
- "enable": [],
- "requirements": [
- [
- "kill_hostile"
- ],
- [
- "enter_snowy"
- ]
- ],
- "pages": [
- [
- "\n",
- {
- "translate": "text.gm4.guidebook.combat_expanded.snowy_modifier",
- "fallback": "Mobs spawned in %s areas are slower, but have more health.\n\nMany attacks will apply slowness.\n\nCreepers are not found here.",
- "with": [
- {
- "translate": "text.gm4.guidebook.combat_expanded.snowy",
- "fallback": "snowy",
- "color": "blue",
- "hoverEvent": {
- "action": "show_text",
- "contents": [
- "- ",
- {
- "translate": "biome.minecraft.snowy_plains"
- },
- "\n- ",
- {
- "translate": "biome.minecraft.ice_spikes"
- },
- "\n- ",
- {
- "translate": "biome.minecraft.snowy_taiga"
- },
- "\n- ",
- {
- "translate": "biome.minecraft.snowy_beach"
- },
- "\n- ",
- {
- "translate": "biome.minecraft.grove"
- },
- "\n- ",
- {
- "translate": "biome.minecraft.snowy_slopes"
- },
- "\n- ",
- {
- "translate": "biome.minecraft.jagged_peaks"
- },
- "\n- ",
- {
- "translate": "biome.minecraft.frozen_peaks"
- },
- "\n- ",
- {
- "translate": "biome.minecraft.frozen_river"
- },
- "\n- ",
- {
- "translate": "biome.minecraft.frozen_ocean"
- },
- "\n- ",
- {
- "translate": "biome.minecraft.deep_frozen_ocean"
- }
- ]
- }
- }
- ]
- }
- ]
- ]
- },
- {
- "name": "toxic_modifier",
- "enable": [],
- "requirements": [
- [
- "kill_hostile"
- ],
- [
- "enter_toxic"
- ]
- ],
- "pages": [
- [
- "\n",
- {
- "translate": "text.gm4.guidebook.combat_expanded.toxic_modifier_2",
- "fallback": "Mobs spawned in %s areas are weaker, but apply weakness, hunger, and poison.\n\nSpider clusters can be found.",
- "with": [
- {
- "translate": "text.gm4.guidebook.combat_expanded.toxic",
- "fallback": "toxic",
- "color": "blue",
- "hoverEvent": {
- "action": "show_text",
- "contents": [
- "- ",
- {
- "translate": "biome.minecraft.swamp"
- },
- "\n- ",
- {
- "translate": "biome.minecraft.mangrove_swamp"
- },
- "\n- ",
- {
- "translate": "biome.minecraft.jungle"
- },
- "\n- ",
- {
- "translate": "biome.minecraft.bamboo_jungle"
- }
- ]
- }
- }
- ]
- }
- ]
- ]
- },
- {
- "name": "weapons_and_armor",
- "enable": [],
- "requirements": [
- [
- "obtain_identified_item"
- ]
- ],
- "pages": [
- [
- {
- "translate": "text.gm4.guidebook.combat_expanded.section.weapons_and_armor",
- "fallback": "Special Gear",
- "bold": true
- },
- "\n",
- {
- "translate": "text.gm4.guidebook.combat_expanded.drops",
- "fallback": "Mobs can spawn with special gear.\n\nWeapons have a 20% drop chance and armour has a 8.5% drop chance.\n\nWhen dropped, the gear will have a powerful modifier."
- }
- ],
- [
- {
- "translate": "text.gm4.guidebook.combat_expanded.common_weapons",
- "fallback": "The following modifiers can be found on weapons:"
- },
- "\n- ",
- {
- "translate": "item.gm4.combat_expanded.name.quick",
- "fallback": "Light %s",
- "with": [""],
- "hoverEvent": {
- "action": "show_text",
- "contents": [
- {
- "translate": "text.gm4.guidebook.combat_expanded.quick_modifier",
- "fallback": "- Less attack damage, but quicker attack speed"
- }
- ]
- }
- },
- "\n- ",
- {
- "translate": "item.gm4.combat_expanded.name.heavy",
- "fallback": "Heavy %s",
- "with": [""],
- "hoverEvent": {
- "action": "show_text",
- "contents": [
- {
- "translate": "text.gm4.guidebook.combat_expanded.heavy_modifier",
- "fallback": "- Stronger attack damage, but has slower attack speed\n- Knockback II-III"
- }
- ]
- }
- },
- "\n- ",
- {
- "translate": "item.gm4.combat_expanded.name.fire",
- "fallback": "Flaming %s",
- "with": [""],
- "hoverEvent": {
- "action": "show_text",
- "contents": [
- {
- "translate": "text.gm4.guidebook.combat_expanded.fire_modifier",
- "fallback": "- Less attack damage, but has Fire Aspect III-V"
- }
- ]
- }
- },
- "\n- ",
- {
- "translate": "item.gm4.combat_expanded.name.double",
- "fallback": "Twofold %s",
- "with": [""],
- "hoverEvent": {
- "action": "show_text",
- "contents": [
- {
- "translate": "text.gm4.guidebook.combat_expanded.double_modifier",
- "fallback": "- Has low base attack damage but will double total attack damage"
- }
- ]
- }
- },
- "\n- ",
- {
- "translate": "item.gm4.combat_expanded.name.giant",
- "fallback": "Giant %s",
- "with": [""],
- "hoverEvent": {
- "action": "show_text",
- "contents": [
- {
- "translate": "text.gm4.guidebook.combat_expanded.giant_modifier",
- "fallback": "- Deals damage to everything within 4.5 blocks"
- }
- ]
- }
- },
- "\n- ",
- {
- "translate": "item.gm4.combat_expanded.name.poison",
- "fallback": "Venomous %s",
- "with": [""],
- "hoverEvent": {
- "action": "show_text",
- "contents": [
- {
- "translate": "text.gm4.guidebook.combat_expanded.poison_modifier",
- "fallback": "- Poisons attacked target"
- }
- ]
- }
- },
- "\n- ",
- {
- "translate": "item.gm4.combat_expanded.name.weakness",
- "fallback": "Crippling %s",
- "with": [""],
- "hoverEvent": {
- "action": "show_text",
- "contents": [
- {
- "translate": "text.gm4.guidebook.combat_expanded.weakness_modifier",
- "fallback": "- Temporarily slows and weakens attacked target"
- }
- ]
- }
- },
- "\n- ",
- {
- "translate": "item.gm4.combat_expanded.name.pierce",
- "fallback": "Piercing %s",
- "with": [""],
- "hoverEvent": {
- "action": "show_text",
- "contents": [
- {
- "translate": "text.gm4.guidebook.combat_expanded.pierce_modifier",
- "fallback": "- Reduces armor of attacked target for 10 seconds"
- }
- ]
- }
- },
- "\n- ",
- {
- "translate": "item.gm4.combat_expanded.name.delay",
- "fallback": "Resonating %s",
- "with": [""],
- "hoverEvent": {
- "action": "show_text",
- "contents": [
- {
- "translate": "text.gm4.guidebook.combat_expanded.delay_modifier",
- "fallback": "- Shortly after hitting a target, they will be dealt heavy damage, attacking through armor and effects"
- }
- ]
- }
- }
- ],
- [
- "\n- ",
- {
- "translate": "item.gm4.combat_expanded.name.swift",
- "fallback": "Swift %s",
- "with": [""],
- "hoverEvent": {
- "action": "show_text",
- "contents": [
- {
- "translate": "text.gm4.guidebook.combat_expanded.swift_modifier",
- "fallback": "- Reduced attack speed, but attacks grant bonus attack speed for 6 seconds"
- }
- ]
- }
- },
- "\n- ",
- {
- "translate": "item.gm4.combat_expanded.name.lightning",
- "fallback": "Charged %s",
- "with": [""],
- "hoverEvent": {
- "action": "show_text",
- "contents": [
- {
- "translate": "text.gm4.guidebook.combat_expanded.lightning_modifier",
- "fallback": "- Attacks apply lightning charges.\n- 7+ charges cause a lightning strike"
- }
- ]
- }
- }
- ],
- [
- {
- "translate": "text.gm4.guidebook.combat_expanded.equipped_armor",
- "fallback": "The following armor modifiers are activated while equipped:"
- },
- "\n- ",
- {
- "translate": "item.gm4.combat_expanded.name.archer",
- "fallback": "Archery %s",
- "with": [""],
- "hoverEvent": {
- "action": "show_text",
- "contents": [
- {
- "translate": "text.gm4.guidebook.combat_expanded.archer_modifier",
- "fallback": "- Multiple arrows will be shot from a single arrow shot\n- Lower attack speed when equipped"
- },
- "\n",
- {
- "translate": "text.gm4.guidebook.combat_expanded.rarity_common",
- "fallback": "Common",
- "italic": true,
- "color": "gray"
- }
- ]
- }
- },
- "\n- ",
- {
- "translate": "item.gm4.combat_expanded.name.canine",
- "fallback": "Canine %s",
- "with": [""],
- "hoverEvent": {
- "action": "show_text",
- "contents": [
- {
- "translate": "text.gm4.guidebook.combat_expanded.canine_modifier",
- "fallback": "- Lower attack speed\n- Spawns an invulnerable dog that deals 4 damage\n- Commanding to sit will cause it to lose aggro\n- Feeding it will grant strength"
- },
- "\n",
- {
- "translate": "text.gm4.guidebook.combat_expanded.rarity_rare",
- "fallback": "Rare",
- "italic": true,
- "color": "gray"
- }
- ]
- }
- },
- "\n- ",
- {
- "translate": "item.gm4.combat_expanded.name.beacon",
- "fallback": "Radiant %s",
- "with": [""],
- "hoverEvent": {
- "action": "show_text",
- "contents": [
- {
- "translate": "text.gm4.guidebook.combat_expanded.beacon_modifier",
- "fallback": "- A floating light follows the wearer\n- Crouching will apply glowing and a light pulse"
- },
- "\n",
- {
- "translate": "text.gm4.guidebook.combat_expanded.rarity_common",
- "fallback": "Common",
- "italic": true,
- "color": "gray"
- }
- ]
- }
- },
- "\n- ",
- {
- "translate": "item.gm4.combat_expanded.name.horse",
- "fallback": "Equestrian %s",
- "with": [""],
- "hoverEvent": {
- "action": "show_text",
- "contents": [
- {
- "translate": "text.gm4.guidebook.combat_expanded.horse_modifier",
- "fallback": "- Mounts receive speed and additional helpful effects"
- },
- "\n",
- {
- "translate": "text.gm4.guidebook.combat_expanded.rarity_common",
- "fallback": "Common",
- "italic": true,
- "color": "gray"
- }
- ]
- }
- },
- "\n- ",
- {
- "translate": "item.gm4.combat_expanded.name.husk",
- "fallback": "Dashing %s",
- "with": [""],
- "hoverEvent": {
- "action": "show_text",
- "contents": [
- {
- "translate": "text.gm4.guidebook.combat_expanded.husk_modifier",
- "fallback": "- Applies increasing speed and hunger while sprinting\n- Lower movement speed while not sprinting"
- },
- "\n",
- {
- "translate": "text.gm4.guidebook.combat_expanded.rarity_common",
- "fallback": "Common",
- "italic": true,
- "color": "gray"
- }
- ]
- }
- },
- "\n- ",
- {
- "translate": "item.gm4.combat_expanded.name.convert",
- "fallback": "Hearty %s",
- "with": [""],
- "hoverEvent": {
- "action": "show_text",
- "contents": [
- {
- "translate": "text.gm4.guidebook.combat_expanded.convert_modifier",
- "fallback": "- Converts armor from this piece to max health"
- },
- "\n",
- {
- "translate": "text.gm4.guidebook.combat_expanded.rarity_common",
- "fallback": "Common",
- "italic": true,
- "color": "gray"
- }
- ]
- }
- },
- "\n- ",
- {
- "translate": "item.gm4.combat_expanded.name.sword_ring",
- "fallback": "Psychic %s",
- "with": [""],
- "hoverEvent": {
- "action": "show_text",
- "contents": [
- {
- "translate": "text.gm4.guidebook.combat_expanded.sword_ring_modifier",
- "fallback": "- Spawns a floating sword to circle around the wearer\n- Lower attack speed when equipped"
- },
- "\n",
- {
- "translate": "text.gm4.guidebook.combat_expanded.rarity_rare",
- "fallback": "Rare",
- "italic": true,
- "color": "gray"
- }
- ]
- }
- }
- ],
- [
- {
- "translate": "text.gm4.guidebook.combat_expanded.damage_taken_armor",
- "fallback": "The following armor modifiers are activated when damage is taken:"
- },
- "\n- ",
- {
- "translate": "item.gm4.combat_expanded.name.reactive",
- "fallback": "Reactive %s",
- "with": [""],
- "hoverEvent": {
- "action": "show_text",
- "contents": [
- {
- "translate": "text.gm4.guidebook.combat_expanded.reactive_modifier",
- "fallback": "- Gain absorption for 30 seconds\n- Reduced armor"
- },
- "\n",
- {
- "translate": "text.gm4.guidebook.combat_expanded.rarity_rare",
- "fallback": "Rare",
- "italic": true,
- "color": "gray"
- }
- ]
- }
- },
- "\n- ",
- {
- "translate": "item.gm4.combat_expanded.name.toxic",
- "fallback": "Coated %s",
- "with": [""],
- "hoverEvent": {
- "action": "show_text",
- "contents": [
- {
- "translate": "text.gm4.guidebook.combat_expanded.toxic_modifier",
- "fallback": "- Applies poison, weakness or instant health to the attacker\n- Reduced armor"
- },
- "\n",
- {
- "translate": "text.gm4.guidebook.combat_expanded.rarity_common",
- "fallback": "Common",
- "italic": true,
- "color": "gray"
- }
- ]
- }
- },
- "\n- ",
- {
- "translate": "item.gm4.combat_expanded.name.second_wind",
- "fallback": "Rejuvenating %s",
- "with": [""],
- "hoverEvent": {
- "action": "show_text",
- "contents": [
- {
- "translate": "text.gm4.guidebook.combat_expanded.second_wind_modifier",
- "fallback": "- Stores some damage taken, then restores it when the wearer is out of combat\n- Reduced armor"
- },
- "\n",
- {
- "translate": "text.gm4.guidebook.combat_expanded.rarity_common",
- "fallback": "Common",
- "italic": true,
- "color": "gray"
- }
- ]
- }
- },
- "\n- ",
- {
- "translate": "item.gm4.combat_expanded.name.spark",
- "fallback": "Sparking %s",
- "with": [""],
- "hoverEvent": {
- "action": "show_text",
- "contents": [
- {
- "translate": "text.gm4.guidebook.combat_expanded.spark_modifier",
- "fallback": "- Apply a lightning charge to attacker.\n- 7+ charges cause a lightning strike"
- },
- "\n",
- {
- "translate": "text.gm4.guidebook.combat_expanded.rarity_common",
- "fallback": "Common",
- "italic": true,
- "color": "gray"
- }
- ]
- }
- }
- ],
- [
- {
- "translate": "text.gm4.guidebook.combat_expanded.killing_armor",
- "fallback": "The following armor modifiers are activated when upon killing:"
- },
- "\n- ",
- {
- "translate": "item.gm4.combat_expanded.name.burn",
- "fallback": "Burning %s",
- "with": [""],
- "hoverEvent": {
- "action": "show_text",
- "contents": [
- {
- "translate": "text.gm4.guidebook.combat_expanded.burn_modifier",
- "fallback": "- Deal fire damage to nearby entities for 10 seconds, damage stacks with more kills\n- Taking damage also adds a stack\n- At 10 stacks also set entities on fire and gain fire resistance"
- },
- "\n",
- {
- "translate": "text.gm4.guidebook.combat_expanded.rarity_common",
- "fallback": "Common",
- "italic": true,
- "color": "gray"
- }
- ]
- }
- },
- "\n- ",
- {
- "translate": "item.gm4.combat_expanded.name.reckless",
- "fallback": "Reckless %s",
- "with": [""],
- "hoverEvent": {
- "action": "show_text",
- "contents": [
- {
- "translate": "text.gm4.guidebook.combat_expanded.reckless_modifier",
- "fallback": "- Decrease armor and increase attack damage for 15 seconds\n- Effect can stack until piece runs out of armor"
- },
- "\n",
- {
- "translate": "text.gm4.guidebook.combat_expanded.rarity_rare",
- "fallback": "Rare",
- "italic": true,
- "color": "gray"
- }
- ]
- }
- },
- "\n- ",
- {
- "translate": "item.gm4.combat_expanded.name.vamp",
- "fallback": "Vampiric %s",
- "with": [""],
- "hoverEvent": {
- "action": "show_text",
- "contents": [
- {
- "translate": "text.gm4.guidebook.combat_expanded.vamp_modifier",
- "fallback": "- Regenerate a heart of health\n- Reduced armor"
- },
- "\n",
- {
- "translate": "text.gm4.guidebook.combat_expanded.rarity_common",
- "fallback": "Common",
- "italic": true,
- "color": "gray"
- }
- ]
- }
- },
- "\n- ",
- {
- "translate": "item.gm4.combat_expanded.name.totem",
- "fallback": "Totemic %s",
- "with": [""],
- "hoverEvent": {
- "action": "show_text",
- "contents": [
- {
- "translate": "text.gm4.guidebook.combat_expanded.totem_modifier",
- "fallback": "- Summons a totem that gives allies regeneration, resistance, speed, or strength\n- Totems can stack if mobs are killed within its range of 18 blocks"
- },
- "\n",
- {
- "translate": "text.gm4.guidebook.combat_expanded.rarity_rare",
- "fallback": "Rare",
- "italic": true,
- "color": "gray"
- }
- ]
- }
- },
- "\n- ",
- {
- "translate": "item.gm4.combat_expanded.name.drain",
- "fallback": "Draining %s",
- "with": [""],
- "hoverEvent": {
- "action": "show_text",
- "contents": [
- {
- "translate": "text.gm4.guidebook.combat_expanded.drain_modifier",
- "fallback": "- Grants 1 bonus max health, up to a cap\n- Taking damage reduces max health"
- },
- "\n",
- {
- "translate": "text.gm4.guidebook.combat_expanded.rarity_common",
- "fallback": "Common",
- "italic": true,
- "color": "gray"
- }
- ]
- }
- }
- ],
- [
- {
- "translate": "text.gm4.guidebook.combat_expanded.safe_armor",
- "fallback": "The following armor modifiers are activated while not in combat:"
- },
- "\n- ",
- {
- "translate": "item.gm4.combat_expanded.name.scout",
- "fallback": "Scouting %s",
- "with": [""],
- "hoverEvent": {
- "action": "show_text",
- "contents": [
- {
- "translate": "text.gm4.guidebook.combat_expanded.scout_modifier",
- "fallback": "- Quicker movement speed"
- },
- "\n",
- {
- "translate": "text.gm4.guidebook.combat_expanded.rarity_common",
- "fallback": "Common",
- "italic": true,
- "color": "gray"
- }
- ]
- }
- },
- "\n- ",
- {
- "translate": "item.gm4.combat_expanded.name.shielded",
- "fallback": "Shielded %s",
- "with": [""],
- "hoverEvent": {
- "action": "show_text",
- "contents": [
- {
- "translate": "text.gm4.guidebook.combat_expanded.shielded_modifier",
- "fallback": "- Gain absorption"
- },
- "\n",
- {
- "translate": "text.gm4.guidebook.combat_expanded.rarity_common",
- "fallback": "Common",
- "italic": true,
- "color": "gray"
- }
- ]
- }
- },
- "\n- ",
- {
- "translate": "item.gm4.combat_expanded.name.sneak",
- "fallback": "Sly %s",
- "with": [""],
- "hoverEvent": {
- "action": "show_text",
- "contents": [
- {
- "translate": "text.gm4.guidebook.combat_expanded.sneak_modifier",
- "fallback": "- Gains invisibility when sneaking, when sneaking ends gain attack speed"
- },
- "\n",
- {
- "translate": "text.gm4.guidebook.combat_expanded.rarity_common",
- "fallback": "Common",
- "italic": true,
- "color": "gray"
- }
- ]
- }
- },
- "\n- ",
- {
- "translate": "item.gm4.combat_expanded.name.focus",
- "fallback": "Focused %s",
- "with": [""],
- "hoverEvent": {
- "action": "show_text",
- "contents": [
- {
- "translate": "text.gm4.guidebook.combat_expanded.focus_modifier",
- "fallback": "- Gain attack damage, lose attack damage when damaged\n- Nearby mobs have glowing"
- },
- "\n",
- {
- "translate": "text.gm4.guidebook.combat_expanded.rarity_common",
- "fallback": "Common",
- "italic": true,
- "color": "gray"
- }
- ]
- }
- }
- ],
- [
- {
- "translate": "text.gm4.guidebook.combat_expanded.low_health_armor",
- "fallback": "The following armor modifiers are activated while below half health:"
- },
- "\n- ",
- {
- "translate": "item.gm4.combat_expanded.name.poised",
- "fallback": "Fluxed %s",
- "with": [""],
- "hoverEvent": {
- "action": "show_text",
- "contents": [
- {
- "translate": "text.gm4.guidebook.combat_expanded.poised_modifier",
- "fallback": "- Higher attack damage, but lower armor\n- Has an opposite effect when health is below 50%"
- },
- "\n",
- {
- "translate": "text.gm4.guidebook.combat_expanded.rarity_common",
- "fallback": "Common",
- "italic": true,
- "color": "gray"
- }
- ]
- }
- },
- "\n- ",
- {
- "translate": "item.gm4.combat_expanded.name.soothe",
- "fallback": "Soothing %s",
- "with": [""],
- "hoverEvent": {
- "action": "show_text",
- "contents": [
- {
- "translate": "text.gm4.guidebook.combat_expanded.soothe_modifier",
- "fallback": "- AOE of healing effect and regeneration\n- Can be recharged by killing mobs"
- },
- "\n",
- {
- "translate": "text.gm4.guidebook.combat_expanded.rarity_rare",
- "fallback": "Rare",
- "italic": true,
- "color": "gray"
- }
- ]
- }
- },
- "\n- ",
- {
- "translate": "item.gm4.combat_expanded.name.berserk",
- "fallback": "Berserkers %s",
- "with": [""],
- "hoverEvent": {
- "action": "show_text",
- "contents": [
- {
- "translate": "text.gm4.guidebook.combat_expanded.berserk_modifier",
- "fallback": "- Gain attack damage, attack speed, movement speed and knockback resistance"
- },
- "\n",
- {
- "translate": "text.gm4.guidebook.combat_expanded.rarity_common",
- "fallback": "Common",
- "italic": true,
- "color": "gray"
- }
- ]
- }
- },
- "\n- ",
- {
- "translate": "item.gm4.combat_expanded.name.sustain",
- "fallback": "Sustaining %s",
- "with": [""],
- "hoverEvent": {
- "action": "show_text",
- "contents": [
- {
- "translate": "text.gm4.guidebook.combat_expanded.sustain_modifier",
- "fallback": "- Regenerate health faster"
- },
- "\n",
- {
- "translate": "text.gm4.guidebook.combat_expanded.rarity_common",
- "fallback": "Common",
- "italic": true,
- "color": "gray"
- }
- ]
- }
- },
- "\n- ",
- {
- "translate": "item.gm4.combat_expanded.name.immune",
- "fallback": "Vigorous %s",
- "with": [""],
- "hoverEvent": {
- "action": "show_text",
- "contents": [
- {
- "translate": "text.gm4.guidebook.combat_expanded.immune_modifier",
- "fallback": "- Immune to mining fatigue, poison or weakness, and to hunger, blindness, nausea or wither"
- },
- "\n",
- {
- "translate": "text.gm4.guidebook.combat_expanded.rarity_rare",
- "fallback": "Rare",
- "italic": true,
- "color": "gray"
- }
- ]
- }
- }
- ],
- [
- {
- "translate": "text.gm4.guidebook.combat_expanded.high_health_armor",
- "fallback": "The following armor modifiers are activated while above half health:"
- },
- "\n- ",
- {
- "translate": "item.gm4.combat_expanded.name.half",
- "fallback": "Fractal %s",
- "with": [""],
- "hoverEvent": {
- "action": "show_text",
- "contents": [
- {
- "translate": "text.gm4.guidebook.combat_expanded.half_modifier",
- "fallback": "- Damage is dealt until wearer is at half health\n- Resistance III when equipped"
- },
- "\n",
- {
- "translate": "text.gm4.guidebook.combat_expanded.rarity_common",
- "fallback": "Common",
- "italic": true,
- "color": "gray"
- }
- ]
- }
- }
- ],
- [
- {
- "translate": "text.gm4.guidebook.combat_expanded.epic_armor",
- "fallback": "The following armor modifiers are only found in specific places:"
- },
- "\n- ",
- {
- "translate": "item.gm4.combat_expanded.name.vorpal",
- "fallback": "Vorpal %s",
- "with": [""],
- "hoverEvent": {
- "action": "show_text",
- "contents": [
- {
- "translate": "text.gm4.guidebook.combat_expanded.vorpal_modifier",
- "fallback": "- Teleport to a random location within 16 blocks when damaged\n- Full knockback resistance when equipped"
- },
- "\n",
- {
- "translate": "text.gm4.guidebook.combat_expanded.vorpal_location",
- "fallback": "Found in The End",
- "italic": true,
- "color": "gray"
- }
- ]
- }
- },
- "\n- ",
- {
- "translate": "item.gm4.combat_expanded.name.wild_magic",
- "fallback": "Wild Magic %s",
- "with": [""],
- "hoverEvent": {
- "action": "show_text",
- "contents": [
- {
- "translate": "text.gm4.guidebook.combat_expanded.wild_magic_modifier",
- "fallback": "- Apply a random potion effect with random level and duration to wearer when damaged"
- },
- "\n",
- {
- "translate": "text.gm4.guidebook.combat_expanded.wild_magic_location",
- "fallback": "Found in Mushroom Fields",
- "italic": true,
- "color": "gray"
- }
- ]
- }
- },
- "\n- ",
- {
- "translate": "item.gm4.combat_expanded.name.link",
- "fallback": "Unlinked %s",
- "with": [""],
- "hoverEvent": {
- "action": "show_text",
- "contents": [
- {
- "translate": "text.gm4.guidebook.combat_expanded.link_modifier",
- "fallback": "- Link to any adventurer wearing this armor with the same renamed name\n- All adventurers in the link share their health total"
- },
- "\n",
- {
- "translate": "text.gm4.guidebook.combat_expanded.link_location",
- "fallback": "Found in Deep Dark",
- "italic": true,
- "color": "gray"
- }
- ]
- }
- }
- ]
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/base.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/base.json
deleted file mode 100644
index b177aac22f..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/base.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:wooden_hoe",
- "functions": [
- {
- "function": "minecraft:set_components",
- "components": {
- "minecraft:damage": 0,
- "minecraft:attribute_modifiers": {
- "modifiers": []
- },
- "minecraft:enchantments": {}
- }
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/acrobatic.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/acrobatic.json
deleted file mode 100644
index ee6da4606e..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/acrobatic.json
+++ /dev/null
@@ -1,318 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:armor/identification/base",
- "functions": [
- {
- "function": "minecraft:set_attributes",
- "replace": false,
- "modifiers": [
- {
- "attribute": "minecraft:fall_damage_multiplier",
- "id": "gm4_combat_expanded:dynamic",
- "amount": 0,
- "operation": "add_multiplied_base",
- "slot": "chest"
- }
- ]
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{modifier:14,level:'armor',level2:'level'}}"
- }
- ]
- }
- ],
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- ""
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.safe",
- "fallback": "When Not Under Attack:",
- "color": "gray",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "attribute.gm4.combat_expanded.lore.immunity",
- "fallback": "%s Immunity",
- "with": [
- {
- "translate": "effect.minecraft.levitation"
- }
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$armor"
- },
- "score": "gm4_ce_data"
- },
- "range": 1
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "attribute.gm4.combat_expanded.lore.immunity",
- "fallback": "%s Immunity",
- "with": [
- {
- "translate": "effect.minecraft.slow_falling"
- }
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$armor"
- },
- "score": "gm4_ce_data"
- },
- "range": 2
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "attribute.gm4.combat_expanded.lore.immunity",
- "fallback": "%s Immunity",
- "with": [
- {
- "translate": "effect.minecraft.slowness"
- }
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$armor"
- },
- "score": "gm4_ce_data"
- },
- "range": 3
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "attribute.modifier.take.1",
- "with": [
- {
- "text": "10"
- },
- {
- "translate": "attribute.name.fall_damage_multiplier"
- }
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage"
- },
- "score": "gm4_ce_data"
- },
- "range": 5
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "attribute.modifier.take.1",
- "with": [
- {
- "text": "20"
- },
- {
- "translate": "attribute.name.fall_damage_multiplier"
- }
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage"
- },
- "score": "gm4_ce_data"
- },
- "range": 10
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "attribute.modifier.take.1",
- "with": [
- {
- "text": "30"
- },
- {
- "translate": "attribute.name.fall_damage_multiplier"
- }
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage"
- },
- "score": "gm4_ce_data"
- },
- "range": 15
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "attribute.modifier.take.1",
- "with": [
- {
- "text": "40"
- },
- {
- "translate": "attribute.name.fall_damage_multiplier"
- }
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage"
- },
- "score": "gm4_ce_data"
- },
- "range": 20
- }
- ]
- },
- {
- "function": "minecraft:set_name",
- "entity": "this",
- "target": "item_name",
- "name": [
- {
- "translate": "item.gm4.combat_expanded.name.acrobatic",
- "fallback": "Acrobatic %s",
- "with": [
- {
- "nbt": "components.'minecraft:custom_data'.gm4_combat_expanded.name",
- "storage": "gm4_combat_expanded:temp",
- "interpret": true
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/archer.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/archer.json
deleted file mode 100644
index e3256b6519..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/archer.json
+++ /dev/null
@@ -1,212 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:armor/identification/base",
- "functions": [
- {
- "function": "minecraft:set_attributes",
- "replace": false,
- "modifiers": [
- {
- "attribute": "minecraft:attack_speed",
- "id": "gm4_combat_expanded:permanent",
- "amount": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$atkspeed-"
- },
- "score": "gm4_ce_data",
- "scale": 0.01
- },
- "operation": "add_multiplied_base",
- "slot": "chest"
- }
- ]
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{modifier:'archer',level:'armor'}}"
- }
- ]
- }
- ],
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- ""
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.equip",
- "fallback": "When Equipped:",
- "color": "gray",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "potion.withAmplifier",
- "with": [
- {
- "translate": "item.gm4.combat_expanded.lore.archer",
- "fallback": "Arrow Storm",
- "color": "blue",
- "italic": false
- },
- {
- "translate": "potion.potency.0"
- }
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$armor"
- },
- "score": "gm4_ce_data"
- },
- "range": 1
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "potion.withAmplifier",
- "with": [
- {
- "translate": "item.gm4.combat_expanded.lore.archer",
- "fallback": "Arrow Storm",
- "color": "blue",
- "italic": false
- },
- {
- "translate": "potion.potency.1"
- }
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$armor"
- },
- "score": "gm4_ce_data"
- },
- "range": 2
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "potion.withAmplifier",
- "with": [
- {
- "translate": "item.gm4.combat_expanded.lore.archer",
- "fallback": "Arrow Storm",
- "color": "blue",
- "italic": false
- },
- {
- "translate": "potion.potency.2"
- }
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$armor"
- },
- "score": "gm4_ce_data"
- },
- "range": 3
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "item.gm4.combat_expanded.lore.archer_description",
- "fallback": "Fire many arrows",
- "color": "dark_gray",
- "italic": false
- }
- ]
- ]
- },
- {
- "function": "minecraft:set_name",
- "entity": "this",
- "target": "item_name",
- "name": [
- {
- "translate": "item.gm4.combat_expanded.name.archer",
- "fallback": "Archery %s",
- "with": [
- {
- "nbt": "components.'minecraft:custom_data'.gm4_combat_expanded.name",
- "storage": "gm4_combat_expanded:temp",
- "interpret": true
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/beacon.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/beacon.json
deleted file mode 100644
index 6fddde6d2c..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/beacon.json
+++ /dev/null
@@ -1,89 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:armor/identification/base",
- "functions": [
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{modifier:'beacon'}}"
- }
- ]
- }
- ],
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- ""
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.equip",
- "fallback": "When Equipped:",
- "color": "gray",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "item.gm4.combat_expanded.lore.beacon",
- "fallback": "Beacon",
- "color": "blue",
- "italic": false
- }
- ]
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "item.gm4.combat_expanded.lore.beacon_description",
- "fallback": "Lights the way, sneak to glow",
- "color": "dark_gray",
- "italic": false
- }
- ]
- ]
- },
- {
- "function": "minecraft:set_name",
- "entity": "this",
- "target": "item_name",
- "name": [
- {
- "translate": "item.gm4.combat_expanded.name.beacon",
- "fallback": "Radiant %s",
- "with": [
- {
- "nbt": "components.'minecraft:custom_data'.gm4_combat_expanded.name",
- "storage": "gm4_combat_expanded:temp",
- "interpret": true
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/berserk.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/berserk.json
deleted file mode 100644
index 3b79988ad5..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/berserk.json
+++ /dev/null
@@ -1,273 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:armor/identification/base",
- "functions": [
- {
- "function": "minecraft:set_attributes",
- "replace": false,
- "modifiers": [
- {
- "attribute": "minecraft:attack_damage",
- "id": "gm4_combat_expanded:dynamic",
- "amount": 0,
- "operation": "add_value",
- "slot": "chest"
- },
- {
- "attribute": "minecraft:attack_speed",
- "id": "gm4_combat_expanded:dynamic_2",
- "amount": 0,
- "operation": "add_multiplied_base",
- "slot": "chest"
- },
- {
- "attribute": "minecraft:movement_speed",
- "id": "gm4_combat_expanded:dynamic_3",
- "amount": 0,
- "operation": "add_multiplied_base",
- "slot": "chest"
- },
- {
- "attribute": "minecraft:knockback_resistance",
- "id": "gm4_combat_expanded:dynamic_4",
- "amount": 0,
- "operation": "add_value",
- "slot": "chest"
- },
- {
- "attribute": "minecraft:armor",
- "id": "gm4_combat_expanded:permanent",
- "amount": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$armor-"
- },
- "score": "gm4_ce_data"
- },
- "operation": "add_value",
- "slot": "chest"
- }
- ]
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{modifier:44,active:0,level:'damage',level2:'atkspeed',level3:'speed'}}"
- }
- ]
- }
- ],
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- ""
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.low_hp",
- "fallback": "When Low on Health:",
- "color": "gray",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "attribute.modifier.plus.0",
- "with": [
- [
- {
- "score": {
- "name": "$damage_10",
- "objective": "gm4_ce_data"
- },
- "color": "blue",
- "italic": false
- },
- ".",
- {
- "score": {
- "name": "$damage_01",
- "objective": "gm4_ce_data"
- }
- }
- ],
- {
- "translate": "attribute.name.attack_damage"
- }
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:inverted",
- "term": {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage_01"
- },
- "score": "gm4_ce_data"
- },
- "range": 0
- }
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "attribute.modifier.plus.0",
- "with": [
- {
- "score": {
- "name": "$damage_10",
- "objective": "gm4_ce_data"
- },
- "color": "blue",
- "italic": false
- },
- {
- "translate": "attribute.name.attack_damage"
- }
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage_01"
- },
- "score": "gm4_ce_data"
- },
- "range": 0
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "attribute.modifier.plus.1",
- "with": [
- {
- "score": {
- "name": "$atkspeed",
- "objective": "gm4_ce_data"
- }
- },
- {
- "translate": "attribute.name.attack_speed"
- }
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "attribute.modifier.plus.1",
- "with": [
- {
- "score": {
- "name": "$speed",
- "objective": "gm4_ce_data"
- }
- },
- {
- "translate": "attribute.name.movement_speed"
- }
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "attribute.modifier.plus.0",
- "with": [
- {
- "text": "1"
- },
- {
- "translate": "attribute.name.knockback_resistance"
- }
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ]
- },
- {
- "function": "minecraft:set_name",
- "entity": "this",
- "target": "item_name",
- "name": [
- {
- "translate": "item.gm4.combat_expanded.name.berserk",
- "fallback": "Berserkers %s",
- "with": [
- {
- "nbt": "components.'minecraft:custom_data'.gm4_combat_expanded.name",
- "storage": "gm4_combat_expanded:temp",
- "interpret": true
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/big.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/big.json
deleted file mode 100644
index c97fe3195e..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/big.json
+++ /dev/null
@@ -1,356 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:armor/identification/base",
- "functions": [
- {
- "function": "minecraft:set_attributes",
- "replace": false,
- "modifiers": [
- {
- "attribute": "minecraft:scale",
- "id": "gm4_combat_expanded:permanent",
- "amount": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage"
- },
- "score": "gm4_ce_data",
- "scale": 0.008
- },
- "operation": "add_multiplied_base",
- "slot": "chest"
- },
- {
- "attribute": "minecraft:step_height",
- "id": "gm4_combat_expanded:permanent_2",
- "amount": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage"
- },
- "score": "gm4_ce_data",
- "scale": 0.012
- },
- "operation": "add_value",
- "slot": "chest"
- },
- {
- "attribute": "minecraft:block_interaction_range",
- "id": "gm4_combat_expanded:permanent_3",
- "amount": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage"
- },
- "score": "gm4_ce_data",
- "scale": 0.025
- },
- "operation": "add_value",
- "slot": "chest"
- },
- {
- "attribute": "minecraft:entity_interaction_range",
- "id": "gm4_combat_expanded:permanent_4",
- "amount": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage"
- },
- "score": "gm4_ce_data",
- "scale": 0.025
- },
- "operation": "add_value",
- "slot": "chest"
- },
- {
- "attribute": "minecraft:attack_knockback",
- "id": "gm4_combat_expanded:permanent_5",
- "amount": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage"
- },
- "score": "gm4_ce_data",
- "scale": 0.012
- },
- "operation": "add_multiplied_base",
- "slot": "chest"
- },
- {
- "attribute": "minecraft:fall_damage_multiplier",
- "id": "gm4_combat_expanded:permanent_6",
- "amount": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage"
- },
- "score": "gm4_ce_data",
- "scale": -0.006
- },
- "operation": "add_multiplied_base",
- "slot": "chest"
- },
- {
- "attribute": "minecraft:gravity",
- "id": "gm4_combat_expanded:permanent_7",
- "amount": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage"
- },
- "score": "gm4_ce_data",
- "scale": 0.006
- },
- "operation": "add_multiplied_base",
- "slot": "chest"
- },
- {
- "attribute": "minecraft:jump_strength",
- "id": "gm4_combat_expanded:permanent_8",
- "amount": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage"
- },
- "score": "gm4_ce_data",
- "scale": 0.006
- },
- "operation": "add_multiplied_base",
- "slot": "chest"
- },
- {
- "attribute": "minecraft:safe_fall_distance",
- "id": "gm4_combat_expanded:permanent_9",
- "amount": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage"
- },
- "score": "gm4_ce_data",
- "scale": 0.006
- },
- "operation": "add_multiplied_base",
- "slot": "chest"
- }
- ]
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{modifier:'big'}}"
- }
- ]
- }
- ],
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- ""
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.equip",
- "fallback": "When Equipped:",
- "color": "gray",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "potion.withAmplifier",
- "with": [
- {
- "translate": "item.gm4.combat_expanded.lore.big",
- "fallback": "Giant Growth"
- },
- {
- "translate": "potion.potency.0"
- }
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage"
- },
- "score": "gm4_ce_data"
- },
- "range": 5
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "potion.withAmplifier",
- "with": [
- {
- "translate": "item.gm4.combat_expanded.lore.big",
- "fallback": "Giant Growth"
- },
- {
- "translate": "potion.potency.1"
- }
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage"
- },
- "score": "gm4_ce_data"
- },
- "range": 10
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "potion.withAmplifier",
- "with": [
- {
- "translate": "item.gm4.combat_expanded.lore.big",
- "fallback": "Giant Growth"
- },
- {
- "translate": "potion.potency.2"
- }
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage"
- },
- "score": "gm4_ce_data"
- },
- "range": 15
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "potion.withAmplifier",
- "with": [
- {
- "translate": "item.gm4.combat_expanded.lore.big",
- "fallback": "Giant Growth"
- },
- {
- "translate": "potion.potency.3"
- }
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage"
- },
- "score": "gm4_ce_data"
- },
- "range": 20
- }
- ]
- },
- {
- "function": "minecraft:set_name",
- "entity": "this",
- "target": "item_name",
- "name": [
- {
- "translate": "item.gm4.combat_expanded.name.big",
- "fallback": "Goliaths %s",
- "with": [
- {
- "nbt": "components.'minecraft:custom_data'.gm4_combat_expanded.name",
- "storage": "gm4_combat_expanded:temp",
- "interpret": true
- }
- ]
- }
- ]
- },
- {
- "function": "minecraft:set_components",
- "components": {
- "minecraft:rarity": "uncommon"
- }
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/burn.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/burn.json
deleted file mode 100644
index a88a30d048..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/burn.json
+++ /dev/null
@@ -1,151 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:armor/identification/base",
- "functions": [
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{modifier:36}}"
- }
- ]
- }
- ],
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- ""
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.killing",
- "fallback": "When Killing:",
- "color": "gray",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- {
- "translate": "potion.withDuration",
- "with": [
- {
- "translate": "item.gm4.combat_expanded.lore.burn",
- "fallback": "Burning Aura"
- },
- "0:10"
- ],
- "color": "blue",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- ""
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.unsafe",
- "fallback": "When Under Attack:",
- "color": "gray",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- {
- "translate": "potion.withDuration",
- "with": [
- {
- "translate": "item.gm4.combat_expanded.lore.burn",
- "fallback": "Burning Aura"
- },
- "0:10"
- ],
- "color": "blue",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "item.gm4.combat_expanded.lore.burn_description",
- "fallback": "Stacks 8 times, 0.25 damage per stack",
- "color": "dark_gray",
- "italic": false
- }
- ]
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "item.gm4.combat_expanded.lore.burn_description_2",
- "fallback": "At full stacks gain %s",
- "with": [
- {
- "translate": "effect.minecraft.fire_resistance"
- }
- ],
- "color": "dark_gray",
- "italic": false
- }
- ]
- ]
- },
- {
- "function": "minecraft:set_name",
- "entity": "this",
- "target": "item_name",
- "name": [
- {
- "translate": "item.gm4.combat_expanded.name.burn",
- "fallback": "Burning %s",
- "with": [
- {
- "nbt": "components.'minecraft:custom_data'.gm4_combat_expanded.name",
- "storage": "gm4_combat_expanded:temp",
- "interpret": true
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/canine.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/canine.json
deleted file mode 100644
index b8285b0bd3..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/canine.json
+++ /dev/null
@@ -1,152 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:armor/identification/base",
- "functions": [
- {
- "function": "minecraft:set_attributes",
- "replace": false,
- "modifiers": [
- {
- "attribute": "minecraft:attack_speed",
- "id": "gm4_combat_expanded:permanent",
- "amount": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$atkspeed-"
- },
- "score": "gm4_ce_data",
- "scale": 0.01
- },
- "operation": "add_multiplied_base",
- "slot": "chest"
- }
- ]
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{modifier:71}}"
- }
- ]
- }
- ],
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- ""
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.equip",
- "fallback": "When Equipped:",
- "color": "gray",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "attribute.modifier.plus.0",
- "with": [
- "1",
- {
- "translate": "item.gm4.combat_expanded.lore.canine",
- "fallback": "Good Boi"
- }
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "item.gm4.combat_expanded.lore.canine_description",
- "fallback": "A loyal friend to fight by your side",
- "color": "dark_gray",
- "italic": false
- }
- ]
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "item.gm4.combat_expanded.lore.canine_description_2",
- "fallback": "Command to sit to lose aggro",
- "color": "dark_gray",
- "italic": false
- }
- ]
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "item.gm4.combat_expanded.lore.canine_description_3",
- "fallback": "Feed to strengthen",
- "color": "dark_gray",
- "italic": false
- }
- ]
- ]
- },
- {
- "function": "minecraft:set_name",
- "entity": "this",
- "target": "item_name",
- "name": [
- {
- "translate": "item.gm4.combat_expanded.name.canine",
- "fallback": "Canine %s",
- "with": [
- {
- "nbt": "components.'minecraft:custom_data'.gm4_combat_expanded.name",
- "storage": "gm4_combat_expanded:temp",
- "interpret": true
- }
- ]
- }
- ]
- },
- {
- "function": "minecraft:set_components",
- "components": {
- "minecraft:rarity": "uncommon"
- }
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/convert.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/convert.json
deleted file mode 100644
index e49a45ffe7..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/convert.json
+++ /dev/null
@@ -1,110 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:armor/identification/base",
- "functions": [
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{modifier:'convert'}}"
- }
- ]
- }
- ],
- "functions": [
- {
- "function": "minecraft:set_attributes",
- "replace": false,
- "modifiers": [
- {
- "attribute": "minecraft:max_health",
- "id": "gm4_combat_expanded:permanent",
- "amount": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$armor_clamp"
- },
- "score": "gm4_ce_data",
- "scale": -1
- },
- "operation": "add_value",
- "slot": "chest"
- },
- {
- "attribute": "minecraft:armor",
- "id": "gm4_combat_expanded:permanent_2",
- "amount": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$armor_clamp"
- },
- "score": "gm4_ce_data",
- "scale": 1
- },
- "operation": "add_value",
- "slot": "chest"
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- ""
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.equip",
- "fallback": "When Equipped:",
- "color": "gray",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "item.gm4.combat_expanded.lore.convert",
- "fallback": "Convert Armor to Health",
- "color": "blue",
- "italic": false
- }
- ]
- ]
- },
- {
- "function": "minecraft:set_name",
- "entity": "this",
- "target": "item_name",
- "name": [
- {
- "translate": "item.gm4.combat_expanded.name.convert",
- "fallback": "Hearty %s",
- "with": [
- {
- "nbt": "components.'minecraft:custom_data'.gm4_combat_expanded.name",
- "storage": "gm4_combat_expanded:temp",
- "interpret": true
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/drain.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/drain.json
deleted file mode 100644
index 4658f696e2..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/drain.json
+++ /dev/null
@@ -1,254 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:armor/identification/base",
- "functions": [
- {
- "function": "minecraft:set_attributes",
- "replace": false,
- "modifiers": [
- {
- "attribute": "minecraft:max_health",
- "id": "gm4_combat_expanded:dynamic",
- "amount": 0,
- "operation": "add_value",
- "slot": "chest"
- }
- ]
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{modifier:35,level:'armor'}}"
- }
- ]
- }
- ],
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- ""
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.killing",
- "fallback": "When Killing:",
- "color": "gray",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "item.gm4.combat_expanded.lore.drain",
- "fallback": "%s (Max %s)",
- "with": [
- [
- {
- "translate": "attribute.modifier.plus.0",
- "with": [
- {
- "text": "1"
- },
- {
- "translate": "attribute.name.max_health"
- }
- ]
- }
- ],
- {
- "text": "6"
- }
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$armor"
- },
- "score": "gm4_ce_data"
- },
- "range": 1
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "item.gm4.combat_expanded.lore.drain",
- "fallback": "%s (Max %s)",
- "with": [
- [
- {
- "translate": "attribute.modifier.plus.0",
- "with": [
- {
- "text": "1"
- },
- {
- "translate": "attribute.name.max_health"
- }
- ]
- }
- ],
- {
- "text": "8"
- }
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$armor"
- },
- "score": "gm4_ce_data"
- },
- "range": 2
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "item.gm4.combat_expanded.lore.drain",
- "fallback": "%s (Max %s)",
- "with": [
- [
- {
- "translate": "attribute.modifier.plus.0",
- "with": [
- {
- "text": "1"
- },
- {
- "translate": "attribute.name.max_health"
- }
- ]
- }
- ],
- {
- "text": "10"
- }
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$armor"
- },
- "score": "gm4_ce_data"
- },
- "range": 3
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- ""
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.unsafe",
- "fallback": "When Under Attack:",
- "color": "gray",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "attribute.modifier.take.0",
- "with": [
- {
- "text": "1"
- },
- {
- "translate": "attribute.name.max_health"
- }
- ],
- "color": "red",
- "italic": false
- }
- ]
- ]
- },
- {
- "function": "minecraft:set_name",
- "entity": "this",
- "target": "item_name",
- "name": [
- {
- "translate": "item.gm4.combat_expanded.name.drain",
- "fallback": "Draining %s",
- "with": [
- {
- "nbt": "components.'minecraft:custom_data'.gm4_combat_expanded.name",
- "storage": "gm4_combat_expanded:temp",
- "interpret": true
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/focus.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/focus.json
deleted file mode 100644
index ec758dd141..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/focus.json
+++ /dev/null
@@ -1,319 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:armor/identification/base",
- "functions": [
- {
- "function": "minecraft:set_attributes",
- "replace": false,
- "modifiers": [
- {
- "attribute": "minecraft:attack_damage",
- "id": "gm4_combat_expanded:dynamic",
- "amount": 0,
- "operation": "add_value",
- "slot": "chest"
- }
- ]
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{modifier:13,active:0,level:'armor',level2:'damage'}}"
- }
- ]
- }
- ],
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- ""
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.safe",
- "fallback": "When Not Under Attack:",
- "color": "gray",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "attribute.modifier.plus.0",
- "with": [
- [
- {
- "score": {
- "name": "$damage_10",
- "objective": "gm4_ce_data"
- },
- "color": "blue",
- "italic": false
- },
- ".",
- {
- "score": {
- "name": "$damage_01",
- "objective": "gm4_ce_data"
- }
- }
- ],
- {
- "translate": "attribute.name.attack_damage"
- }
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:inverted",
- "term": {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage_01"
- },
- "score": "gm4_ce_data"
- },
- "range": 0
- }
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "attribute.modifier.plus.0",
- "with": [
- {
- "score": {
- "name": "$damage_10",
- "objective": "gm4_ce_data"
- },
- "color": "blue",
- "italic": false
- },
- {
- "translate": "attribute.name.attack_damage"
- }
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage_01"
- },
- "score": "gm4_ce_data"
- },
- "range": 0
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "item.gm4.combat_expanded.lore.focus",
- "fallback": "%s Aura",
- "with": [
- {
- "translate": "effect.minecraft.glowing"
- }
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- ""
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.unsafe",
- "fallback": "When Under Attack:",
- "color": "gray",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "attribute.modifier.take.0",
- "with": [
- [
- {
- "text": "0.5"
- }
- ],
- {
- "translate": "attribute.name.attack_damage"
- }
- ],
- "color": "red",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$armor"
- },
- "score": "gm4_ce_data"
- },
- "range": 1
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "attribute.modifier.take.0",
- "with": [
- [
- {
- "text": "1"
- }
- ],
- {
- "translate": "attribute.name.attack_damage"
- }
- ],
- "color": "red",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$armor"
- },
- "score": "gm4_ce_data"
- },
- "range": 2
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "attribute.modifier.take.0",
- "with": [
- [
- {
- "text": "1.5"
- }
- ],
- {
- "translate": "attribute.name.attack_damage"
- }
- ],
- "color": "red",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$armor"
- },
- "score": "gm4_ce_data"
- },
- "range": 3
- }
- ]
- },
- {
- "function": "minecraft:set_name",
- "entity": "this",
- "target": "item_name",
- "name": [
- {
- "translate": "item.gm4.combat_expanded.name.focus",
- "fallback": "Focused %s",
- "with": [
- {
- "nbt": "components.'minecraft:custom_data'.gm4_combat_expanded.name",
- "storage": "gm4_combat_expanded:temp",
- "interpret": true
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/half.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/half.json
deleted file mode 100644
index 5455c01af6..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/half.json
+++ /dev/null
@@ -1,131 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:armor/identification/base",
- "functions": [
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{modifier:52}}"
- }
- ]
- }
- ],
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- ""
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.high_hp",
- "fallback": "When High on Health:",
- "color": "gray",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.half",
- "fallback": "Reduce Health to Half",
- "color": "red",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "attribute.gm4.combat_expanded.lore.immunity",
- "fallback": "%s Immunity",
- "with": [
- {
- "translate": "effect.minecraft.regeneration"
- }
- ],
- "color": "red",
- "italic": false
- }
- ]
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- ""
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.equip",
- "fallback": "When Equipped:",
- "color": "gray",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- {
- "translate": "potion.withAmplifier",
- "with": [
- {
- "translate": "effect.minecraft.resistance"
- },
- {
- "translate": "potion.potency.2"
- }
- ],
- "color": "blue",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_name",
- "entity": "this",
- "target": "item_name",
- "name": [
- {
- "translate": "item.gm4.combat_expanded.name.half",
- "fallback": "Fractal %s",
- "with": [
- {
- "nbt": "components.'minecraft:custom_data'.gm4_combat_expanded.name",
- "storage": "gm4_combat_expanded:temp",
- "interpret": true
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/horse.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/horse.json
deleted file mode 100644
index b8ad34cf5c..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/horse.json
+++ /dev/null
@@ -1,341 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:armor/identification/base",
- "functions": [
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{modifier:74,level:'armor',level2:'level'}}"
- }
- ]
- }
- ],
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- ""
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.equip",
- "fallback": "When Equipped:",
- "color": "gray",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.mount",
- "fallback": "%s (Mount)",
- "with": [
- {
- "translate": "effect.minecraft.speed"
- }
- ],
- "color": "blue",
- "italic": false
- }
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$armor"
- },
- "score": "gm4_ce_data"
- },
- "range": 1
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.mount",
- "fallback": "%s (Mount)",
- "with": [
- {
- "translate": "potion.withAmplifier",
- "with": [
- {
- "translate": "effect.minecraft.speed"
- },
- {
- "translate": "potion.potency.1"
- }
- ]
- }
- ],
- "color": "blue",
- "italic": false
- }
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$armor"
- },
- "score": "gm4_ce_data"
- },
- "range": 2
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.mount",
- "fallback": "%s (Mount)",
- "with": [
- {
- "translate": "potion.withAmplifier",
- "with": [
- {
- "translate": "effect.minecraft.speed"
- },
- {
- "translate": "potion.potency.2"
- }
- ]
- }
- ],
- "color": "blue",
- "italic": false
- }
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$armor"
- },
- "score": "gm4_ce_data"
- },
- "range": 3
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "item.gm4.combat_expanded.lore.horse_description",
- "fallback": "%s stacks like Enchantments (2x %s = %s)",
- "with": [
- {
- "translate": "effect.minecraft.speed"
- },
- {
- "translate": "potion.potency.1"
- },
- {
- "translate": "potion.potency.2"
- }
- ],
- "color": "dark_gray",
- "italic": false
- }
- ]
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.mount",
- "fallback": "%s (Mount)",
- "with": [
- {
- "translate": "potion.withAmplifier",
- "with": [
- {
- "translate": "effect.minecraft.resistance"
- },
- {
- "translate": "potion.potency.1"
- }
- ]
- }
- ],
- "color": "blue",
- "italic": false
- }
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage"
- },
- "score": "gm4_ce_data"
- },
- "range": 5
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.mount",
- "fallback": "%s (Mount)",
- "with": [
- {
- "translate": "potion.withAmplifier",
- "with": [
- {
- "translate": "effect.minecraft.jump_boost"
- },
- {
- "translate": "potion.potency.1"
- }
- ]
- }
- ],
- "color": "blue",
- "italic": false
- }
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage"
- },
- "score": "gm4_ce_data"
- },
- "range": 10
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.mount",
- "fallback": "%s (Mount)",
- "with": [
- {
- "translate": "effect.minecraft.fire_resistance"
- }
- ],
- "color": "blue",
- "italic": false
- }
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage"
- },
- "score": "gm4_ce_data"
- },
- "range": 15
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.mount",
- "fallback": "%s (Mount)",
- "with": [
- {
- "translate": "effect.minecraft.regeneration"
- }
- ],
- "color": "blue",
- "italic": false
- }
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage"
- },
- "score": "gm4_ce_data"
- },
- "range": 20
- }
- ]
- },
- {
- "function": "minecraft:set_name",
- "entity": "this",
- "target": "item_name",
- "name": [
- {
- "translate": "item.gm4.combat_expanded.name.horse",
- "fallback": "Equestrian %s",
- "with": [
- {
- "nbt": "components.'minecraft:custom_data'.gm4_combat_expanded.name",
- "storage": "gm4_combat_expanded:temp",
- "interpret": true
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/husk.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/husk.json
deleted file mode 100644
index bf2819580b..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/husk.json
+++ /dev/null
@@ -1,138 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:armor/identification/base",
- "functions": [
- {
- "function": "minecraft:set_attributes",
- "replace": false,
- "modifiers": [
- {
- "attribute": "minecraft:movement_speed",
- "id": "gm4_combat_expanded:permanent",
- "amount": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$speed-"
- },
- "score": "gm4_ce_data",
- "scale": 0.01
- },
- "operation": "add_multiplied_base",
- "slot": "chest"
- }
- ]
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{modifier:75}}"
- }
- ]
- }
- ],
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- ""
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.equip",
- "fallback": "When Equipped:",
- "color": "gray",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "item.gm4.combat_expanded.lore.husk",
- "fallback": "Ramping %s & %s",
- "color": "blue",
- "italic": false,
- "with": [
- {
- "translate": "effect.minecraft.speed"
- },
- {
- "translate": "effect.minecraft.hunger"
- }
- ]
- }
- ]
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "item.gm4.combat_expanded.lore.husk_description",
- "fallback": "Stacks up to level %s",
- "color": "dark_gray",
- "italic": false,
- "with": [
- {
- "translate": "potion.potency.4"
- }
- ]
- }
- ]
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "item.gm4.combat_expanded.lore.husk_description_2",
- "fallback": "+1 level per extra piece",
- "color": "dark_gray",
- "italic": false
- }
- ]
- ]
- },
- {
- "function": "minecraft:set_name",
- "entity": "this",
- "target": "item_name",
- "name": [
- {
- "translate": "item.gm4.combat_expanded.name.husk",
- "fallback": "Dashing %s",
- "with": [
- {
- "nbt": "components.'minecraft:custom_data'.gm4_combat_expanded.name",
- "storage": "gm4_combat_expanded:temp",
- "interpret": true
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/immune.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/immune.json
deleted file mode 100644
index 6ce76d8e17..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/immune.json
+++ /dev/null
@@ -1,303 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:armor/identification/base",
- "functions": [
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{modifier:51,level:'armor',level2:'level'}}"
- }
- ]
- }
- ],
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- ""
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.low_hp",
- "fallback": "When Low on Health:",
- "color": "gray",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "attribute.gm4.combat_expanded.lore.immunity",
- "fallback": "%s Immunity",
- "with": [
- {
- "translate": "effect.minecraft.mining_fatigue"
- }
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$armor"
- },
- "score": "gm4_ce_data"
- },
- "range": 1
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "attribute.gm4.combat_expanded.lore.immunity",
- "fallback": "%s Immunity",
- "with": [
- {
- "translate": "effect.minecraft.poison"
- }
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$armor"
- },
- "score": "gm4_ce_data"
- },
- "range": 2
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "attribute.gm4.combat_expanded.lore.immunity",
- "fallback": "%s Immunity",
- "with": [
- {
- "translate": "effect.minecraft.weakness"
- }
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$armor"
- },
- "score": "gm4_ce_data"
- },
- "range": 3
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "attribute.gm4.combat_expanded.lore.immunity",
- "fallback": "%s Immunity",
- "with": [
- {
- "translate": "effect.minecraft.hunger"
- }
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage"
- },
- "score": "gm4_ce_data"
- },
- "range": 5
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "attribute.gm4.combat_expanded.lore.immunity",
- "fallback": "%s Immunity",
- "with": [
- {
- "translate": "effect.minecraft.blindness"
- }
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage"
- },
- "score": "gm4_ce_data"
- },
- "range": 10
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "attribute.gm4.combat_expanded.lore.immunity",
- "fallback": "%s Immunity",
- "with": [
- {
- "translate": "effect.minecraft.nausea"
- }
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage"
- },
- "score": "gm4_ce_data"
- },
- "range": 15
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "attribute.gm4.combat_expanded.lore.immunity",
- "fallback": "%s Immunity",
- "with": [
- {
- "translate": "effect.minecraft.wither"
- }
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage"
- },
- "score": "gm4_ce_data"
- },
- "range": 20
- }
- ]
- },
- {
- "function": "minecraft:set_name",
- "entity": "this",
- "target": "item_name",
- "name": [
- {
- "translate": "item.gm4.combat_expanded.name.immune",
- "fallback": "Vigorous %s",
- "with": [
- {
- "nbt": "components.'minecraft:custom_data'.gm4_combat_expanded.name",
- "storage": "gm4_combat_expanded:temp",
- "interpret": true
- }
- ]
- }
- ]
- },
- {
- "function": "minecraft:set_components",
- "components": {
- "minecraft:rarity": "uncommon"
- }
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/link.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/link.json
deleted file mode 100644
index e567a9b5ca..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/link.json
+++ /dev/null
@@ -1,118 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:armor/identification/base",
- "functions": [
- {
- "function": "minecraft:set_attributes",
- "replace": false,
- "modifiers": [
- {
- "attribute": "minecraft:max_health",
- "id": "gm4_combat_expanded:dynamic",
- "amount": 0,
- "operation": "add_value",
- "slot": "chest"
- }
- ]
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{modifier:76,active:0,link_id:0}}"
- }
- ]
- }
- ],
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.link_2",
- "fallback": "Rename to Link",
- "color": "blue",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- ""
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.link",
- "fallback": "When Linked:",
- "color": "gray",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.link_3",
- "fallback": "Lifelink",
- "color": "dark_gray",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "item.gm4.combat_expanded.lore.link_description",
- "fallback": "Share Health with others in the link",
- "color": "dark_gray",
- "italic": false
- }
- ]
- ]
- },
- {
- "function": "minecraft:set_name",
- "entity": "this",
- "target": "item_name",
- "name": [
- {
- "translate": "item.gm4.combat_expanded.name.link",
- "fallback": "Unlinked %s",
- "with": [
- {
- "nbt": "components.'minecraft:custom_data'.gm4_combat_expanded.name",
- "storage": "gm4_combat_expanded:temp",
- "interpret": true
- }
- ]
- }
- ]
- },
- {
- "function": "minecraft:set_components",
- "components": {
- "minecraft:rarity": "epic"
- }
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/poised.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/poised.json
deleted file mode 100644
index e1595bee3b..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/poised.json
+++ /dev/null
@@ -1,332 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:armor/identification/base",
- "functions": [
- {
- "function": "minecraft:set_attributes",
- "replace": false,
- "modifiers": [
- {
- "attribute": "minecraft:armor",
- "id": "gm4_combat_expanded:dynamic",
- "amount": 0,
- "operation": "add_value",
- "slot": "chest"
- },
- {
- "attribute": "minecraft:attack_damage",
- "id": "gm4_combat_expanded:dynamic_2",
- "amount": 0,
- "operation": "add_value",
- "slot": "chest"
- }
- ]
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{modifier:49,active:0,level:'armor',level2:'damage'}}"
- }
- ]
- }
- ],
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- ""
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.high_hp",
- "fallback": "When High on Health:",
- "color": "gray",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "attribute.modifier.take.0",
- "with": [
- {
- "score": {
- "name": "$armor",
- "objective": "gm4_ce_data"
- }
- },
- {
- "translate": "attribute.name.armor"
- }
- ],
- "color": "red",
- "italic": false
- }
- ]
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "attribute.modifier.plus.0",
- "with": [
- [
- {
- "score": {
- "name": "$damage_10",
- "objective": "gm4_ce_data"
- },
- "color": "blue",
- "italic": false
- },
- ".",
- {
- "score": {
- "name": "$damage_01",
- "objective": "gm4_ce_data"
- }
- }
- ],
- {
- "translate": "attribute.name.attack_damage"
- }
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:inverted",
- "term": {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage_01"
- },
- "score": "gm4_ce_data"
- },
- "range": 0
- }
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "attribute.modifier.plus.0",
- "with": [
- {
- "score": {
- "name": "$damage_10",
- "objective": "gm4_ce_data"
- },
- "color": "blue",
- "italic": false
- },
- {
- "translate": "attribute.name.attack_damage"
- }
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage_01"
- },
- "score": "gm4_ce_data"
- },
- "range": 0
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- ""
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.low_hp",
- "fallback": "When Low on Health:",
- "color": "gray",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "attribute.modifier.plus.0",
- "with": [
- {
- "score": {
- "name": "$armor",
- "objective": "gm4_ce_data"
- }
- },
- {
- "translate": "attribute.name.armor"
- }
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "attribute.modifier.take.0",
- "with": [
- [
- {
- "score": {
- "name": "$damage_10",
- "objective": "gm4_ce_data"
- }
- },
- ".",
- {
- "score": {
- "name": "$damage_01",
- "objective": "gm4_ce_data"
- }
- }
- ],
- {
- "translate": "attribute.name.attack_damage"
- }
- ],
- "color": "red",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:inverted",
- "term": {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage_01"
- },
- "score": "gm4_ce_data"
- },
- "range": 0
- }
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "attribute.modifier.take.0",
- "with": [
- {
- "score": {
- "name": "$damage_10",
- "objective": "gm4_ce_data"
- }
- },
- {
- "translate": "attribute.name.attack_damage"
- }
- ],
- "color": "red",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage_01"
- },
- "score": "gm4_ce_data"
- },
- "range": 0
- }
- ]
- },
- {
- "function": "minecraft:set_name",
- "entity": "this",
- "target": "item_name",
- "name": [
- {
- "translate": "item.gm4.combat_expanded.name.poised",
- "fallback": "Fluxed %s",
- "with": [
- {
- "nbt": "components.'minecraft:custom_data'.gm4_combat_expanded.name",
- "storage": "gm4_combat_expanded:temp",
- "interpret": true
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/reactive.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/reactive.json
deleted file mode 100644
index aaeda54dd9..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/reactive.json
+++ /dev/null
@@ -1,260 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:armor/identification/base",
- "functions": [
- {
- "function": "minecraft:set_attributes",
- "replace": false,
- "modifiers": [
- {
- "attribute": "minecraft:armor",
- "id": "gm4_combat_expanded:permanent",
- "amount": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$armor-"
- },
- "score": "gm4_ce_data"
- },
- "operation": "add_value",
- "slot": "chest"
- }
- ]
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{modifier:'reactive',level:'level'}}"
- }
- ]
- }
- ],
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- ""
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.unsafe",
- "fallback": "When Under Attack:",
- "color": "gray",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "potion.withDuration",
- "with": [
- {
- "translate": "effect.minecraft.absorption"
- },
- "0:30"
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage"
- },
- "score": "gm4_ce_data"
- },
- "range": 5
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "potion.withDuration",
- "with": [
- {
- "translate": "potion.withAmplifier",
- "with": [
- {
- "translate": "effect.minecraft.absorption"
- },
- {
- "translate": "potion.potency.1"
- }
- ]
- },
- "0:30"
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage"
- },
- "score": "gm4_ce_data"
- },
- "range": 10
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "potion.withDuration",
- "with": [
- {
- "translate": "potion.withAmplifier",
- "with": [
- {
- "translate": "effect.minecraft.absorption"
- },
- {
- "translate": "potion.potency.2"
- }
- ]
- },
- "0:30"
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage"
- },
- "score": "gm4_ce_data"
- },
- "range": 15
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "potion.withDuration",
- "with": [
- {
- "translate": "potion.withAmplifier",
- "with": [
- {
- "translate": "effect.minecraft.absorption"
- },
- {
- "translate": "potion.potency.3"
- }
- ]
- },
- "0:30"
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage"
- },
- "score": "gm4_ce_data"
- },
- "range": 20
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "item.gm4.combat_expanded.lore.reactive_description",
- "fallback": "Cannot trigger again for 30 seconds",
- "color": "dark_gray",
- "italic": false
- }
- ]
- ]
- },
- {
- "function": "minecraft:set_name",
- "entity": "this",
- "target": "item_name",
- "name": [
- {
- "translate": "item.gm4.combat_expanded.name.reactive",
- "fallback": "Reactive %s",
- "with": [
- {
- "nbt": "components.'minecraft:custom_data'.gm4_combat_expanded.name",
- "storage": "gm4_combat_expanded:temp",
- "interpret": true
- }
- ]
- }
- ]
- },
- {
- "function": "minecraft:set_components",
- "components": {
- "minecraft:rarity": "uncommon"
- }
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/reckless.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/reckless.json
deleted file mode 100644
index d18f90a8f9..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/reckless.json
+++ /dev/null
@@ -1,159 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:armor/identification/base",
- "functions": [
- {
- "function": "minecraft:set_attributes",
- "replace": false,
- "modifiers": [
- {
- "attribute": "minecraft:attack_damage",
- "id": "gm4_combat_expanded:dynamic",
- "amount": 0,
- "operation": "add_value",
- "slot": "chest"
- },
- {
- "attribute": "minecraft:armor",
- "id": "gm4_combat_expanded:dynamic_2",
- "amount": 0,
- "operation": "add_value",
- "slot": "chest"
- }
- ]
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{modifier:37,active:0,deactivates_at:0}}"
- }
- ]
- }
- ],
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- ""
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.killing",
- "fallback": "When Killing:",
- "color": "gray",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "potion.withDuration",
- "with": [
- {
- "translate": "attribute.modifier.plus.0",
- "with": [
- [
- {
- "text": "0.5"
- }
- ],
- {
- "translate": "attribute.name.attack_damage"
- }
- ]
- },
- "0:15"
- ],
- "color": "blue",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "potion.withDuration",
- "with": [
- {
- "translate": "attribute.modifier.take.0",
- "with": [
- [
- {
- "text": "1"
- }
- ],
- {
- "translate": "attribute.name.armor"
- }
- ]
- },
- "0:15"
- ],
- "color": "red",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "item.gm4.combat_expanded.lore.reckless_description",
- "fallback": "Cannot go below 0 %s",
- "with": [
- {
- "translate": "attribute.name.armor"
- }
- ],
- "color": "dark_gray",
- "italic": false
- }
- ]
- ]
- },
- {
- "function": "minecraft:set_name",
- "entity": "this",
- "target": "item_name",
- "name": [
- {
- "translate": "item.gm4.combat_expanded.name.reckless",
- "fallback": "Reckless %s",
- "with": [
- {
- "nbt": "components.'minecraft:custom_data'.gm4_combat_expanded.name",
- "storage": "gm4_combat_expanded:temp",
- "interpret": true
- }
- ]
- }
- ]
- },
- {
- "function": "minecraft:set_components",
- "components": {
- "minecraft:rarity": "uncommon"
- }
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/scout.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/scout.json
deleted file mode 100644
index 37b0e8c7f0..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/scout.json
+++ /dev/null
@@ -1,97 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:armor/identification/base",
- "functions": [
- {
- "function": "minecraft:set_attributes",
- "replace": false,
- "modifiers": [
- {
- "attribute": "minecraft:movement_speed",
- "id": "gm4_combat_expanded:dynamic",
- "amount": 0,
- "operation": "add_multiplied_base",
- "slot": "chest"
- }
- ]
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{modifier:10,active:0,level:'atkspeed'}}"
- }
- ]
- }
- ],
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- ""
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.safe",
- "fallback": "When Not Under Attack:",
- "color": "gray",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "attribute.modifier.plus.1",
- "with": [
- {
- "score": {
- "name": "$atkspeed",
- "objective": "gm4_ce_data"
- }
- },
- {
- "translate": "attribute.name.movement_speed"
- }
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ]
- },
- {
- "function": "minecraft:set_name",
- "entity": "this",
- "target": "item_name",
- "name": [
- {
- "translate": "item.gm4.combat_expanded.name.scout",
- "fallback": "Scouting %s",
- "with": [
- {
- "nbt": "components.'minecraft:custom_data'.gm4_combat_expanded.name",
- "storage": "gm4_combat_expanded:temp",
- "interpret": true
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/second_wind.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/second_wind.json
deleted file mode 100644
index 2c3376a863..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/second_wind.json
+++ /dev/null
@@ -1,249 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:armor/identification/base",
- "functions": [
- {
- "function": "minecraft:set_attributes",
- "replace": false,
- "modifiers": [
- {
- "attribute": "minecraft:armor",
- "id": "gm4_combat_expanded:permanent",
- "amount": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$armor-"
- },
- "score": "gm4_ce_data"
- },
- "operation": "add_value",
- "slot": "chest"
- }
- ]
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{modifier:21,level2:'damage'}}"
- }
- ]
- }
- ],
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- ""
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.unsafe",
- "fallback": "When Under Attack:",
- "color": "gray",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "item.gm4.combat_expanded.lore.second_wind",
- "fallback": "Store %s of Damage",
- "with": [
- {
- "text": "10%"
- }
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage"
- },
- "score": "gm4_ce_data"
- },
- "range": 5
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "item.gm4.combat_expanded.lore.second_wind",
- "fallback": "Store %s of Damage",
- "with": [
- {
- "text": "20%"
- }
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage"
- },
- "score": "gm4_ce_data"
- },
- "range": 10
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "item.gm4.combat_expanded.lore.second_wind",
- "fallback": "Store %s of Damage",
- "with": [
- {
- "text": "30%"
- }
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage"
- },
- "score": "gm4_ce_data"
- },
- "range": 15
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "item.gm4.combat_expanded.lore.second_wind",
- "fallback": "Store %s of Damage",
- "with": [
- {
- "text": "40%"
- }
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage"
- },
- "score": "gm4_ce_data"
- },
- "range": 20
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- ""
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.safe",
- "fallback": "When Not Under Attack:",
- "color": "gray",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "item.gm4.combat_expanded.lore.second_wind_2",
- "fallback": "Restore Stored Health",
- "color": "blue",
- "italic": false
- }
- ]
- ]
- },
- {
- "function": "minecraft:set_name",
- "entity": "this",
- "target": "item_name",
- "name": [
- {
- "translate": "item.gm4.combat_expanded.name.second_wind",
- "fallback": "Rejuvenating %s",
- "with": [
- {
- "nbt": "components.'minecraft:custom_data'.gm4_combat_expanded.name",
- "storage": "gm4_combat_expanded:temp",
- "interpret": true
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/shielded.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/shielded.json
deleted file mode 100644
index ee72ebaeac..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/shielded.json
+++ /dev/null
@@ -1,206 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:armor/identification/base",
- "functions": [
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{modifier:11,level:'armor'}}"
- }
- ]
- }
- ],
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- ""
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.safe",
- "fallback": "When Not Under Attack:",
- "color": "gray",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "potion.withAmplifier",
- "with": [
- {
- "translate": "effect.minecraft.absorption"
- },
- {
- "translate": "potion.potency.0"
- }
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$armor"
- },
- "score": "gm4_ce_data"
- },
- "range": 1
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "potion.withAmplifier",
- "with": [
- {
- "translate": "effect.minecraft.absorption"
- },
- {
- "translate": "potion.potency.1"
- }
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$armor"
- },
- "score": "gm4_ce_data"
- },
- "range": 2
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "potion.withAmplifier",
- "with": [
- {
- "translate": "effect.minecraft.absorption"
- },
- {
- "translate": "potion.potency.2"
- }
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$armor"
- },
- "score": "gm4_ce_data"
- },
- "range": 3
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- ""
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.unsafe",
- "fallback": "When Under Attack:",
- "color": "gray",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "item.gm4.combat_expanded.lore.shielded",
- "fallback": "Lose %s",
- "with": [
- {
- "translate": "effect.minecraft.absorption"
- }
- ],
- "color": "red",
- "italic": false
- }
- ]
- ]
- },
- {
- "function": "minecraft:set_name",
- "entity": "this",
- "target": "item_name",
- "name": [
- {
- "translate": "item.gm4.combat_expanded.name.shielded",
- "fallback": "Shielded %s",
- "with": [
- {
- "nbt": "components.'minecraft:custom_data'.gm4_combat_expanded.name",
- "storage": "gm4_combat_expanded:temp",
- "interpret": true
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/sneak.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/sneak.json
deleted file mode 100644
index 2d57c4cead..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/sneak.json
+++ /dev/null
@@ -1,282 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:armor/identification/base",
- "functions": [
- {
- "function": "minecraft:set_attributes",
- "replace": false,
- "modifiers": [
- {
- "attribute": "minecraft:attack_speed",
- "id": "gm4_combat_expanded:dynamic",
- "amount": 0,
- "operation": "add_multiplied_base",
- "slot": "chest"
- },
- {
- "attribute": "minecraft:movement_speed",
- "id": "gm4_combat_expanded:dynamic_2",
- "amount": 0,
- "operation": "add_multiplied_base",
- "slot": "chest"
- }
- ]
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{modifier:12,active:0,stop_time:0,level:'armor',level2:'speed'}}"
- }
- ]
- }
- ],
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- ""
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.safe",
- "fallback": "When Not Under Attack:",
- "color": "gray",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.sneak",
- "fallback": "If Sneaking:",
- "color": "dark_gray",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "potion.withAmplifier",
- "with": [
- {
- "translate": "effect.minecraft.invisibility"
- },
- {
- "translate": "potion.potency.0"
- }
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.sneak_2",
- "fallback": "Stop Sneaking:",
- "color": "dark_gray",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "potion.withDuration",
- "with": [
- {
- "translate": "attribute.modifier.plus.1",
- "with": [
- {
- "text": "25"
- },
- {
- "translate": "attribute.name.attack_speed"
- }
- ]
- },
- "0:04"
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$armor"
- },
- "score": "gm4_ce_data"
- },
- "range": 1
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "potion.withDuration",
- "with": [
- {
- "translate": "attribute.modifier.plus.1",
- "with": [
- {
- "text": "50"
- },
- {
- "translate": "attribute.name.attack_speed"
- }
- ]
- },
- "0:04"
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$armor"
- },
- "score": "gm4_ce_data"
- },
- "range": 2
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "potion.withDuration",
- "with": [
- {
- "translate": "attribute.modifier.plus.1",
- "with": [
- {
- "text": "75"
- },
- {
- "translate": "attribute.name.attack_speed"
- }
- ]
- },
- "0:04"
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$armor"
- },
- "score": "gm4_ce_data"
- },
- "range": 3
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "potion.withDuration",
- "with": [
- {
- "translate": "attribute.modifier.plus.1",
- "with": [
- {
- "score": {
- "name": "$speed",
- "objective": "gm4_ce_data"
- }
- },
- {
- "translate": "attribute.name.movement_speed"
- }
- ]
- },
- "0:04"
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ]
- },
- {
- "function": "minecraft:set_name",
- "entity": "this",
- "target": "item_name",
- "name": [
- {
- "translate": "item.gm4.combat_expanded.name.sneak",
- "fallback": "Sly %s",
- "with": [
- {
- "nbt": "components.'minecraft:custom_data'.gm4_combat_expanded.name",
- "storage": "gm4_combat_expanded:temp",
- "interpret": true
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/soothe.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/soothe.json
deleted file mode 100644
index 229d9c6373..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/soothe.json
+++ /dev/null
@@ -1,176 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:armor/identification/base",
- "functions": [
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{modifier:43,active:0,level:'armor',level2:'speed'}}"
- }
- ]
- }
- ],
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- ""
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.low_hp",
- "fallback": "When Low on Health:",
- "color": "gray",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "potion.withAmplifier",
- "with": [
- {
- "translate": "item.gm4.combat_expanded.lore.soothe",
- "fallback": "Heal Pulse"
- },
- {
- "translate": "potion.potency.0"
- }
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$armor"
- },
- "score": "gm4_ce_data"
- },
- "range": 1
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "potion.withAmplifier",
- "with": [
- {
- "translate": "item.gm4.combat_expanded.lore.soothe",
- "fallback": "Heal Pulse"
- },
- {
- "translate": "potion.potency.1"
- }
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$armor"
- },
- "score": "gm4_ce_data"
- },
- "range": 2
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "potion.withAmplifier",
- "with": [
- {
- "translate": "item.gm4.combat_expanded.lore.soothe",
- "fallback": "Heal Pulse"
- },
- {
- "translate": "potion.potency.2"
- }
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$armor"
- },
- "score": "gm4_ce_data"
- },
- "range": 3
- }
- ]
- },
- {
- "function": "minecraft:set_name",
- "entity": "this",
- "target": "item_name",
- "name": [
- {
- "translate": "item.gm4.combat_expanded.name.soothe",
- "fallback": "Soothing %s",
- "with": [
- {
- "nbt": "components.'minecraft:custom_data'.gm4_combat_expanded.name",
- "storage": "gm4_combat_expanded:temp",
- "interpret": true
- }
- ]
- }
- ]
- },
- {
- "function": "minecraft:set_components",
- "components": {
- "minecraft:rarity": "uncommon"
- }
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/spark.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/spark.json
deleted file mode 100644
index 48b2bc7cec..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/spark.json
+++ /dev/null
@@ -1,119 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:armor/identification/base",
- "functions": [
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{modifier:'spark'}}"
- }
- ]
- }
- ],
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- ""
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.unsafe",
- "fallback": "When Under Attack:",
- "color": "gray",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "attribute.gm4.combat_expanded.toxic",
- "fallback": "%s %s",
- "with": [
- {
- "translate": "potion.withDuration",
- "with": [
- {
- "translate": "item.gm4.combat_expanded.lore.lightning",
- "fallback": "Charge"
- },
- "0:08"
- ]
- },
- {
- "translate": "enchantment.minecraft.thorns"
- }
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "item.gm4.combat_expanded.lore.lightning_description_2",
- "fallback": "Charge effect stacks when re-applied",
- "color": "dark_gray",
- "italic": false
- }
- ]
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "item.gm4.combat_expanded.lore.lightning_description",
- "fallback": "Apply 7 stacks to strike with Lightning",
- "color": "dark_gray",
- "italic": false
- }
- ]
- ]
- },
- {
- "function": "minecraft:set_name",
- "entity": "this",
- "target": "item_name",
- "name": [
- {
- "translate": "item.gm4.combat_expanded.name.spark",
- "fallback": "Sparking %s",
- "with": [
- {
- "nbt": "components.'minecraft:custom_data'.gm4_combat_expanded.name",
- "storage": "gm4_combat_expanded:temp",
- "interpret": true
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/sustain.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/sustain.json
deleted file mode 100644
index 1dcbac3156..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/sustain.json
+++ /dev/null
@@ -1,74 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:armor/identification/base",
- "functions": [
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{modifier:45}}"
- }
- ]
- }
- ],
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- ""
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.low_hp",
- "fallback": "When Low on Health:",
- "color": "gray",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "item.gm4.combat_expanded.lore.sustain",
- "fallback": "Quicker Regeneration",
- "color": "blue",
- "italic": false
- }
- ]
- ]
- },
- {
- "function": "minecraft:set_name",
- "entity": "this",
- "target": "item_name",
- "name": [
- {
- "translate": "item.gm4.combat_expanded.name.sustain",
- "fallback": "Sustaining %s",
- "with": [
- {
- "nbt": "components.'minecraft:custom_data'.gm4_combat_expanded.name",
- "storage": "gm4_combat_expanded:temp",
- "interpret": true
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/sword_ring.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/sword_ring.json
deleted file mode 100644
index c905752512..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/sword_ring.json
+++ /dev/null
@@ -1,287 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:armor/identification/base",
- "functions": [
- {
- "function": "minecraft:set_attributes",
- "replace": false,
- "modifiers": [
- {
- "attribute": "minecraft:attack_speed",
- "id": "gm4_combat_expanded:sword_ring_attack_speed",
- "amount": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$atkspeed-"
- },
- "score": "gm4_ce_data",
- "scale": 0.01
- },
- "operation": "add_multiplied_base",
- "slot": "chest"
- }
- ]
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{modifier:'sword_ring'}}"
- }
- ]
- }
- ],
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- ""
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.equip",
- "fallback": "When Equipped:",
- "color": "gray",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "item.gm4.combat_expanded.lore.sword_ring",
- "fallback": "Floating Sword",
- "color": "blue",
- "italic": false
- }
- ]
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "item.gm4.combat_expanded.lore.sword_ring_description_4",
- "fallback": "A sword rotates around you at attack range",
- "color": "dark_gray",
- "italic": false
- }
- ]
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "item.gm4.combat_expanded.lore.sword_ring_description",
- "fallback": "Sword deals %s Damage, sneak to spin faster",
- "with": [
- {
- "text": "2"
- }
- ],
- "color": "dark_gray",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$material"
- },
- "score": "gm4_ce_data"
- },
- "range": 1
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "item.gm4.combat_expanded.lore.sword_ring_description",
- "fallback": "Sword deals %s Damage, sneak to spin faster",
- "with": [
- {
- "text": "3"
- }
- ],
- "color": "dark_gray",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$material"
- },
- "score": "gm4_ce_data"
- },
- "range": 2
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "item.gm4.combat_expanded.lore.sword_ring_description",
- "fallback": "Sword deals %s Damage, sneak to spin faster",
- "with": [
- {
- "text": "4"
- }
- ],
- "color": "dark_gray",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$material"
- },
- "score": "gm4_ce_data"
- },
- "range": {
- "min": 3,
- "max": 4
- }
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "item.gm4.combat_expanded.lore.sword_ring_description",
- "fallback": "Sword deals %s Damage, sneak to spin faster",
- "with": [
- {
- "text": "5"
- }
- ],
- "color": "dark_gray",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$material"
- },
- "score": "gm4_ce_data"
- },
- "range": {
- "min": 5
- }
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "item.gm4.combat_expanded.lore.sword_ring_description_2",
- "fallback": "Damage applies effects from mainhand",
- "color": "dark_gray",
- "italic": false
- }
- ]
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "item.gm4.combat_expanded.lore.sword_ring_description_3",
- "fallback": "Dealing damage reduces armor durability",
- "color": "dark_gray",
- "italic": false
- }
- ]
- ]
- },
- {
- "function": "minecraft:set_name",
- "entity": "this",
- "target": "item_name",
- "name": [
- {
- "translate": "item.gm4.combat_expanded.name.sword_ring",
- "fallback": "Psychic %s",
- "with": [
- {
- "nbt": "components.'minecraft:custom_data'.gm4_combat_expanded.name",
- "storage": "gm4_combat_expanded:temp",
- "interpret": true
- }
- ]
- }
- ]
- },
- {
- "function": "minecraft:set_components",
- "components": {
- "minecraft:rarity": "uncommon"
- }
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/tiny.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/tiny.json
deleted file mode 100644
index ffae75ae85..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/tiny.json
+++ /dev/null
@@ -1,357 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:armor/identification/base",
- "functions": [
- {
- "function": "minecraft:set_attributes",
- "replace": false,
- "modifiers": [
- {
- "attribute": "minecraft:scale",
- "id": "gm4_combat_expanded:permanent",
- "amount": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage"
- },
- "score": "gm4_ce_data",
- "scale": -0.006
- },
- "operation": "add_multiplied_base",
- "slot": "chest"
- },
- {
- "attribute": "minecraft:step_height",
- "id": "gm4_combat_expanded:permanent_2",
- "amount": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage"
- },
- "score": "gm4_ce_data",
- "scale": -0.002
- },
- "operation": "add_value",
- "slot": "chest"
- },
- {
- "attribute": "minecraft:block_interaction_range",
- "id": "gm4_combat_expanded:permanent_3",
- "amount": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage"
- },
- "score": "gm4_ce_data",
- "scale": -0.02
- },
- "operation": "add_value",
- "slot": "chest"
- },
- {
- "attribute": "minecraft:entity_interaction_range",
- "id": "gm4_combat_expanded:permanent_4",
- "amount": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage"
- },
- "score": "gm4_ce_data",
- "scale": -0.01
- },
- "operation": "add_value",
- "slot": "chest"
- },
- {
- "attribute": "minecraft:attack_knockback",
- "id": "gm4_combat_expanded:permanent_5",
- "amount": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage"
- },
- "score": "gm4_ce_data",
- "scale": -0.012
- },
- "operation": "add_multiplied_base",
- "slot": "chest"
- },
- {
- "attribute": "minecraft:fall_damage_multiplier",
- "id": "gm4_combat_expanded:permanent_6",
- "amount": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage"
- },
- "score": "gm4_ce_data",
- "scale": 0.012
- },
- "operation": "add_multiplied_base",
- "slot": "chest"
- },
- {
- "attribute": "minecraft:gravity",
- "id": "gm4_combat_expanded:permanent_7",
- "amount": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage"
- },
- "score": "gm4_ce_data",
- "scale": -0.006
- },
- "operation": "add_multiplied_base",
- "slot": "chest"
- },
- {
- "attribute": "minecraft:jump_strength",
- "id": "gm4_combat_expanded:permanent_8",
- "amount": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage"
- },
- "score": "gm4_ce_data",
- "scale": -0.006
- },
- "operation": "add_multiplied_base",
- "slot": "chest"
- },
- {
- "attribute": "minecraft:safe_fall_distance",
- "id": "gm4_combat_expanded:permanent_9",
- "amount": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage"
- },
- "score": "gm4_ce_data",
- "scale": -0.006
- },
- "operation": "add_multiplied_base",
- "slot": "chest"
- }
- ]
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{modifier:'tiny'}}"
- }
- ]
- }
- ],
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- ""
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.equip",
- "fallback": "When Equipped:",
- "color": "gray",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "potion.withAmplifier",
- "with": [
- {
- "translate": "item.gm4.combat_expanded.lore.tiny",
- "fallback": "Minituarize"
- },
- {
- "translate": "potion.potency.0"
- }
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage"
- },
- "score": "gm4_ce_data"
- },
- "range": 5
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "potion.withAmplifier",
- "with": [
- {
- "translate": "item.gm4.combat_expanded.lore.tiny",
- "fallback": "Minituarize"
- },
- {
- "translate": "potion.potency.1"
- }
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage"
- },
- "score": "gm4_ce_data"
- },
- "range": 10
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "potion.withAmplifier",
- "with": [
- {
- "translate": "item.gm4.combat_expanded.lore.tiny",
- "fallback": "Minituarize"
- },
- {
- "translate": "potion.potency.2"
- }
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage"
- },
- "score": "gm4_ce_data"
- },
- "range": 15
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "potion.withAmplifier",
- "with": [
- {
- "translate": "item.gm4.combat_expanded.lore.tiny",
- "fallback": "Minituarize"
- },
- {
- "translate": "potion.potency.3"
- }
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage"
- },
- "score": "gm4_ce_data"
- },
- "range": 20
- }
- ]
- },
- {
- "function": "minecraft:set_name",
- "entity": "this",
- "name": [
- {
- "translate": "item.gm4.combat_expanded.name.tiny",
- "fallback": "Shrinking %s",
- "with": [
- {
- "nbt": "components.'minecraft:custom_data'.gm4_combat_expanded.name",
- "storage": "gm4_combat_expanded:temp",
- "interpret": true
- }
- ],
- "italic": false,
- "color": "yellow"
- }
- ]
- },
- {
- "function": "minecraft:set_components",
- "components": {
- "minecraft:rarity": "uncommon"
- }
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/totem.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/totem.json
deleted file mode 100644
index 4c801af964..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/totem.json
+++ /dev/null
@@ -1,201 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:armor/identification/base",
- "functions": [
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{modifier:34,level:'level'}}"
- }
- ]
- }
- ],
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- ""
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.killing",
- "fallback": "When Killing:",
- "color": "gray",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "item.gm4.combat_expanded.lore.totem",
- "fallback": "%s Totem",
- "with": [
- {
- "translate": "effect.minecraft.regeneration"
- }
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage"
- },
- "score": "gm4_ce_data"
- },
- "range": 5
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "item.gm4.combat_expanded.lore.totem",
- "fallback": "%s Totem",
- "with": [
- {
- "translate": "effect.minecraft.resistance"
- }
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage"
- },
- "score": "gm4_ce_data"
- },
- "range": 10
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "item.gm4.combat_expanded.lore.totem",
- "fallback": "%s Totem",
- "with": [
- {
- "translate": "effect.minecraft.speed"
- }
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage"
- },
- "score": "gm4_ce_data"
- },
- "range": 15
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "item.gm4.combat_expanded.lore.totem",
- "fallback": "%s Totem",
- "with": [
- {
- "translate": "effect.minecraft.strength"
- }
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage"
- },
- "score": "gm4_ce_data"
- },
- "range": 20
- }
- ]
- },
- {
- "function": "minecraft:set_name",
- "entity": "this",
- "target": "item_name",
- "name": [
- {
- "translate": "item.gm4.combat_expanded.name.totem",
- "fallback": "Totemic %s",
- "with": [
- {
- "nbt": "components.'minecraft:custom_data'.gm4_combat_expanded.name",
- "storage": "gm4_combat_expanded:temp",
- "interpret": true
- }
- ]
- }
- ]
- },
- {
- "function": "minecraft:set_components",
- "components": {
- "minecraft:rarity": "uncommon"
- }
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/toxic.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/toxic.json
deleted file mode 100644
index b1c03a5410..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/toxic.json
+++ /dev/null
@@ -1,207 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:armor/identification/base",
- "functions": [
- {
- "function": "minecraft:set_attributes",
- "replace": false,
- "modifiers": [
- {
- "attribute": "minecraft:armor",
- "id": "gm4_combat_expanded:permanent",
- "amount": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$armor-"
- },
- "score": "gm4_ce_data",
- "scale": 1
- },
- "operation": "add_value",
- "slot": "chest"
- }
- ]
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{modifier:'toxic',level:'armor'}}"
- }
- ]
- }
- ],
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- ""
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.unsafe",
- "fallback": "When Under Attack:",
- "color": "gray",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "potion.withDuration",
- "with": [
- [
- {
- "translate": "attribute.gm4.combat_expanded.toxic",
- "fallback": "%s %s",
- "with": [
- {
- "translate": "effect.minecraft.poison"
- },
- {
- "translate": "enchantment.minecraft.thorns"
- }
- ]
- }
- ],
- "0:06"
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$armor"
- },
- "score": "gm4_ce_data"
- },
- "range": 1
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "potion.withDuration",
- "with": [
- [
- {
- "translate": "attribute.gm4.combat_expanded.toxic",
- "fallback": "%s %s",
- "with": [
- {
- "translate": "effect.minecraft.weakness"
- },
- {
- "translate": "enchantment.minecraft.thorns"
- }
- ]
- }
- ],
- "0:10"
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$armor"
- },
- "score": "gm4_ce_data"
- },
- "range": 2
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "attribute.gm4.combat_expanded.toxic",
- "fallback": "%s %s",
- "with": [
- {
- "translate": "effect.minecraft.instant_health"
- },
- {
- "translate": "enchantment.minecraft.thorns"
- }
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$armor"
- },
- "score": "gm4_ce_data"
- },
- "range": 3
- }
- ]
- },
- {
- "function": "minecraft:set_name",
- "entity": "this",
- "target": "item_name",
- "name": [
- {
- "translate": "item.gm4.combat_expanded.name.toxic",
- "fallback": "Coated %s",
- "with": [
- {
- "nbt": "components.'minecraft:custom_data'.gm4_combat_expanded.name",
- "storage": "gm4_combat_expanded:temp",
- "interpret": true
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/unburden.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/unburden.json
deleted file mode 100644
index c6175b7adb..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/unburden.json
+++ /dev/null
@@ -1,453 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:armor/identification/base",
- "functions": [
- {
- "function": "minecraft:set_attributes",
- "replace": false,
- "modifiers": [
- {
- "attribute": "minecraft:armor",
- "id": "gm4_combat_expanded:permanent",
- "amount": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$armor-"
- },
- "score": "gm4_ce_data"
- },
- "operation": "add_value",
- "slot": "chest"
- },
- {
- "attribute": "minecraft:attack_speed",
- "id": "gm4_combat_expanded:dynamic",
- "amount": 0,
- "operation": "add_multiplied_base",
- "slot": "chest"
- },
- {
- "attribute": "minecraft:movement_speed",
- "id": "gm4_combat_expanded:dynamic_2",
- "amount": 0,
- "operation": "add_multiplied_base",
- "slot": "chest"
- }
- ]
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{modifier:78,stored_armor:-1,level:'damage'}}"
- }
- ]
- }
- ],
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- ""
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.equip",
- "fallback": "When Equipped:",
- "color": "gray",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "item.gm4.combat_expanded.lore.unburden",
- "fallback": "%s per missing %s",
- "with": [
- {
- "translate": "attribute.modifier.plus.1",
- "with": [
- {
- "text": "1.5"
- },
- {
- "translate": "attribute.name.attack_speed"
- }
- ]
- },
- {
- "translate": "attribute.name.armor"
- }
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage"
- },
- "score": "gm4_ce_data"
- },
- "range": 5
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "item.gm4.combat_expanded.lore.unburden",
- "fallback": "%s per missing %s",
- "with": [
- {
- "translate": "attribute.modifier.plus.1",
- "with": [
- {
- "text": "1.5"
- },
- {
- "translate": "attribute.name.movement_speed"
- }
- ]
- },
- {
- "translate": "attribute.name.armor"
- }
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage"
- },
- "score": "gm4_ce_data"
- },
- "range": 5
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "item.gm4.combat_expanded.lore.unburden",
- "fallback": "%s per missing %s",
- "with": [
- {
- "translate": "attribute.modifier.plus.1",
- "with": [
- {
- "text": "1.75"
- },
- {
- "translate": "attribute.name.attack_speed"
- }
- ]
- },
- {
- "translate": "attribute.name.armor"
- }
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage"
- },
- "score": "gm4_ce_data"
- },
- "range": 10
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "item.gm4.combat_expanded.lore.unburden",
- "fallback": "%s per missing %s",
- "with": [
- {
- "translate": "attribute.modifier.plus.1",
- "with": [
- {
- "text": "1.75"
- },
- {
- "translate": "attribute.name.movement_speed"
- }
- ]
- },
- {
- "translate": "attribute.name.armor"
- }
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage"
- },
- "score": "gm4_ce_data"
- },
- "range": 10
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "item.gm4.combat_expanded.lore.unburden",
- "fallback": "%s per missing %s",
- "with": [
- {
- "translate": "attribute.modifier.plus.1",
- "with": [
- {
- "text": "2"
- },
- {
- "translate": "attribute.name.attack_speed"
- }
- ]
- },
- {
- "translate": "attribute.name.armor"
- }
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage"
- },
- "score": "gm4_ce_data"
- },
- "range": 15
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "item.gm4.combat_expanded.lore.unburden",
- "fallback": "%s per missing %s",
- "with": [
- {
- "translate": "attribute.modifier.plus.1",
- "with": [
- {
- "text": "2"
- },
- {
- "translate": "attribute.name.movement_speed"
- }
- ]
- },
- {
- "translate": "attribute.name.armor"
- }
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage"
- },
- "score": "gm4_ce_data"
- },
- "range": 15
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "item.gm4.combat_expanded.lore.unburden",
- "fallback": "%s per missing %s",
- "with": [
- {
- "translate": "attribute.modifier.plus.1",
- "with": [
- {
- "text": "2.25"
- },
- {
- "translate": "attribute.name.attack_speed"
- }
- ]
- },
- {
- "translate": "attribute.name.armor"
- }
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage"
- },
- "score": "gm4_ce_data"
- },
- "range": 20
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "item.gm4.combat_expanded.lore.unburden",
- "fallback": "%s per missing %s",
- "with": [
- {
- "translate": "attribute.modifier.plus.1",
- "with": [
- {
- "text": "2.25"
- },
- {
- "translate": "attribute.name.movement_speed"
- }
- ]
- },
- {
- "translate": "attribute.name.armor"
- }
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage"
- },
- "score": "gm4_ce_data"
- },
- "range": 20
- }
- ]
- },
- {
- "function": "minecraft:set_name",
- "entity": "this",
- "target": "item_name",
- "name": [
- {
- "translate": "item.gm4.combat_expanded.name.unburden",
- "fallback": "Lightweight %s",
- "with": [
- {
- "nbt": "components.'minecraft:custom_data'.gm4_combat_expanded.name",
- "storage": "gm4_combat_expanded:temp",
- "interpret": true
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/vamp.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/vamp.json
deleted file mode 100644
index 664370b933..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/vamp.json
+++ /dev/null
@@ -1,94 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:armor/identification/base",
- "functions": [
- {
- "function": "minecraft:set_attributes",
- "replace": false,
- "modifiers": [
- {
- "attribute": "minecraft:armor",
- "id": "gm4_combat_expanded:permanent",
- "amount": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$armor-"
- },
- "score": "gm4_ce_data"
- },
- "operation": "add_value",
- "slot": "chest"
- }
- ]
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{modifier:32}}"
- }
- ]
- }
- ],
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- ""
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.killing",
- "fallback": "When Killing:",
- "color": "gray",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "item.gm4.combat_expanded.lore.regen",
- "fallback": "Regenerate",
- "color": "blue",
- "italic": false
- }
- ]
- ]
- },
- {
- "function": "minecraft:set_name",
- "entity": "this",
- "target": "item_name",
- "name": [
- {
- "translate": "item.gm4.combat_expanded.name.vamp",
- "fallback": "Vampiric %s",
- "with": [
- {
- "nbt": "components.'minecraft:custom_data'.gm4_combat_expanded.name",
- "storage": "gm4_combat_expanded:temp",
- "interpret": true
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/vorpal.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/vorpal.json
deleted file mode 100644
index 58e0e169b3..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/vorpal.json
+++ /dev/null
@@ -1,93 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:armor/identification/base",
- "functions": [
- {
- "function": "minecraft:set_attributes",
- "replace": false,
- "modifiers": [
- {
- "attribute": "minecraft:knockback_resistance",
- "id": "gm4_combat_expanded:permanent",
- "amount": 0.1,
- "operation": "add_value",
- "slot": "chest"
- }
- ]
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{modifier:'vorpal'}}"
- }
- ]
- }
- ],
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- ""
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.unsafe",
- "fallback": "When Under Attack:",
- "color": "gray",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "item.gm4.combat_expanded.lore.warp",
- "fallback": "Warp",
- "color": "blue",
- "italic": false
- }
- ]
- ]
- },
- {
- "function": "minecraft:set_name",
- "entity": "this",
- "target": "item_name",
- "name": [
- {
- "translate": "item.gm4.combat_expanded.name.vorpal",
- "fallback": "Vorpal %s",
- "with": [
- {
- "nbt": "components.'minecraft:custom_data'.gm4_combat_expanded.name",
- "storage": "gm4_combat_expanded:temp",
- "interpret": true
- }
- ]
- }
- ]
- },
- {
- "function": "minecraft:set_components",
- "components": {
- "minecraft:rarity": "epic"
- }
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/weightless.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/weightless.json
deleted file mode 100644
index 1d85b79f3f..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/weightless.json
+++ /dev/null
@@ -1,223 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:armor/identification/base",
- "functions": [
- {
- "function": "minecraft:set_attributes",
- "replace": false,
- "modifiers": [
- {
- "attribute": "minecraft:gravity",
- "id": "gm4_combat_expanded:permanent",
- "amount": -0.15,
- "operation": "add_multiplied_base",
- "slot": "chest"
- },
- {
- "attribute": "minecraft:fall_damage_multiplier",
- "id": "gm4_combat_expanded:permanent_2",
- "amount": -0.15,
- "operation": "add_multiplied_base",
- "slot": "chest"
- },
- {
- "attribute": "minecraft:jump_strength",
- "id": "gm4_combat_expanded:permanent_3",
- "amount": -0.075,
- "operation": "add_multiplied_base",
- "slot": "chest"
- },
- {
- "attribute": "minecraft:safe_fall_distance",
- "id": "gm4_combat_expanded:permanent_4",
- "amount": -0.075,
- "operation": "add_multiplied_base",
- "slot": "chest"
- }
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$armor"
- },
- "score": "gm4_ce_data"
- },
- "range": 1
- }
- ]
- },
- {
- "function": "minecraft:set_attributes",
- "replace": false,
- "modifiers": [
- {
- "attribute": "minecraft:gravity",
- "id": "gm4_combat_expanded:permanent",
- "amount": -0.2,
- "operation": "add_multiplied_base",
- "slot": "chest"
- },
- {
- "attribute": "minecraft:fall_damage_multiplier",
- "id": "gm4_combat_expanded:permanent_2",
- "amount": -0.2,
- "operation": "add_multiplied_base",
- "slot": "chest"
- },
- {
- "attribute": "minecraft:jump_strength",
- "id": "gm4_combat_expanded:permanent_3",
- "amount": -0.1,
- "operation": "add_multiplied_base",
- "slot": "chest"
- },
- {
- "attribute": "minecraft:safe_fall_distance",
- "id": "gm4_combat_expanded:permanent_4",
- "amount": -0.1,
- "operation": "add_multiplied_base",
- "slot": "chest"
- }
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$armor"
- },
- "score": "gm4_ce_data"
- },
- "range": 2
- }
- ]
- },
- {
- "function": "minecraft:set_attributes",
- "replace": false,
- "modifiers": [
- {
- "attribute": "minecraft:gravity",
- "id": "gm4_combat_expanded:permanent",
- "amount": -0.25,
- "operation": "add_multiplied_base",
- "slot": "chest"
- },
- {
- "attribute": "minecraft:fall_damage_multiplier",
- "id": "gm4_combat_expanded:permanent_2",
- "amount": -0.25,
- "operation": "add_multiplied_base",
- "slot": "chest"
- },
- {
- "attribute": "minecraft:jump_strength",
- "id": "gm4_combat_expanded:permanent_3",
- "amount": -0.125,
- "operation": "add_multiplied_base",
- "slot": "chest"
- },
- {
- "attribute": "minecraft:safe_fall_distance",
- "id": "gm4_combat_expanded:permanent_4",
- "amount": -0.125,
- "operation": "add_multiplied_base",
- "slot": "chest"
- }
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$armor"
- },
- "score": "gm4_ce_data"
- },
- "range": 3
- }
- ]
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{modifier:'weightless'}}"
- }
- ]
- }
- ],
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- ""
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.equip",
- "fallback": "When Equipped:",
- "color": "gray",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "item.gm4.combat_expanded.lore.weightless",
- "fallback": "Reduced %s",
- "with": [
- {
- "translate": "attribute.name.gravity"
- }
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ]
- },
- {
- "function": "minecraft:set_name",
- "entity": "this",
- "target": "item_name",
- "name": [
- {
- "translate": "item.gm4.combat_expanded.name.weightless",
- "fallback": "Weightless %s",
- "with": [
- {
- "nbt": "components.'minecraft:custom_data'.gm4_combat_expanded.name",
- "storage": "gm4_combat_expanded:temp",
- "interpret": true
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/wild_magic.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/wild_magic.json
deleted file mode 100644
index dc7b85a4b5..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/modifier/wild_magic.json
+++ /dev/null
@@ -1,80 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:armor/identification/base",
- "functions": [
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{modifier:'wild_magic'}}"
- }
- ]
- }
- ],
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- ""
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.unsafe",
- "fallback": "When Under Attack:",
- "color": "gray",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "item.gm4.combat_expanded.lore.wild_magic",
- "fallback": "It must do Something",
- "color": "blue",
- "italic": false
- }
- ]
- ]
- },
- {
- "function": "minecraft:set_name",
- "entity": "this",
- "target": "item_name",
- "name": [
- {
- "translate": "item.gm4.combat_expanded.name.wild_magic",
- "fallback": "Wild Magic %s",
- "with": [
- {
- "nbt": "components.'minecraft:custom_data'.gm4_combat_expanded.name",
- "storage": "gm4_combat_expanded:temp",
- "interpret": true
- }
- ]
- }
- ]
- },
- {
- "function": "minecraft:set_components",
- "components": {
- "minecraft:rarity": "epic"
- }
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/random.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/random.json
deleted file mode 100644
index 3de91e2263..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/identification/random.json
+++ /dev/null
@@ -1,2415 +0,0 @@
-{
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:alternatives",
- "children": [
- {
- "type": "minecraft:loot_table",
- "weight": 160,
- "value": "gm4_combat_expanded:armor/identification/modifier/acrobatic",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/burned"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/toxic"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/growth"
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 10,
- "value": "gm4_combat_expanded:armor/identification/modifier/acrobatic",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/snowy"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/deep"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/reef"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/dark"
- },
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "dimension": "minecraft:the_end"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:mushroom_fields"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:deep_dark"
- }
- }
- ]
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 40,
- "value": "gm4_combat_expanded:armor/identification/modifier/acrobatic"
- }
- ]
- },
- {
- "type": "minecraft:alternatives",
- "children": [
- {
- "type": "minecraft:loot_table",
- "weight": 160,
- "value": "gm4_combat_expanded:armor/identification/modifier/archer",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/snowy"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/mountainous"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/burned"
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 10,
- "value": "gm4_combat_expanded:armor/identification/modifier/archer",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/flowering"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/growth"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/dark"
- },
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "dimension": "minecraft:the_end"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:mushroom_fields"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:deep_dark"
- }
- }
- ]
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 40,
- "value": "gm4_combat_expanded:armor/identification/modifier/archer"
- }
- ]
- },
- {
- "type": "minecraft:alternatives",
- "children": [
- {
- "type": "minecraft:loot_table",
- "weight": 160,
- "value": "gm4_combat_expanded:armor/identification/modifier/beacon",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/mountainous"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/burned"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/dark"
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 10,
- "value": "gm4_combat_expanded:armor/identification/modifier/beacon",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/snowy"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/toxic"
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "dimension": "minecraft:the_nether"
- }
- },
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "dimension": "minecraft:the_end"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:mushroom_fields"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:deep_dark"
- }
- }
- ]
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 40,
- "value": "gm4_combat_expanded:armor/identification/modifier/beacon"
- }
- ]
- },
- {
- "type": "minecraft:alternatives",
- "children": [
- {
- "type": "minecraft:loot_table",
- "weight": 160,
- "value": "gm4_combat_expanded:armor/identification/modifier/berserk",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/burned"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/flowering"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/growth"
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 10,
- "value": "gm4_combat_expanded:armor/identification/modifier/berserk",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/snowy"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/mountainous"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/deep"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/reef"
- },
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "dimension": "minecraft:the_end"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:mushroom_fields"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:deep_dark"
- }
- }
- ]
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 40,
- "value": "gm4_combat_expanded:armor/identification/modifier/berserk"
- }
- ]
- },
- {
- "type": "minecraft:alternatives",
- "children": [
- {
- "type": "minecraft:loot_table",
- "weight": 32,
- "value": "gm4_combat_expanded:armor/identification/modifier/big",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/mountainous"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/deep"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/reef"
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "dimension": "minecraft:the_nether"
- }
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 2,
- "value": "gm4_combat_expanded:armor/identification/modifier/big",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/flowering"
- },
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "dimension": "minecraft:the_end"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:mushroom_fields"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:deep_dark"
- }
- }
- ]
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 8,
- "value": "gm4_combat_expanded:armor/identification/modifier/big"
- }
- ]
- },
- {
- "type": "minecraft:alternatives",
- "children": [
- {
- "type": "minecraft:loot_table",
- "weight": 32,
- "value": "gm4_combat_expanded:armor/identification/modifier/canine",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/snowy"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/growth"
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 2,
- "value": "gm4_combat_expanded:armor/identification/modifier/canine",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/deep"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/reef"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/deep"
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "dimension": "minecraft:the_nether"
- }
- },
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "dimension": "minecraft:the_end"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:mushroom_fields"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:deep_dark"
- }
- }
- ]
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 8,
- "value": "gm4_combat_expanded:armor/identification/modifier/canine"
- }
- ]
- },
- {
- "type": "minecraft:alternatives",
- "children": [
- {
- "type": "minecraft:loot_table",
- "weight": 32,
- "value": "gm4_combat_expanded:armor/identification/modifier/reckless",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/burned"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/growth"
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 2,
- "value": "gm4_combat_expanded:armor/identification/modifier/reckless",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/mountainous"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/toxic"
- },
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "dimension": "minecraft:the_end"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:mushroom_fields"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:deep_dark"
- }
- }
- ]
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 8,
- "value": "gm4_combat_expanded:armor/identification/modifier/reckless"
- }
- ]
- },
- {
- "type": "minecraft:alternatives",
- "children": [
- {
- "type": "minecraft:loot_table",
- "weight": 160,
- "value": "gm4_combat_expanded:armor/identification/modifier/convert",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/snowy"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/toxic"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/deep"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/reef"
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 10,
- "value": "gm4_combat_expanded:armor/identification/modifier/convert",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/burned"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/flowering"
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "dimension": "minecraft:the_nether"
- }
- },
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "dimension": "minecraft:the_end"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:mushroom_fields"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:deep_dark"
- }
- }
- ]
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 40,
- "value": "gm4_combat_expanded:armor/identification/modifier/convert"
- }
- ]
- },
- {
- "type": "minecraft:alternatives",
- "children": [
- {
- "type": "minecraft:loot_table",
- "weight": 160,
- "value": "gm4_combat_expanded:armor/identification/modifier/drain",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/burned"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/flowering"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/growth"
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 10,
- "value": "gm4_combat_expanded:armor/identification/modifier/drain",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/snowy"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/mountainous"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/deep"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/reef"
- },
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "dimension": "minecraft:the_end"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:mushroom_fields"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:deep_dark"
- }
- }
- ]
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 40,
- "value": "gm4_combat_expanded:armor/identification/modifier/drain"
- }
- ]
- },
- {
- "type": "minecraft:alternatives",
- "children": [
- {
- "type": "minecraft:loot_table",
- "weight": 160,
- "value": "gm4_combat_expanded:armor/identification/modifier/focus",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/mountainous"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/deep"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/reef"
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "dimension": "minecraft:the_nether"
- }
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 10,
- "value": "gm4_combat_expanded:armor/identification/modifier/focus",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/burned"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/toxic"
- },
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "dimension": "minecraft:the_end"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:mushroom_fields"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:deep_dark"
- }
- }
- ]
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 40,
- "value": "gm4_combat_expanded:armor/identification/modifier/focus"
- }
- ]
- },
- {
- "type": "minecraft:alternatives",
- "children": [
- {
- "type": "minecraft:loot_table",
- "weight": 160,
- "value": "gm4_combat_expanded:armor/identification/modifier/half",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/flowering"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/deep"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/reef"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/growth"
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 10,
- "value": "gm4_combat_expanded:armor/identification/modifier/half",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/snowy"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/mountainous"
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "dimension": "minecraft:the_nether"
- }
- },
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "dimension": "minecraft:the_end"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:mushroom_fields"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:deep_dark"
- }
- }
- ]
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 40,
- "value": "gm4_combat_expanded:armor/identification/modifier/half"
- }
- ]
- },
- {
- "type": "minecraft:alternatives",
- "children": [
- {
- "type": "minecraft:loot_table",
- "weight": 160,
- "value": "gm4_combat_expanded:armor/identification/modifier/horse",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/flowering"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/growth"
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 10,
- "value": "gm4_combat_expanded:armor/identification/modifier/horse",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/burned"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/deep"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/reef"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/dark"
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "dimension": "minecraft:the_nether"
- }
- },
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "dimension": "minecraft:the_end"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:mushroom_fields"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:deep_dark"
- }
- }
- ]
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 40,
- "value": "gm4_combat_expanded:armor/identification/modifier/horse"
- }
- ]
- },
- {
- "type": "minecraft:alternatives",
- "children": [
- {
- "type": "minecraft:loot_table",
- "weight": 160,
- "value": "gm4_combat_expanded:armor/identification/modifier/husk",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/burned"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/toxic"
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 10,
- "value": "gm4_combat_expanded:armor/identification/modifier/husk",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/snowy"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/deep"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/reef"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/dark"
- },
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "dimension": "minecraft:the_end"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:mushroom_fields"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:deep_dark"
- }
- }
- ]
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 40,
- "value": "gm4_combat_expanded:armor/identification/modifier/husk"
- }
- ]
- },
- {
- "type": "minecraft:alternatives",
- "children": [
- {
- "type": "minecraft:loot_table",
- "weight": 32,
- "value": "gm4_combat_expanded:armor/identification/modifier/immune",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/snowy"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/toxic"
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 2,
- "value": "gm4_combat_expanded:armor/identification/modifier/immune",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/mountainous"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/burned"
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "dimension": "minecraft:the_nether"
- }
- },
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "dimension": "minecraft:the_end"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:mushroom_fields"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:deep_dark"
- }
- }
- ]
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 8,
- "value": "gm4_combat_expanded:armor/identification/modifier/immune"
- }
- ]
- },
- {
- "type": "minecraft:alternatives",
- "children": [
- {
- "type": "minecraft:loot_table",
- "weight": 400,
- "value": "gm4_combat_expanded:armor/identification/modifier/link",
- "conditions": [
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:deep_dark"
- }
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 0,
- "value": "gm4_combat_expanded:armor/identification/modifier/link"
- }
- ]
- },
- {
- "type": "minecraft:alternatives",
- "children": [
- {
- "type": "minecraft:loot_table",
- "weight": 160,
- "value": "gm4_combat_expanded:armor/identification/modifier/poised",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/flowering"
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "dimension": "minecraft:the_nether"
- }
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 10,
- "value": "gm4_combat_expanded:armor/identification/modifier/poised",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/burned"
- },
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "dimension": "minecraft:the_end"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:mushroom_fields"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:deep_dark"
- }
- }
- ]
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 40,
- "value": "gm4_combat_expanded:armor/identification/modifier/poised"
- }
- ]
- },
- {
- "type": "minecraft:alternatives",
- "children": [
- {
- "type": "minecraft:loot_table",
- "weight": 32,
- "value": "gm4_combat_expanded:armor/identification/modifier/reactive",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/mountainous"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/dark"
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 2,
- "value": "gm4_combat_expanded:armor/identification/modifier/reactive",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/snowy"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/toxic"
- },
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "dimension": "minecraft:the_end"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:mushroom_fields"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:deep_dark"
- }
- }
- ]
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 8,
- "value": "gm4_combat_expanded:armor/identification/modifier/reactive"
- }
- ]
- },
- {
- "type": "minecraft:alternatives",
- "children": [
- {
- "type": "minecraft:loot_table",
- "weight": 160,
- "value": "gm4_combat_expanded:armor/identification/modifier/scout",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/snowy"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/burned"
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 10,
- "value": "gm4_combat_expanded:armor/identification/modifier/scout",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/mountainous"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/toxic"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/dark"
- },
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "dimension": "minecraft:the_end"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:mushroom_fields"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:deep_dark"
- }
- }
- ]
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 40,
- "value": "gm4_combat_expanded:armor/identification/modifier/scout"
- }
- ]
- },
- {
- "type": "minecraft:alternatives",
- "children": [
- {
- "type": "minecraft:loot_table",
- "weight": 160,
- "value": "gm4_combat_expanded:armor/identification/modifier/second_wind",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/snowy"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/dark"
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "dimension": "minecraft:the_nether"
- }
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 10,
- "value": "gm4_combat_expanded:armor/identification/modifier/second_wind",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/burned"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/toxic"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/growth"
- },
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "dimension": "minecraft:the_end"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:mushroom_fields"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:deep_dark"
- }
- }
- ]
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 40,
- "value": "gm4_combat_expanded:armor/identification/modifier/second_wind"
- }
- ]
- },
- {
- "type": "minecraft:alternatives",
- "children": [
- {
- "type": "minecraft:loot_table",
- "weight": 160,
- "value": "gm4_combat_expanded:armor/identification/modifier/shielded",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/mountainous"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/deep"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/reef"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/dark"
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 10,
- "value": "gm4_combat_expanded:armor/identification/modifier/shielded",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/flowering"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/toxic"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/growth"
- },
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "dimension": "minecraft:the_end"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:mushroom_fields"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:deep_dark"
- }
- }
- ]
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 40,
- "value": "gm4_combat_expanded:armor/identification/modifier/shielded"
- }
- ]
- },
- {
- "type": "minecraft:alternatives",
- "children": [
- {
- "type": "minecraft:loot_table",
- "weight": 32,
- "value": "gm4_combat_expanded:armor/identification/modifier/soothe",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/flowering"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/dark"
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "dimension": "minecraft:the_nether"
- }
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 2,
- "value": "gm4_combat_expanded:armor/identification/modifier/soothe",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/burned"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/toxic"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/growth"
- },
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "dimension": "minecraft:the_end"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:mushroom_fields"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:deep_dark"
- }
- }
- ]
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 8,
- "value": "gm4_combat_expanded:armor/identification/modifier/soothe"
- }
- ]
- },
- {
- "type": "minecraft:alternatives",
- "children": [
- {
- "type": "minecraft:loot_table",
- "weight": 160,
- "value": "gm4_combat_expanded:armor/identification/modifier/spark",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/mountainous"
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 10,
- "value": "gm4_combat_expanded:armor/identification/modifier/spark",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/burned"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/toxic"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/growth"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/dark"
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "dimension": "minecraft:the_nether"
- }
- },
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "dimension": "minecraft:the_end"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:mushroom_fields"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:deep_dark"
- }
- }
- ]
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 40,
- "value": "gm4_combat_expanded:armor/identification/modifier/spark"
- }
- ]
- },
- {
- "type": "minecraft:alternatives",
- "children": [
- {
- "type": "minecraft:loot_table",
- "weight": 160,
- "value": "gm4_combat_expanded:armor/identification/modifier/sustain",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/snowy"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/growth"
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 10,
- "value": "gm4_combat_expanded:armor/identification/modifier/sustain",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/burned"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/toxic"
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "dimension": "minecraft:the_nether"
- }
- },
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "dimension": "minecraft:the_end"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:mushroom_fields"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:deep_dark"
- }
- }
- ]
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 40,
- "value": "gm4_combat_expanded:armor/identification/modifier/sustain"
- }
- ]
- },
- {
- "type": "minecraft:alternatives",
- "children": [
- {
- "type": "minecraft:loot_table",
- "weight": 32,
- "value": "gm4_combat_expanded:armor/identification/modifier/sword_ring",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/burned"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/deep"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/reef"
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "dimension": "minecraft:the_nether"
- }
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 2,
- "value": "gm4_combat_expanded:armor/identification/modifier/sword_ring",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/growth"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/dark"
- },
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "dimension": "minecraft:the_end"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:mushroom_fields"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:deep_dark"
- }
- }
- ]
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 8,
- "value": "gm4_combat_expanded:armor/identification/modifier/sword_ring"
- }
- ]
- },
- {
- "type": "minecraft:alternatives",
- "children": [
- {
- "type": "minecraft:loot_table",
- "weight": 32,
- "value": "gm4_combat_expanded:armor/identification/modifier/tiny",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/flowering"
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 2,
- "value": "gm4_combat_expanded:armor/identification/modifier/tiny",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/mountainous"
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "dimension": "minecraft:the_nether"
- }
- },
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "dimension": "minecraft:the_end"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:mushroom_fields"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:deep_dark"
- }
- }
- ]
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 8,
- "value": "gm4_combat_expanded:armor/identification/modifier/tiny"
- }
- ]
- },
- {
- "type": "minecraft:alternatives",
- "children": [
- {
- "type": "minecraft:loot_table",
- "weight": 32,
- "value": "gm4_combat_expanded:armor/identification/modifier/totem",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/mountainous"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/toxic"
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 2,
- "value": "gm4_combat_expanded:armor/identification/modifier/totem",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/snowy"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/flowering"
- },
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "dimension": "minecraft:the_end"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:mushroom_fields"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:deep_dark"
- }
- }
- ]
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 8,
- "value": "gm4_combat_expanded:armor/identification/modifier/totem"
- }
- ]
- },
- {
- "type": "minecraft:alternatives",
- "children": [
- {
- "type": "minecraft:loot_table",
- "weight": 160,
- "value": "gm4_combat_expanded:armor/identification/modifier/toxic",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/flowering"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/toxic"
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 10,
- "value": "gm4_combat_expanded:armor/identification/modifier/toxic",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/snowy"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/mountainous"
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "dimension": "minecraft:the_nether"
- }
- },
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "dimension": "minecraft:the_end"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:mushroom_fields"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:deep_dark"
- }
- }
- ]
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 40,
- "value": "gm4_combat_expanded:armor/identification/modifier/toxic"
- }
- ]
- },
- {
- "type": "minecraft:alternatives",
- "children": [
- {
- "type": "minecraft:loot_table",
- "weight": 160,
- "value": "gm4_combat_expanded:armor/identification/modifier/unburden",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/flowering"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/growth"
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 10,
- "value": "gm4_combat_expanded:armor/identification/modifier/unburden",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/mountainous"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/burned"
- },
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "dimension": "minecraft:the_end"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:mushroom_fields"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:deep_dark"
- }
- }
- ]
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 40,
- "value": "gm4_combat_expanded:armor/identification/modifier/unburden"
- }
- ]
- },
- {
- "type": "minecraft:alternatives",
- "children": [
- {
- "type": "minecraft:loot_table",
- "weight": 160,
- "value": "gm4_combat_expanded:armor/identification/modifier/vamp",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/toxic"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/deep"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/reef"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/dark"
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 10,
- "value": "gm4_combat_expanded:armor/identification/modifier/vamp",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/burned"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/flowering"
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "dimension": "minecraft:the_nether"
- }
- },
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "dimension": "minecraft:the_end"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:mushroom_fields"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:deep_dark"
- }
- }
- ]
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 40,
- "value": "gm4_combat_expanded:armor/identification/modifier/vamp"
- }
- ]
- },
- {
- "type": "minecraft:alternatives",
- "children": [
- {
- "type": "minecraft:loot_table",
- "weight": 400,
- "value": "gm4_combat_expanded:armor/identification/modifier/vorpal",
- "conditions": [
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "dimension": "minecraft:the_end"
- }
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 0,
- "value": "gm4_combat_expanded:armor/identification/modifier/vorpal"
- }
- ]
- },
- {
- "type": "minecraft:alternatives",
- "children": [
- {
- "type": "minecraft:loot_table",
- "weight": 160,
- "value": "gm4_combat_expanded:armor/identification/modifier/weightless",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/mountainous"
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "dimension": "minecraft:the_nether"
- }
- },
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 10,
- "value": "gm4_combat_expanded:armor/identification/modifier/weightless",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/burned"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/toxic"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/dark"
- },
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "dimension": "minecraft:the_end"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:mushroom_fields"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:deep_dark"
- }
- }
- ]
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 40,
- "value": "gm4_combat_expanded:armor/identification/modifier/weightless"
- }
- ]
- },
- {
- "type": "minecraft:alternatives",
- "children": [
- {
- "type": "minecraft:loot_table",
- "weight": 400,
- "value": "gm4_combat_expanded:armor/identification/modifier/wild_magic",
- "conditions": [
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:mushroom_fields"
- }
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 0,
- "value": "gm4_combat_expanded:armor/identification/modifier/wild_magic"
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/material/chainmail/chest.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/material/chainmail/chest.json
deleted file mode 100644
index 65d85dd76d..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/material/chainmail/chest.json
+++ /dev/null
@@ -1,112 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:chainmail_chestplate",
- "functions": [
- {
- "function": "minecraft:set_attributes",
- "replace": false,
- "modifiers": [
- {
- "attribute": "minecraft:armor",
- "id": "minecraft:armor.chestplate",
- "amount": 5,
- "operation": "add_value",
- "slot": "chest"
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.unidentified",
- "fallback": "%s Unidentified Item - Drop to Identify",
- "with": [
- {
- "text": "âš ",
- "color": "red",
- "italic": false
- }
- ],
- "color": "dark_red",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{durability:240,identified:0,armor_clamp:-5,slot:1,material:2,name:'{\"italic\":false,\"translate\":\"item.minecraft.chainmail_chestplate\"}'}}"
- },
- {
- "function": "minecraft:enchant_randomly",
- "options": [
- "minecraft:projectile_protection"
- ],
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/growth"
- },
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.008
- }
- },
- "range": 1
- }
- ]
- },
- {
- "function": "minecraft:enchant_with_levels",
- "levels": {
- "min": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.15
- },
- "max": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.25
- }
- },
- "options": "#minecraft:non_treasure",
- "conditions": [
- {
- "condition": "minecraft:random_chance",
- "chance": 0.2
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/material/chainmail/feet.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/material/chainmail/feet.json
deleted file mode 100644
index 0fa368d8f2..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/material/chainmail/feet.json
+++ /dev/null
@@ -1,141 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:chainmail_boots",
- "functions": [
- {
- "function": "minecraft:set_attributes",
- "replace": false,
- "modifiers": [
- {
- "attribute": "minecraft:armor",
- "id": "minecraft:armor.boots",
- "amount": 1,
- "operation": "add_value",
- "slot": "feet"
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.unidentified",
- "fallback": "%s Unidentified Item - Drop to Identify",
- "with": [
- {
- "text": "âš ",
- "color": "red",
- "italic": false
- }
- ],
- "color": "dark_red",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{durability:195,identified:0,armor_clamp:-1,slot:3,material:2,name:'{\"italic\":false,\"translate\":\"item.minecraft.chainmail_boots\"}'}}"
- },
- {
- "function": "minecraft:enchant_randomly",
- "options": [
- "minecraft:depth_strider"
- ],
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/reef"
- },
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.005
- }
- },
- "range": 1
- }
- ]
- },
- {
- "function": "minecraft:enchant_randomly",
- "options": [
- "minecraft:projectile_protection"
- ],
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/growth"
- },
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.008
- }
- },
- "range": 1
- }
- ]
- },
- {
- "function": "minecraft:enchant_with_levels",
- "levels": {
- "min": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.15
- },
- "max": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.25
- }
- },
- "options": "#minecraft:non_treasure",
- "conditions": [
- {
- "condition": "minecraft:random_chance",
- "chance": 0.2
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/material/chainmail/head.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/material/chainmail/head.json
deleted file mode 100644
index 30250236c1..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/material/chainmail/head.json
+++ /dev/null
@@ -1,112 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:chainmail_helmet",
- "functions": [
- {
- "function": "minecraft:set_attributes",
- "replace": false,
- "modifiers": [
- {
- "attribute": "minecraft:armor",
- "id": "minecraft:armor.helmet",
- "amount": 2,
- "operation": "add_value",
- "slot": "head"
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.unidentified",
- "fallback": "%s Unidentified Item - Drop to Identify",
- "with": [
- {
- "text": "âš ",
- "color": "red",
- "italic": false
- }
- ],
- "color": "dark_red",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{durability:165,identified:0,armor_clamp:-2,slot:0,material:2,name:'{\"italic\":false,\"translate\":\"item.minecraft.chainmail_helmet\"}'}}"
- },
- {
- "function": "minecraft:enchant_randomly",
- "options": [
- "minecraft:projectile_protection"
- ],
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/growth"
- },
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.008
- }
- },
- "range": 1
- }
- ]
- },
- {
- "function": "minecraft:enchant_with_levels",
- "levels": {
- "min": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.15
- },
- "max": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.25
- }
- },
- "options": "#minecraft:non_treasure",
- "conditions": [
- {
- "condition": "minecraft:random_chance",
- "chance": 0.2
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/material/chainmail/legs.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/material/chainmail/legs.json
deleted file mode 100644
index 538c9771d1..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/material/chainmail/legs.json
+++ /dev/null
@@ -1,112 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:chainmail_leggings",
- "functions": [
- {
- "function": "minecraft:set_attributes",
- "replace": false,
- "modifiers": [
- {
- "attribute": "minecraft:armor",
- "id": "minecraft:armor.leggings",
- "amount": 4,
- "operation": "add_value",
- "slot": "legs"
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.unidentified",
- "fallback": "%s Unidentified Item - Drop to Identify",
- "with": [
- {
- "text": "âš ",
- "color": "red",
- "italic": false
- }
- ],
- "color": "dark_red",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{durability:225,identified:0,armor_clamp:-4,slot:2,material:2,name:'{\"italic\":false,\"translate\":\"item.minecraft.chainmail_leggings\"}'}}"
- },
- {
- "function": "minecraft:enchant_randomly",
- "options": [
- "minecraft:projectile_protection"
- ],
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/growth"
- },
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.008
- }
- },
- "range": 1
- }
- ]
- },
- {
- "function": "minecraft:enchant_with_levels",
- "levels": {
- "min": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.15
- },
- "max": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.25
- }
- },
- "options": "#minecraft:non_treasure",
- "conditions": [
- {
- "condition": "minecraft:random_chance",
- "chance": 0.2
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/material/diamond/chest.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/material/diamond/chest.json
deleted file mode 100644
index 931311aef3..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/material/diamond/chest.json
+++ /dev/null
@@ -1,126 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:diamond_chestplate",
- "functions": [
- {
- "function": "minecraft:set_attributes",
- "replace": false,
- "modifiers": [
- {
- "attribute": "minecraft:armor",
- "id": "minecraft:armor.chestplate",
- "amount": 8,
- "operation": "add_value",
- "slot": "chest"
- },
- {
- "attribute": "minecraft:armor_toughness",
- "id": "gm4_combat_expanded:armor_toughness.chestplate",
- "amount": 2,
- "operation": "add_value",
- "slot": "chest"
- },
- {
- "attribute": "minecraft:knockback_resistance",
- "id": "gm4_combat_expanded:knockback_resistance",
- "amount": 0,
- "operation": "add_value",
- "slot": "chest"
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.unidentified",
- "fallback": "%s Unidentified Item - Drop to Identify",
- "with": [
- {
- "text": "âš ",
- "color": "red",
- "italic": false
- }
- ],
- "color": "dark_red",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{durability:528,identified:0,armor_clamp:-8,slot:1,material:5,name:'{\"italic\":false,\"translate\":\"item.minecraft.diamond_chestplate\"}'}}"
- },
- {
- "function": "minecraft:enchant_randomly",
- "options": [
- "minecraft:projectile_protection"
- ],
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/growth"
- },
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.008
- }
- },
- "range": 1
- }
- ]
- },
- {
- "function": "minecraft:enchant_with_levels",
- "levels": {
- "min": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.15
- },
- "max": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.25
- }
- },
- "options": "#minecraft:non_treasure",
- "conditions": [
- {
- "condition": "minecraft:random_chance",
- "chance": 0.2
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/material/diamond/feet.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/material/diamond/feet.json
deleted file mode 100644
index ca0990dca2..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/material/diamond/feet.json
+++ /dev/null
@@ -1,155 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:diamond_boots",
- "functions": [
- {
- "function": "minecraft:set_attributes",
- "replace": false,
- "modifiers": [
- {
- "attribute": "minecraft:armor",
- "id": "minecraft:armor.boots",
- "amount": 3,
- "operation": "add_value",
- "slot": "feet"
- },
- {
- "attribute": "minecraft:armor_toughness",
- "id": "gm4_combat_expanded:armor_toughness.boots",
- "amount": 2,
- "operation": "add_value",
- "slot": "feet"
- },
- {
- "attribute": "minecraft:knockback_resistance",
- "id": "gm4_combat_expanded:knockback_resistance",
- "amount": 0,
- "operation": "add_value",
- "slot": "feet"
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.unidentified",
- "fallback": "%s Unidentified Item - Drop to Identify",
- "with": [
- {
- "text": "âš ",
- "color": "red",
- "italic": false
- }
- ],
- "color": "dark_red",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{durability:429,identified:0,armor_clamp:-3,slot:3,material:5,name:'{\"italic\":false,\"translate\":\"item.minecraft.diamond_boots\"}'}}"
- },
- {
- "function": "minecraft:enchant_randomly",
- "options": [
- "minecraft:depth_strider"
- ],
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/reef"
- },
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.005
- }
- },
- "range": 1
- }
- ]
- },
- {
- "function": "minecraft:enchant_randomly",
- "options": [
- "minecraft:projectile_protection"
- ],
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/growth"
- },
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.008
- }
- },
- "range": 1
- }
- ]
- },
- {
- "function": "minecraft:enchant_with_levels",
- "levels": {
- "min": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.15
- },
- "max": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.25
- }
- },
- "options": "#minecraft:non_treasure",
- "conditions": [
- {
- "condition": "minecraft:random_chance",
- "chance": 0.2
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/material/diamond/head.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/material/diamond/head.json
deleted file mode 100644
index 6e0b894a86..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/material/diamond/head.json
+++ /dev/null
@@ -1,126 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:diamond_helmet",
- "functions": [
- {
- "function": "minecraft:set_attributes",
- "replace": false,
- "modifiers": [
- {
- "attribute": "minecraft:armor",
- "id": "minecraft:armor.helmet",
- "amount": 3,
- "operation": "add_value",
- "slot": "head"
- },
- {
- "attribute": "minecraft:armor_toughness",
- "id": "gm4_combat_expanded:armor_toughness.helmet",
- "amount": 2,
- "operation": "add_value",
- "slot": "head"
- },
- {
- "attribute": "minecraft:knockback_resistance",
- "id": "gm4_combat_expanded:knockback_resistance",
- "amount": 0,
- "operation": "add_value",
- "slot": "head"
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.unidentified",
- "fallback": "%s Unidentified Item - Drop to Identify",
- "with": [
- {
- "text": "âš ",
- "color": "red",
- "italic": false
- }
- ],
- "color": "dark_red",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{durability:363,identified:0,armor_clamp:-3,slot:0,material:5,name:'{\"italic\":false,\"translate\":\"item.minecraft.diamond_helmet\"}'}}"
- },
- {
- "function": "minecraft:enchant_randomly",
- "options": [
- "minecraft:projectile_protection"
- ],
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/growth"
- },
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.008
- }
- },
- "range": 1
- }
- ]
- },
- {
- "function": "minecraft:enchant_with_levels",
- "levels": {
- "min": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.15
- },
- "max": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.25
- }
- },
- "options": "#minecraft:non_treasure",
- "conditions": [
- {
- "condition": "minecraft:random_chance",
- "chance": 0.2
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/material/diamond/legs.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/material/diamond/legs.json
deleted file mode 100644
index 842aba6ead..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/material/diamond/legs.json
+++ /dev/null
@@ -1,126 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:diamond_leggings",
- "functions": [
- {
- "function": "minecraft:set_attributes",
- "replace": false,
- "modifiers": [
- {
- "attribute": "minecraft:armor",
- "id": "minecraft:armor.leggings",
- "amount": 6,
- "operation": "add_value",
- "slot": "legs"
- },
- {
- "attribute": "minecraft:armor_toughness",
- "id": "gm4_combat_expanded:armor_toughness.leggings",
- "amount": 2,
- "operation": "add_value",
- "slot": "legs"
- },
- {
- "attribute": "minecraft:knockback_resistance",
- "id": "gm4_combat_expanded:knockback_resistance",
- "amount": 0,
- "operation": "add_value",
- "slot": "legs"
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.unidentified",
- "fallback": "%s Unidentified Item - Drop to Identify",
- "with": [
- {
- "text": "âš ",
- "color": "red",
- "italic": false
- }
- ],
- "color": "dark_red",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{durability:495,identified:0,armor_clamp:-6,slot:2,material:5,name:'{\"italic\":false,\"translate\":\"item.minecraft.diamond_leggings\"}'}}"
- },
- {
- "function": "minecraft:enchant_randomly",
- "options": [
- "minecraft:projectile_protection"
- ],
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/growth"
- },
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.008
- }
- },
- "range": 1
- }
- ]
- },
- {
- "function": "minecraft:enchant_with_levels",
- "levels": {
- "min": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.15
- },
- "max": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.25
- }
- },
- "options": "#minecraft:non_treasure",
- "conditions": [
- {
- "condition": "minecraft:random_chance",
- "chance": 0.2
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/material/golden/chest.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/material/golden/chest.json
deleted file mode 100644
index d430aa84d8..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/material/golden/chest.json
+++ /dev/null
@@ -1,112 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:golden_chestplate",
- "functions": [
- {
- "function": "minecraft:set_attributes",
- "replace": false,
- "modifiers": [
- {
- "attribute": "minecraft:armor",
- "id": "minecraft:armor.chestplate",
- "amount": 5,
- "operation": "add_value",
- "slot": "chest"
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.unidentified",
- "fallback": "%s Unidentified Item - Drop to Identify",
- "with": [
- {
- "text": "âš ",
- "color": "red",
- "italic": false
- }
- ],
- "color": "dark_red",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{durability:112,identified:0,armor_clamp:-5,slot:1,material:4,name:'{\"italic\":false,\"translate\":\"item.minecraft.golden_chestplate\"}'}}"
- },
- {
- "function": "minecraft:enchant_randomly",
- "options": [
- "minecraft:projectile_protection"
- ],
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/growth"
- },
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.008
- }
- },
- "range": 1
- }
- ]
- },
- {
- "function": "minecraft:enchant_with_levels",
- "levels": {
- "min": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.2
- },
- "max": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.3
- }
- },
- "options": "#minecraft:non_treasure",
- "conditions": [
- {
- "condition": "minecraft:random_chance",
- "chance": 0.2
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/material/golden/feet.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/material/golden/feet.json
deleted file mode 100644
index 9ddfa35a5b..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/material/golden/feet.json
+++ /dev/null
@@ -1,141 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:golden_boots",
- "functions": [
- {
- "function": "minecraft:set_attributes",
- "replace": false,
- "modifiers": [
- {
- "attribute": "minecraft:armor",
- "id": "minecraft:armor.boots",
- "amount": 1,
- "operation": "add_value",
- "slot": "feet"
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.unidentified",
- "fallback": "%s Unidentified Item - Drop to Identify",
- "with": [
- {
- "text": "âš ",
- "color": "red",
- "italic": false
- }
- ],
- "color": "dark_red",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{durability:91,identified:0,armor_clamp:-1,slot:3,material:4,name:'{\"italic\":false,\"translate\":\"item.minecraft.golden_boots\"}'}}"
- },
- {
- "function": "minecraft:enchant_randomly",
- "options": [
- "minecraft:depth_strider"
- ],
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/reef"
- },
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.005
- }
- },
- "range": 1
- }
- ]
- },
- {
- "function": "minecraft:enchant_randomly",
- "options": [
- "minecraft:projectile_protection"
- ],
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/growth"
- },
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.008
- }
- },
- "range": 1
- }
- ]
- },
- {
- "function": "minecraft:enchant_with_levels",
- "levels": {
- "min": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.2
- },
- "max": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.3
- }
- },
- "options": "#minecraft:non_treasure",
- "conditions": [
- {
- "condition": "minecraft:random_chance",
- "chance": 0.2
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/material/golden/head.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/material/golden/head.json
deleted file mode 100644
index 6e867a3431..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/material/golden/head.json
+++ /dev/null
@@ -1,112 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:golden_helmet",
- "functions": [
- {
- "function": "minecraft:set_attributes",
- "replace": false,
- "modifiers": [
- {
- "attribute": "minecraft:armor",
- "id": "minecraft:armor.helmet",
- "amount": 2,
- "operation": "add_value",
- "slot": "head"
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.unidentified",
- "fallback": "%s Unidentified Item - Drop to Identify",
- "with": [
- {
- "text": "âš ",
- "color": "red",
- "italic": false
- }
- ],
- "color": "dark_red",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{durability:77,identified:0,armor_clamp:-2,slot:0,material:4,name:'{\"italic\":false,\"translate\":\"item.minecraft.golden_helmet\"}'}}"
- },
- {
- "function": "minecraft:enchant_randomly",
- "options": [
- "minecraft:projectile_protection"
- ],
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/growth"
- },
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.008
- }
- },
- "range": 1
- }
- ]
- },
- {
- "function": "minecraft:enchant_with_levels",
- "levels": {
- "min": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.2
- },
- "max": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.3
- }
- },
- "options": "#minecraft:non_treasure",
- "conditions": [
- {
- "condition": "minecraft:random_chance",
- "chance": 0.2
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/material/golden/legs.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/material/golden/legs.json
deleted file mode 100644
index 93ac26ce27..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/material/golden/legs.json
+++ /dev/null
@@ -1,112 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:golden_leggings",
- "functions": [
- {
- "function": "minecraft:set_attributes",
- "replace": false,
- "modifiers": [
- {
- "attribute": "minecraft:armor",
- "id": "minecraft:armor.leggings",
- "amount": 3,
- "operation": "add_value",
- "slot": "legs"
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.unidentified",
- "fallback": "%s Unidentified Item - Drop to Identify",
- "with": [
- {
- "text": "âš ",
- "color": "red",
- "italic": false
- }
- ],
- "color": "dark_red",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{durability:105,identified:0,armor_clamp:-3,slot:2,material:4,name:'{\"italic\":false,\"translate\":\"item.minecraft.golden_leggings\"}'}}"
- },
- {
- "function": "minecraft:enchant_randomly",
- "options": [
- "minecraft:projectile_protection"
- ],
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/growth"
- },
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.008
- }
- },
- "range": 1
- }
- ]
- },
- {
- "function": "minecraft:enchant_with_levels",
- "levels": {
- "min": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.2
- },
- "max": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.3
- }
- },
- "options": "#minecraft:non_treasure",
- "conditions": [
- {
- "condition": "minecraft:random_chance",
- "chance": 0.2
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/material/iron/chest.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/material/iron/chest.json
deleted file mode 100644
index 777af172da..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/material/iron/chest.json
+++ /dev/null
@@ -1,112 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:iron_chestplate",
- "functions": [
- {
- "function": "minecraft:set_attributes",
- "replace": false,
- "modifiers": [
- {
- "attribute": "minecraft:armor",
- "id": "minecraft:armor.chestplate",
- "amount": 6,
- "operation": "add_value",
- "slot": "chest"
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.unidentified",
- "fallback": "%s Unidentified Item - Drop to Identify",
- "with": [
- {
- "text": "âš ",
- "color": "red",
- "italic": false
- }
- ],
- "color": "dark_red",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{durability:240,identified:0,armor_clamp:-6,slot:1,material:3,name:'{\"italic\":false,\"translate\":\"item.minecraft.iron_chestplate\"}'}}"
- },
- {
- "function": "minecraft:enchant_randomly",
- "options": [
- "minecraft:projectile_protection"
- ],
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/growth"
- },
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.008
- }
- },
- "range": 1
- }
- ]
- },
- {
- "function": "minecraft:enchant_with_levels",
- "levels": {
- "min": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.15
- },
- "max": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.25
- }
- },
- "options": "#minecraft:non_treasure",
- "conditions": [
- {
- "condition": "minecraft:random_chance",
- "chance": 0.2
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/material/iron/feet.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/material/iron/feet.json
deleted file mode 100644
index 485d44b409..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/material/iron/feet.json
+++ /dev/null
@@ -1,141 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:iron_boots",
- "functions": [
- {
- "function": "minecraft:set_attributes",
- "replace": false,
- "modifiers": [
- {
- "attribute": "minecraft:armor",
- "id": "minecraft:armor.boots",
- "amount": 2,
- "operation": "add_value",
- "slot": "feet"
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.unidentified",
- "fallback": "%s Unidentified Item - Drop to Identify",
- "with": [
- {
- "text": "âš ",
- "color": "red",
- "italic": false
- }
- ],
- "color": "dark_red",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{durability:195,identified:0,armor_clamp:-2,slot:3,material:3,name:'{\"italic\":false,\"translate\":\"item.minecraft.iron_boots\"}'}}"
- },
- {
- "function": "minecraft:enchant_randomly",
- "options": [
- "minecraft:depth_strider"
- ],
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/reef"
- },
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.005
- }
- },
- "range": 1
- }
- ]
- },
- {
- "function": "minecraft:enchant_randomly",
- "options": [
- "minecraft:projectile_protection"
- ],
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/growth"
- },
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.008
- }
- },
- "range": 1
- }
- ]
- },
- {
- "function": "minecraft:enchant_with_levels",
- "levels": {
- "min": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.15
- },
- "max": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.25
- }
- },
- "options": "#minecraft:non_treasure",
- "conditions": [
- {
- "condition": "minecraft:random_chance",
- "chance": 0.2
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/material/iron/head.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/material/iron/head.json
deleted file mode 100644
index 99573f08f7..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/material/iron/head.json
+++ /dev/null
@@ -1,112 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:iron_helmet",
- "functions": [
- {
- "function": "minecraft:set_attributes",
- "replace": false,
- "modifiers": [
- {
- "attribute": "minecraft:armor",
- "id": "minecraft:armor.helmet",
- "amount": 2,
- "operation": "add_value",
- "slot": "head"
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.unidentified",
- "fallback": "%s Unidentified Item - Drop to Identify",
- "with": [
- {
- "text": "âš ",
- "color": "red",
- "italic": false
- }
- ],
- "color": "dark_red",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{durability:165,identified:0,armor_clamp:-2,slot:0,material:3,name:'{\"italic\":false,\"translate\":\"item.minecraft.iron_helmet\"}'}}"
- },
- {
- "function": "minecraft:enchant_randomly",
- "options": [
- "minecraft:projectile_protection"
- ],
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/growth"
- },
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.008
- }
- },
- "range": 1
- }
- ]
- },
- {
- "function": "minecraft:enchant_with_levels",
- "levels": {
- "min": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.15
- },
- "max": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.25
- }
- },
- "options": "#minecraft:non_treasure",
- "conditions": [
- {
- "condition": "minecraft:random_chance",
- "chance": 0.2
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/material/iron/legs.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/material/iron/legs.json
deleted file mode 100644
index 271a6d1fcd..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/material/iron/legs.json
+++ /dev/null
@@ -1,112 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:iron_leggings",
- "functions": [
- {
- "function": "minecraft:set_attributes",
- "replace": false,
- "modifiers": [
- {
- "attribute": "minecraft:armor",
- "id": "minecraft:armor.leggings",
- "amount": 5,
- "operation": "add_value",
- "slot": "legs"
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.unidentified",
- "fallback": "%s Unidentified Item - Drop to Identify",
- "with": [
- {
- "text": "âš ",
- "color": "red",
- "italic": false
- }
- ],
- "color": "dark_red",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{durability:225,identified:0,armor_clamp:-5,slot:2,material:3,name:'{\"italic\":false,\"translate\":\"item.minecraft.iron_leggings\"}'}}"
- },
- {
- "function": "minecraft:enchant_randomly",
- "options": [
- "minecraft:projectile_protection"
- ],
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/growth"
- },
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.008
- }
- },
- "range": 1
- }
- ]
- },
- {
- "function": "minecraft:enchant_with_levels",
- "levels": {
- "min": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.15
- },
- "max": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.25
- }
- },
- "options": "#minecraft:non_treasure",
- "conditions": [
- {
- "condition": "minecraft:random_chance",
- "chance": 0.2
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/material/leather/chest.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/material/leather/chest.json
deleted file mode 100644
index a3b6b3b662..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/material/leather/chest.json
+++ /dev/null
@@ -1,112 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:leather_chestplate",
- "functions": [
- {
- "function": "minecraft:set_attributes",
- "replace": false,
- "modifiers": [
- {
- "attribute": "minecraft:armor",
- "id": "minecraft:armor.chestplate",
- "amount": 3,
- "operation": "add_value",
- "slot": "chest"
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.unidentified",
- "fallback": "%s Unidentified Item - Drop to Identify",
- "with": [
- {
- "text": "âš ",
- "color": "red",
- "italic": false
- }
- ],
- "color": "dark_red",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{durability:80,identified:0,armor_clamp:-3,slot:1,material:1,name:'{\"italic\":false,\"translate\":\"item.minecraft.leather_chestplate\"}'}}"
- },
- {
- "function": "minecraft:enchant_randomly",
- "options": [
- "minecraft:projectile_protection"
- ],
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/growth"
- },
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.008
- }
- },
- "range": 1
- }
- ]
- },
- {
- "function": "minecraft:enchant_with_levels",
- "levels": {
- "min": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.15
- },
- "max": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.25
- }
- },
- "options": "#minecraft:non_treasure",
- "conditions": [
- {
- "condition": "minecraft:random_chance",
- "chance": 0.1
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/material/leather/feet.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/material/leather/feet.json
deleted file mode 100644
index dd9f34179c..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/material/leather/feet.json
+++ /dev/null
@@ -1,141 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:leather_boots",
- "functions": [
- {
- "function": "minecraft:set_attributes",
- "replace": false,
- "modifiers": [
- {
- "attribute": "minecraft:armor",
- "id": "minecraft:armor.boots",
- "amount": 1,
- "operation": "add_value",
- "slot": "feet"
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.unidentified",
- "fallback": "%s Unidentified Item - Drop to Identify",
- "with": [
- {
- "text": "âš ",
- "color": "red",
- "italic": false
- }
- ],
- "color": "dark_red",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{durability:65,identified:0,armor_clamp:-1,slot:3,material:1,name:'{\"italic\":false,\"translate\":\"item.minecraft.leather_boots\"}'}}"
- },
- {
- "function": "minecraft:enchant_randomly",
- "options": [
- "minecraft:depth_strider"
- ],
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/reef"
- },
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.005
- }
- },
- "range": 1
- }
- ]
- },
- {
- "function": "minecraft:enchant_randomly",
- "options": [
- "minecraft:projectile_protection"
- ],
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/growth"
- },
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.008
- }
- },
- "range": 1
- }
- ]
- },
- {
- "function": "minecraft:enchant_with_levels",
- "levels": {
- "min": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.15
- },
- "max": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.25
- }
- },
- "options": "#minecraft:non_treasure",
- "conditions": [
- {
- "condition": "minecraft:random_chance",
- "chance": 0.1
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/material/leather/head.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/material/leather/head.json
deleted file mode 100644
index 28cbe1b772..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/material/leather/head.json
+++ /dev/null
@@ -1,112 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:leather_helmet",
- "functions": [
- {
- "function": "minecraft:set_attributes",
- "replace": false,
- "modifiers": [
- {
- "attribute": "minecraft:armor",
- "id": "minecraft:armor.helmet",
- "amount": 1,
- "operation": "add_value",
- "slot": "head"
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.unidentified",
- "fallback": "%s Unidentified Item - Drop to Identify",
- "with": [
- {
- "text": "âš ",
- "color": "red",
- "italic": false
- }
- ],
- "color": "dark_red",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{durability:55,identified:0,armor_clamp:-1,slot:0,material:1,name:'{\"italic\":false,\"translate\":\"item.minecraft.leather_helmet\"}'}}"
- },
- {
- "function": "minecraft:enchant_randomly",
- "options": [
- "minecraft:projectile_protection"
- ],
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/growth"
- },
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.008
- }
- },
- "range": 1
- }
- ]
- },
- {
- "function": "minecraft:enchant_with_levels",
- "levels": {
- "min": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.15
- },
- "max": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.25
- }
- },
- "options": "#minecraft:non_treasure",
- "conditions": [
- {
- "condition": "minecraft:random_chance",
- "chance": 0.1
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/material/leather/legs.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/material/leather/legs.json
deleted file mode 100644
index ba990cd1fd..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/material/leather/legs.json
+++ /dev/null
@@ -1,112 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:leather_leggings",
- "functions": [
- {
- "function": "minecraft:set_attributes",
- "replace": false,
- "modifiers": [
- {
- "attribute": "minecraft:armor",
- "id": "minecraft:armor.leggings",
- "amount": 2,
- "operation": "add_value",
- "slot": "legs"
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.unidentified",
- "fallback": "%s Unidentified Item - Drop to Identify",
- "with": [
- {
- "text": "âš ",
- "color": "red",
- "italic": false
- }
- ],
- "color": "dark_red",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{durability:75,identified:0,armor_clamp:-2,slot:2,material:1,name:'{\"italic\":false,\"translate\":\"item.minecraft.leather_leggings\"}'}}"
- },
- {
- "function": "minecraft:enchant_randomly",
- "options": [
- "minecraft:projectile_protection"
- ],
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/growth"
- },
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.008
- }
- },
- "range": 1
- }
- ]
- },
- {
- "function": "minecraft:enchant_with_levels",
- "levels": {
- "min": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.15
- },
- "max": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.25
- }
- },
- "options": "#minecraft:non_treasure",
- "conditions": [
- {
- "condition": "minecraft:random_chance",
- "chance": 0.1
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/material/special/turtle_helmet.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/material/special/turtle_helmet.json
deleted file mode 100644
index d4c244f389..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/armor/material/special/turtle_helmet.json
+++ /dev/null
@@ -1,112 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:turtle_helmet",
- "functions": [
- {
- "function": "minecraft:set_attributes",
- "replace": false,
- "modifiers": [
- {
- "attribute": "minecraft:armor",
- "id": "minecraft:armor.helmet",
- "amount": 2,
- "operation": "add_value",
- "slot": "head"
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.unidentified",
- "fallback": "%s Unidentified Item - Drop to Identify",
- "with": [
- {
- "text": "âš ",
- "color": "red",
- "italic": false
- }
- ],
- "color": "dark_red",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{durability:275,identified:0,armor_clamp:-2,slot:0,material:-1,name:'{\"italic\":false,\"translate\":\"item.minecraft.turtle_helmet\"}'}}"
- },
- {
- "function": "minecraft:enchant_randomly",
- "options": [
- "minecraft:projectile_protection"
- ],
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/growth"
- },
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.008
- }
- },
- "range": 1
- }
- ]
- },
- {
- "function": "minecraft:enchant_with_levels",
- "levels": {
- "min": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.15
- },
- "max": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.25
- }
- },
- "options": "#minecraft:non_treasure",
- "conditions": [
- {
- "condition": "minecraft:random_chance",
- "chance": 0.2
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/boss/skeleton_minion.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/boss/skeleton_minion.json
deleted file mode 100644
index 4be8b2b058..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/boss/skeleton_minion.json
+++ /dev/null
@@ -1,66 +0,0 @@
-{
- "type": "minecraft:entity",
- "pools": [
- {
- "rolls": 1,
- "bonus_rolls": 0,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:arrow",
- "functions": [
- {
- "function": "minecraft:set_count",
- "count": {
- "type": "minecraft:uniform",
- "min": 0,
- "max": 2
- },
- "add": false
- },
- {
- "function": "minecraft:enchanted_count_increase",
- "enchantment": "minecraft:looting",
- "count": {
- "type": "minecraft:uniform",
- "min": 0,
- "max": 1
- }
- }
- ]
- }
- ]
- },
- {
- "rolls": 1,
- "bonus_rolls": 0,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:amethyst_shard",
- "functions": [
- {
- "function": "minecraft:set_count",
- "count": {
- "type": "minecraft:uniform",
- "min": 0,
- "max": 2
- },
- "add": false
- },
- {
- "function": "minecraft:enchanted_count_increase",
- "enchantment": "minecraft:looting",
- "count": {
- "type": "minecraft:uniform",
- "min": 0,
- "max": 1
- }
- }
- ]
- }
- ]
- }
- ],
- "random_sequence": "gm4_combat_expanded:skeleton_minion"
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/boss/zombie_minion.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/boss/zombie_minion.json
deleted file mode 100644
index 56b060c1f4..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/boss/zombie_minion.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "type": "minecraft:entity",
- "pools": [
- {
- "rolls": 1,
- "bonus_rolls": 0,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:amethyst_shard",
- "functions": [
- {
- "function": "minecraft:set_count",
- "count": {
- "type": "minecraft:uniform",
- "min": 0,
- "max": 2
- },
- "add": false
- },
- {
- "function": "minecraft:enchanted_count_increase",
- "enchantment": "minecraft:looting",
- "count": {
- "type": "minecraft:uniform",
- "min": 0,
- "max": 1
- }
- }
- ]
- }
- ]
- }
- ],
- "random_sequence": "gm4_combat_expanded:zombie_minion"
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_armor/generic/chest.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_armor/generic/chest.json
deleted file mode 100644
index 5879cea2ea..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_armor/generic/chest.json
+++ /dev/null
@@ -1,82 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:alternatives",
- "children": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:armor/material/diamond/chest",
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/material_check/diamond"
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:armor/material/golden/chest",
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/material_check/golden"
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:armor/material/iron/chest",
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/material_check/iron"
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:armor/material/chainmail/chest",
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/material_check/chainmail"
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:armor/material/leather/chest"
- }
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.05
- }
- },
- "range": 1
- },
- {
- "condition": "minecraft:random_chance",
- "chance": 0.33
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_armor/generic/feet.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_armor/generic/feet.json
deleted file mode 100644
index 9498824bdf..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_armor/generic/feet.json
+++ /dev/null
@@ -1,82 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:alternatives",
- "children": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:armor/material/diamond/feet",
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/material_check/diamond"
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:armor/material/golden/feet",
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/material_check/golden"
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:armor/material/iron/feet",
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/material_check/iron"
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:armor/material/chainmail/feet",
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/material_check/chainmail"
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:armor/material/leather/feet"
- }
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.05
- }
- },
- "range": 1
- },
- {
- "condition": "minecraft:random_chance",
- "chance": 0.33
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_armor/generic/head.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_armor/generic/head.json
deleted file mode 100644
index 4cbfec5a55..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_armor/generic/head.json
+++ /dev/null
@@ -1,92 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:alternatives",
- "children": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:armor/material/special/turtle_helmet",
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/material_check/turtle_helmet"
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:armor/material/diamond/head",
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/material_check/diamond"
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:armor/material/golden/head",
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/material_check/golden"
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:armor/material/iron/head",
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/material_check/iron"
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:armor/material/chainmail/head",
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/material_check/chainmail"
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:armor/material/leather/head"
- }
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.05
- }
- },
- "range": 1
- },
- {
- "condition": "minecraft:random_chance",
- "chance": 0.33
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_armor/generic/legs.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_armor/generic/legs.json
deleted file mode 100644
index 965abe1241..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_armor/generic/legs.json
+++ /dev/null
@@ -1,82 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:alternatives",
- "children": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:armor/material/diamond/legs",
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/material_check/diamond"
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:armor/material/golden/legs",
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/material_check/golden"
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:armor/material/iron/legs",
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/material_check/iron"
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:armor/material/chainmail/legs",
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/material_check/chainmail"
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:armor/material/leather/legs"
- }
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.05
- }
- },
- "range": 1
- },
- {
- "condition": "minecraft:random_chance",
- "chance": 0.33
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_armor/miniboss.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_armor/miniboss.json
deleted file mode 100644
index 5e2305a32e..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_armor/miniboss.json
+++ /dev/null
@@ -1,94 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:loot_table",
- "weight": 15,
- "value": "gm4_combat_expanded:armor/material/diamond/feet"
- },
- {
- "type": "minecraft:loot_table",
- "weight": 55,
- "value": "gm4_combat_expanded:armor/material/iron/feet"
- },
- {
- "type": "minecraft:loot_table",
- "weight": 30,
- "value": "gm4_combat_expanded:armor/material/golden/feet"
- }
- ]
- },
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:loot_table",
- "weight": 15,
- "value": "gm4_combat_expanded:armor/material/diamond/legs"
- },
- {
- "type": "minecraft:loot_table",
- "weight": 55,
- "value": "gm4_combat_expanded:armor/material/iron/legs"
- },
- {
- "type": "minecraft:loot_table",
- "weight": 30,
- "value": "gm4_combat_expanded:armor/material/golden/legs"
- }
- ]
- },
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:loot_table",
- "weight": 15,
- "value": "gm4_combat_expanded:armor/material/diamond/chest"
- },
- {
- "type": "minecraft:loot_table",
- "weight": 55,
- "value": "gm4_combat_expanded:armor/material/iron/chest"
- },
- {
- "type": "minecraft:loot_table",
- "weight": 30,
- "value": "gm4_combat_expanded:armor/material/golden/chest"
- }
- ]
- },
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:loot_table",
- "weight": 15,
- "value": "gm4_combat_expanded:armor/material/diamond/head"
- },
- {
- "type": "minecraft:loot_table",
- "weight": 55,
- "value": "gm4_combat_expanded:armor/material/iron/head"
- },
- {
- "type": "minecraft:loot_table",
- "weight": 30,
- "value": "gm4_combat_expanded:armor/material/golden/head"
- }
- ],
- "conditions": [
- {
- "condition": "minecraft:inverted",
- "term": {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/flowering"
- }
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_armor/piglin.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_armor/piglin.json
deleted file mode 100644
index 598a299ff6..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_armor/piglin.json
+++ /dev/null
@@ -1,133 +0,0 @@
-{
- "type": "minecraft:entity",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:armor/material/golden/feet",
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.05
- }
- },
- "range": 1
- },
- {
- "condition": "minecraft:random_chance",
- "chance": 0.33
- }
- ]
- }
- ]
- },
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:armor/material/golden/legs",
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.05
- }
- },
- "range": 1
- },
- {
- "condition": "minecraft:random_chance",
- "chance": 0.33
- }
- ]
- }
- ]
- },
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:armor/material/golden/chest",
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.05
- }
- },
- "range": 1
- },
- {
- "condition": "minecraft:random_chance",
- "chance": 0.33
- }
- ]
- }
- ]
- },
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:armor/material/golden/head",
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.05
- }
- },
- "range": 1
- },
- {
- "condition": "minecraft:random_chance",
- "chance": 0.33
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_armor/spore.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_armor/spore.json
deleted file mode 100644
index 1970c87cd5..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_armor/spore.json
+++ /dev/null
@@ -1,137 +0,0 @@
-{
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:cherry_leaves",
- "functions": [
- {
- "function": "minecraft:set_attributes",
- "replace": false,
- "modifiers": [
- {
- "attribute": "minecraft:max_health",
- "id": "gm4_combat_expanded:spore_max_health",
- "amount": 16,
- "operation": "add_value",
- "slot": "head"
- },
- {
- "attribute": "minecraft:armor",
- "id": "gm4_combat_expanded:spore_armor",
- "amount": 0.25,
- "operation": "add_multiplied_base",
- "slot": "head"
- }
- ]
- }
- ],
- "conditions": [
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "nbt": "{Tags:[\"gm4_ce_spore_zombie.cherry\"]}"
- }
- }
- ]
- },
- {
- "type": "minecraft:item",
- "name": "minecraft:azalea_leaves",
- "functions": [
- {
- "function": "minecraft:set_attributes",
- "replace": false,
- "modifiers": [
- {
- "attribute": "minecraft:max_health",
- "id": "gm4_combat_expanded:spore_max_health_2",
- "amount": 8,
- "operation": "add_value",
- "slot": "head"
- },
- {
- "attribute": "minecraft:attack_damage",
- "id": "gm4_combat_expanded:spore_armor_2",
- "amount": -1.5,
- "operation": "add_value",
- "slot": "head"
- }
- ]
- }
- ],
- "conditions": [
- {
- "condition": "minecraft:random_chance",
- "chance": 0.66
- },
- {
- "condition": "minecraft:inverted",
- "term": {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "nbt": "{Tags:[\"gm4_ce_spore_zombie.cherry\"]}"
- }
- }
- }
- ]
- },
- {
- "type": "minecraft:item",
- "name": "minecraft:flowering_azalea_leaves",
- "conditions": [
- {
- "condition": "minecraft:inverted",
- "term": {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "nbt": "{Tags:[\"gm4_ce_spore_zombie.cherry\"]}"
- }
- }
- }
- ]
- }
- ],
- "functions": [
- {
- "function": "minecraft:set_components",
- "components": {
- "minecraft:custom_model_data": {
- "floats": [
- 3420001
- ]
- },
- "minecraft:attribute_modifiers": {
- "modifiers": [
- {
- "type": "minecraft:max_health",
- "id": "gm4_combat_expanded:modifier_flowering",
- "amount": -0.25,
- "operation": "add_multiplied_base",
- "slot": "head"
- }
- ],
- "show_in_tooltip": false
- }
- }
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_ce_spore:{generation:0}}"
- },
- {
- "function": "minecraft:set_name",
- "name": {
- "text": "Zombie Spore",
- "italic": false
- }
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_armor/wither_skeleton.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_armor/wither_skeleton.json
deleted file mode 100644
index 2fb2d3b54f..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_armor/wither_skeleton.json
+++ /dev/null
@@ -1,257 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:alternatives",
- "children": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:armor/material/iron/feet",
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/material_check/iron"
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:armor/material/chainmail/feet",
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/material_check/chainmail"
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:armor/material/chainmail/feet",
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/material_check/chainmail"
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "value": "gm4:empty"
- }
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.01
- }
- },
- "range": 1
- }
- ]
- }
- ]
- },
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:alternatives",
- "children": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:armor/material/iron/legs",
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/material_check/iron"
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:armor/material/chainmail/legs",
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/material_check/chainmail"
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:armor/material/chainmail/legs",
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/material_check/chainmail"
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "value": "gm4:empty"
- }
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.01
- }
- },
- "range": 1
- }
- ]
- }
- ]
- },
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:alternatives",
- "children": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:armor/material/iron/chest",
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/material_check/iron"
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:armor/material/chainmail/chest",
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/material_check/chainmail"
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:armor/material/chainmail/chest",
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/material_check/chainmail"
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "value": "gm4:empty"
- }
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.01
- }
- },
- "range": 1
- }
- ]
- }
- ]
- },
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:alternatives",
- "children": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:armor/material/iron/head",
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/material_check/iron"
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:armor/material/chainmail/head",
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/material_check/chainmail"
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:armor/material/chainmail/head",
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/material_check/chainmail"
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "value": "gm4:empty"
- }
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.01
- }
- },
- "range": 1
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_arrow/skeleton_harming.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_arrow/skeleton_harming.json
deleted file mode 100644
index 7736cf4737..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_arrow/skeleton_harming.json
+++ /dev/null
@@ -1,31 +0,0 @@
-{
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:tipped_arrow",
- "functions": [
- {
- "function": "minecraft:set_components",
- "components": {
- "minecraft:potion_contents": {
- "potion": "minecraft:harming",
- "custom_color": 11101546
- }
- }
- },
- {
- "function": "minecraft:set_count",
- "count": {
- "min": 3,
- "max": 8
- }
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_arrow/skeleton_toxic.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_arrow/skeleton_toxic.json
deleted file mode 100644
index 02ac38b7b9..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_arrow/skeleton_toxic.json
+++ /dev/null
@@ -1,128 +0,0 @@
-{
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:tipped_arrow",
- "functions": [
- {
- "function": "minecraft:set_components",
- "components": {
- "minecraft:potion_contents": {
- "custom_color": 8889187,
- "custom_effects": [
- {
- "id": "minecraft:weakness",
- "amplifier": 0,
- "duration": 100,
- "show_particles": true,
- "show_icon": true,
- "ambient": false
- },
- {
- "id": "minecraft:hunger",
- "amplifier": 1,
- "duration": 100,
- "show_particles": true,
- "show_icon": true,
- "ambient": false
- },
- {
- "id": "minecraft:poison",
- "amplifier": 0,
- "duration": 100,
- "show_particles": true,
- "show_icon": true,
- "ambient": false
- }
- ]
- },
- "minecraft:hide_additional_tooltip": {}
- }
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "potion.withDuration",
- "with": [
- {
- "translate": "potion.withAmplifier",
- "with": [
- {
- "translate": "effect.minecraft.hunger"
- },
- {
- "translate": "potion.potency.1"
- }
- ]
- },
- "0:05"
- ],
- "color": "red",
- "italic": false
- },
- {
- "translate": "potion.withDuration",
- "with": [
- {
- "translate": "effect.minecraft.weakness"
- },
- "0:05"
- ],
- "color": "red",
- "italic": false
- },
- {
- "translate": "potion.withDuration",
- "with": [
- {
- "translate": "effect.minecraft.poison"
- },
- "0:05"
- ],
- "color": "red",
- "italic": false
- },
- "",
- {
- "translate": "potion.whenDrank",
- "color": "dark_purple",
- "italic": false
- },
- {
- "translate": "attribute.modifier.take.0",
- "with": [
- "4",
- {
- "translate": "attribute.name.attack_damage"
- }
- ],
- "color": "red",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_name",
- "name": {
- "translate": "item.minecraft.tipped_arrow.effect.poison",
- "italic": false
- }
- },
- {
- "function": "minecraft:set_count",
- "count": {
- "min": 2,
- "max": 4
- }
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_arrow/stray_harming.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_arrow/stray_harming.json
deleted file mode 100644
index ed3d684419..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_arrow/stray_harming.json
+++ /dev/null
@@ -1,88 +0,0 @@
-{
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:tipped_arrow",
- "functions": [
- {
- "function": "minecraft:set_components",
- "components": {
- "minecraft:potion_contents": {
- "potion": "minecraft:harming",
- "custom_color": 11101546,
- "custom_effects": [
- {
- "id": "minecraft:slowness",
- "amplifier": 0,
- "duration": 600,
- "show_particles": true,
- "show_icon": true,
- "ambient": false
- }
- ]
- },
- "minecraft:hide_additional_tooltip": {}
- }
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "potion.withDuration",
- "with": [
- {
- "translate": "effect.minecraft.slowness"
- },
- "0:30"
- ],
- "color": "red",
- "italic": false
- },
- {
- "translate": "effect.minecraft.instant_damage",
- "color": "red",
- "italic": false
- },
- "",
- {
- "translate": "potion.whenDrank",
- "color": "dark_purple",
- "italic": false
- },
- {
- "translate": "attribute.modifier.take.1",
- "with": [
- "15",
- {
- "translate": "attribute.name.movement_speed"
- }
- ],
- "color": "red",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_name",
- "name": {
- "translate": "item.minecraft.tipped_arrow.effect.harming",
- "italic": false
- }
- },
- {
- "function": "minecraft:set_count",
- "count": {
- "min": 3,
- "max": 8
- }
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_arrow/stray_snowy.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_arrow/stray_snowy.json
deleted file mode 100644
index bf68dab056..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_arrow/stray_snowy.json
+++ /dev/null
@@ -1,90 +0,0 @@
-{
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:tipped_arrow",
- "functions": [
- {
- "function": "minecraft:set_components",
- "components": {
- "minecraft:potion_contents": {
- "custom_color": 9154528,
- "custom_effects": [
- {
- "id": "minecraft:slowness",
- "amplifier": 2,
- "duration": 600,
- "show_particles": true,
- "show_icon": true,
- "ambient": false
- }
- ]
- },
- "minecraft:hide_additional_tooltip": {}
- }
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "potion.withDuration",
- "with": [
- {
- "translate": "potion.withAmplifier",
- "with": [
- {
- "translate": "effect.minecraft.slowness"
- },
- {
- "translate": "potion.potency.1"
- }
- ]
- },
- "0:30"
- ],
- "color": "red",
- "italic": false
- },
- "",
- {
- "translate": "potion.whenDrank",
- "color": "dark_purple",
- "italic": false
- },
- {
- "translate": "attribute.modifier.take.1",
- "with": [
- "30",
- {
- "translate": "attribute.name.movement_speed"
- }
- ],
- "color": "red",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_name",
- "name": {
- "translate": "item.minecraft.tipped_arrow.effect.slowness",
- "italic": false
- }
- },
- {
- "function": "minecraft:set_count",
- "count": {
- "min": 1,
- "max": 2
- }
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_arrow/stray_toxic.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_arrow/stray_toxic.json
deleted file mode 100644
index a834116733..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_arrow/stray_toxic.json
+++ /dev/null
@@ -1,139 +0,0 @@
-{
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:tipped_arrow",
- "functions": [
- {
- "function": "minecraft:set_components",
- "components": {
- "minecraft:potion_contents": {
- "custom_color": 8889187,
- "custom_effects": [
- {
- "id": "minecraft:weakness",
- "amplifier": 0,
- "duration": 100,
- "show_particles": true,
- "show_icon": true,
- "ambient": false
- },
- {
- "id": "minecraft:poison",
- "amplifier": 1,
- "duration": 100,
- "show_particles": true,
- "show_icon": true,
- "ambient": false
- },
- {
- "id": "minecraft:slowness",
- "amplifier": 0,
- "duration": 600,
- "show_particles": true,
- "show_icon": true,
- "ambient": false
- }
- ]
- },
- "minecraft:hide_additional_tooltip": {}
- }
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "potion.withDuration",
- "with": [
- {
- "translate": "effect.minecraft.slowness"
- },
- "0:30"
- ],
- "color": "red",
- "italic": false
- },
- {
- "translate": "potion.withDuration",
- "with": [
- {
- "translate": "potion.withAmplifier",
- "with": [
- {
- "translate": "effect.minecraft.poison"
- },
- {
- "translate": "potion.potency.1"
- }
- ]
- },
- "0:05"
- ],
- "color": "red",
- "italic": false
- },
- {
- "translate": "potion.withDuration",
- "with": [
- {
- "translate": "effect.minecraft.weakness"
- },
- "0:05"
- ],
- "color": "red",
- "italic": false
- },
- "",
- {
- "translate": "potion.whenDrank",
- "color": "dark_purple",
- "italic": false
- },
- {
- "translate": "attribute.modifier.take.1",
- "with": [
- "15",
- {
- "translate": "attribute.name.movement_speed"
- }
- ],
- "color": "red",
- "italic": false
- },
- {
- "translate": "attribute.modifier.take.0",
- "with": [
- "4",
- {
- "translate": "attribute.name.attack_damage"
- }
- ],
- "color": "red",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_name",
- "name": {
- "translate": "item.minecraft.tipped_arrow.effect.poison",
- "italic": false
- }
- },
- {
- "function": "minecraft:set_count",
- "count": {
- "min": 2,
- "max": 4
- }
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_arrow/withering.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_arrow/withering.json
deleted file mode 100644
index 939e144ffa..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_arrow/withering.json
+++ /dev/null
@@ -1,66 +0,0 @@
-{
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:tipped_arrow",
- "functions": [
- {
- "function": "minecraft:set_components",
- "components": {
- "minecraft:potion_contents": {
- "custom_color": 7561558,
- "custom_effects": [
- {
- "id": "minecraft:wither",
- "amplifier": 0,
- "duration": 200,
- "show_particles": true,
- "show_icon": true,
- "ambient": false
- }
- ]
- },
- "minecraft:hide_additional_tooltip": {}
- }
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "potion.withDuration",
- "with": [
- {
- "translate": "effect.minecraft.wither"
- },
- "0:10"
- ],
- "color": "red",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_name",
- "name": {
- "translate": "item.gm4.combat_expanded.lore.wither_arrow",
- "fallback": "Arrow of Wither",
- "italic": false
- }
- },
- {
- "function": "minecraft:set_count",
- "count": {
- "min": 1,
- "max": 4
- }
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_weapon/generic.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_weapon/generic.json
deleted file mode 100644
index 4a68725a0d..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_weapon/generic.json
+++ /dev/null
@@ -1,129 +0,0 @@
-{
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:alternatives",
- "children": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:mob/equip_weapon/material/diamond",
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.0001
- }
- },
- "range": 1
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:mob/equip_weapon/material/gold",
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.0009
- }
- },
- "range": 1
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:mob/equip_weapon/material/iron",
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.00225
- }
- },
- "range": 1
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:mob/equip_weapon/material/stone",
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.0045
- }
- },
- "range": 1
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:mob/equip_weapon/material/wood"
- }
- ]
- }
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.0033
- }
- },
- "range": 1
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_weapon/material/diamond.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_weapon/material/diamond.json
deleted file mode 100644
index 67fff31dd1..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_weapon/material/diamond.json
+++ /dev/null
@@ -1,70 +0,0 @@
-{
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:alternatives",
- "children": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:weapon/pickaxe/diamond",
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/dark"
- },
- {
- "condition": "minecraft:random_chance",
- "chance": 0.5
- }
- ]
- },
- {
- "type": "minecraft:alternatives",
- "children": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:weapon/axe/diamond",
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.0025
- }
- },
- "range": 1
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:weapon/shovel/diamond",
- "conditions": [
- {
- "condition": "minecraft:random_chance",
- "chance": 0.33
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:weapon/sword/diamond"
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_weapon/material/gold.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_weapon/material/gold.json
deleted file mode 100644
index be5bfb5121..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_weapon/material/gold.json
+++ /dev/null
@@ -1,70 +0,0 @@
-{
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:alternatives",
- "children": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:weapon/pickaxe/gold",
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/dark"
- },
- {
- "condition": "minecraft:random_chance",
- "chance": 0.5
- }
- ]
- },
- {
- "type": "minecraft:alternatives",
- "children": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:weapon/axe/gold",
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.0025
- }
- },
- "range": 1
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:weapon/shovel/gold",
- "conditions": [
- {
- "condition": "minecraft:random_chance",
- "chance": 0.33
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:weapon/sword/gold"
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_weapon/material/iron.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_weapon/material/iron.json
deleted file mode 100644
index 22bcdc089c..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_weapon/material/iron.json
+++ /dev/null
@@ -1,70 +0,0 @@
-{
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:alternatives",
- "children": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:weapon/pickaxe/iron",
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/dark"
- },
- {
- "condition": "minecraft:random_chance",
- "chance": 0.5
- }
- ]
- },
- {
- "type": "minecraft:alternatives",
- "children": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:weapon/axe/iron",
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.0025
- }
- },
- "range": 1
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:weapon/shovel/iron",
- "conditions": [
- {
- "condition": "minecraft:random_chance",
- "chance": 0.33
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:weapon/sword/iron"
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_weapon/material/stone.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_weapon/material/stone.json
deleted file mode 100644
index 75941deebe..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_weapon/material/stone.json
+++ /dev/null
@@ -1,70 +0,0 @@
-{
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:alternatives",
- "children": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:weapon/pickaxe/stone",
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/dark"
- },
- {
- "condition": "minecraft:random_chance",
- "chance": 0.5
- }
- ]
- },
- {
- "type": "minecraft:alternatives",
- "children": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:weapon/axe/stone",
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.0025
- }
- },
- "range": 1
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:weapon/shovel/stone",
- "conditions": [
- {
- "condition": "minecraft:random_chance",
- "chance": 0.33
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:weapon/sword/stone"
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_weapon/material/wood.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_weapon/material/wood.json
deleted file mode 100644
index 05b58ad8ea..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_weapon/material/wood.json
+++ /dev/null
@@ -1,70 +0,0 @@
-{
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:alternatives",
- "children": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:weapon/pickaxe/wood",
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/dark"
- },
- {
- "condition": "minecraft:random_chance",
- "chance": 0.5
- }
- ]
- },
- {
- "type": "minecraft:alternatives",
- "children": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:weapon/axe/wood",
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.0025
- }
- },
- "range": 1
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:weapon/shovel/wood",
- "conditions": [
- {
- "condition": "minecraft:random_chance",
- "chance": 0.33
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:weapon/sword/wood"
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_weapon/miniboss.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_weapon/miniboss.json
deleted file mode 100644
index be5d2809af..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_weapon/miniboss.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:loot_table",
- "weight": 45,
- "value": "gm4_combat_expanded:weapon/axe/diamond"
- },
- {
- "type": "minecraft:loot_table",
- "weight": 65,
- "value": "gm4_combat_expanded:weapon/sword/diamond"
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_weapon/piglin.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_weapon/piglin.json
deleted file mode 100644
index cc8e10bf4c..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_weapon/piglin.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
- "type": "minecraft:entity",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:alternatives",
- "children": [
- {
- "type": "minecraft:item",
- "name": "minecraft:crossbow",
- "conditions": [
- {
- "condition": "minecraft:random_chance",
- "chance": 0.5
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:weapon/sword/gold"
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_weapon/shield.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_weapon/shield.json
deleted file mode 100644
index 1ce45fb025..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_weapon/shield.json
+++ /dev/null
@@ -1,21 +0,0 @@
-{
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:shield",
- "functions": [
- {
- "function": "minecraft:set_enchantments",
- "enchantments": {
- "minecraft:unbreaking": 5
- }
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_weapon/skeleton.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_weapon/skeleton.json
deleted file mode 100644
index 44667a78d6..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_weapon/skeleton.json
+++ /dev/null
@@ -1,119 +0,0 @@
-{
- "type": "minecraft:entity",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:alternatives",
- "children": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:mob/equip_weapon/generic",
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/growth"
- }
- ]
- },
- {
- "type": "minecraft:item",
- "name": "minecraft:bow",
- "functions": [
- {
- "function": "minecraft:enchant_with_levels",
- "levels": {
- "min": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.05
- },
- "max": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.2
- }
- },
- "options": "#minecraft:non_treasure",
- "conditions": [
- {
- "condition": "minecraft:random_chance",
- "chance": 0.15
- }
- ]
- },
- {
- "function": "minecraft:enchant_randomly",
- "options": [
- "minecraft:punch"
- ],
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/mountainous"
- },
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.0035
- }
- },
- "range": 1
- }
- ]
- },
- {
- "function": "minecraft:enchant_randomly",
- "options": [
- "minecraft:flame"
- ],
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/burned"
- },
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.0045
- }
- },
- "range": 1
- }
- ]
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_weapon/wither_skeleton.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_weapon/wither_skeleton.json
deleted file mode 100644
index 471f2daf47..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/equip_weapon/wither_skeleton.json
+++ /dev/null
@@ -1,42 +0,0 @@
-{
- "type": "minecraft:entity",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:alternatives",
- "children": [
- {
- "type": "minecraft:item",
- "name": "minecraft:bow",
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.004
- }
- },
- "range": 1
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:weapon/sword/stone"
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/randomize_stats/armor.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/randomize_stats/armor.json
deleted file mode 100644
index 5a6b729280..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/randomize_stats/armor.json
+++ /dev/null
@@ -1,62 +0,0 @@
-{
- "pools": [
- {
- "rolls": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$mob_armor"
- },
- "score": "gm4_ce_data",
- "scale": 0.25
- },
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:stone"
- }
- ]
- },
- {
- "rolls": {
- "min": 1,
- "max": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$mob_armor"
- },
- "score": "gm4_ce_data",
- "scale": 0.25
- }
- },
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:stone"
- }
- ]
- },
- {
- "rolls": {
- "type": "minecraft:binomial",
- "n": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$mob_armor"
- },
- "score": "gm4_ce_data",
- "scale": 0.5
- },
- "p": 0.5
- },
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:stone"
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/randomize_stats/damage.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/randomize_stats/damage.json
deleted file mode 100644
index f880076c22..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/randomize_stats/damage.json
+++ /dev/null
@@ -1,62 +0,0 @@
-{
- "pools": [
- {
- "rolls": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$mob_damage"
- },
- "score": "gm4_ce_data",
- "scale": 0.15
- },
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:stone"
- }
- ]
- },
- {
- "rolls": {
- "min": 1,
- "max": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$mob_damage"
- },
- "score": "gm4_ce_data",
- "scale": 0.35
- }
- },
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:stone"
- }
- ]
- },
- {
- "rolls": {
- "type": "minecraft:binomial",
- "n": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$mob_damage"
- },
- "score": "gm4_ce_data",
- "scale": 0.5
- },
- "p": 0.5
- },
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:stone"
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/randomize_stats/health.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/randomize_stats/health.json
deleted file mode 100644
index bad39a05ae..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/randomize_stats/health.json
+++ /dev/null
@@ -1,42 +0,0 @@
-{
- "pools": [
- {
- "rolls": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$mob_health"
- },
- "score": "gm4_ce_data",
- "scale": 0.5
- },
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:stone"
- }
- ]
- },
- {
- "rolls": {
- "type": "minecraft:binomial",
- "n": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$mob_health"
- },
- "score": "gm4_ce_data",
- "scale": 0.5
- },
- "p": 0.5
- },
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:stone"
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/randomize_stats/speed.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/randomize_stats/speed.json
deleted file mode 100644
index 926465aa5d..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/randomize_stats/speed.json
+++ /dev/null
@@ -1,45 +0,0 @@
-{
- "pools": [
- {
- "rolls": {
- "min": 1,
- "max": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$mob_speed"
- },
- "score": "gm4_ce_data",
- "scale": 0.5
- }
- },
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:stone"
- }
- ]
- },
- {
- "rolls": {
- "type": "minecraft:binomial",
- "n": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$mob_speed"
- },
- "score": "gm4_ce_data",
- "scale": 0.5
- },
- "p": 0.5
- },
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:stone"
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/randomize_stats/toughness.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/randomize_stats/toughness.json
deleted file mode 100644
index 59f46842b4..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/mob/randomize_stats/toughness.json
+++ /dev/null
@@ -1,42 +0,0 @@
-{
- "pools": [
- {
- "rolls": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$mob_toughness"
- },
- "score": "gm4_ce_data",
- "scale": 0.25
- },
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:stone"
- }
- ]
- },
- {
- "rolls": {
- "type": "minecraft:binomial",
- "n": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$mob_toughness"
- },
- "score": "gm4_ce_data",
- "scale": 0.75
- },
- "p": 0.5
- },
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:stone"
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/randomizer/armor.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/randomizer/armor.json
deleted file mode 100644
index 14da6cc873..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/randomizer/armor.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:stone"
- }
- ]
- },
- {
- "rolls": {
- "type": "minecraft:binomial",
- "n": 2,
- "p": 0.6
- },
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:stone"
- }
- ],
- "conditions": [
- {
- "condition": "minecraft:random_chance",
- "chance": 0.5
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/randomizer/atkspeed.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/randomizer/atkspeed.json
deleted file mode 100644
index c68b062051..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/randomizer/atkspeed.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 10,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:stone"
- }
- ]
- },
- {
- "rolls": {
- "type": "minecraft:binomial",
- "n": 15,
- "p": 0.3
- },
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:stone"
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/randomizer/damage.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/randomizer/damage.json
deleted file mode 100644
index bfa0506214..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/randomizer/damage.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:stone"
- }
- ]
- },
- {
- "rolls": {
- "type": "minecraft:binomial",
- "n": 3,
- "p": 0.4
- },
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:stone"
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/randomizer/speed.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/randomizer/speed.json
deleted file mode 100644
index 0ed0426cdd..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/randomizer/speed.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 5,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:stone"
- }
- ]
- },
- {
- "rolls": {
- "type": "minecraft:binomial",
- "n": 15,
- "p": 0.3
- },
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:stone"
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/technical/enchant_randomly.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/technical/enchant_randomly.json
deleted file mode 100644
index 814bba3177..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/technical/enchant_randomly.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:book"
- }
- ],
- "functions": [
- {
- "function": "minecraft:enchant_with_levels",
- "levels": {
- "min": 30,
- "max": 55
- },
- "options": "#minecraft:non_treasure"
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/technical/roll_damage.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/technical/roll_damage.json
deleted file mode 100644
index 806c23afd3..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/technical/roll_damage.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": {
- "type": "minecraft:binomial",
- "n": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage_opportunities"
- },
- "score": "gm4_ce_data"
- },
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage_chance"
- },
- "score": "gm4_ce_data",
- "scale": 0.01
- }
- },
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:stone"
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/technical/satiate_name.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/technical/satiate_name.json
deleted file mode 100644
index ac426804ea..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/technical/satiate_name.json
+++ /dev/null
@@ -1,40 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:stone"
- }
- ],
- "functions": [
- {
- "function": "minecraft:set_name",
- "entity": "this",
- "target": "item_name",
- "name": [
- {
- "translate": "item.gm4.combat_expanded.name.satiated",
- "fallback": "Satiated %s",
- "with": [
- {
- "nbt": "components.'minecraft:custom_data'.gm4_combat_expanded.name",
- "storage": "gm4_combat_expanded:temp",
- "interpret": true
- }
- ]
- }
- ]
- },
- {
- "function": "minecraft:set_components",
- "components": {
- "minecraft:rarity": "uncommon"
- }
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/technical/sharpness_lore.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/technical/sharpness_lore.json
deleted file mode 100644
index 910a9c8f81..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/technical/sharpness_lore.json
+++ /dev/null
@@ -1,376 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:stone"
- }
- ],
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- " ",
- {
- "translate": "attribute.modifier.equals.0",
- "with": [
- [
- {
- "score": {
- "name": "$damage_10",
- "objective": "gm4_ce_data"
- },
- "color": "dark_green",
- "italic": false
- },
- ".",
- {
- "score": {
- "name": "$damage_01",
- "objective": "gm4_ce_data"
- }
- }
- ],
- {
- "translate": "attribute.name.attack_damage"
- }
- ],
- "color": "dark_green",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage_buffed"
- },
- "score": "gm4_ce_data"
- },
- "range": 0
- },
- {
- "condition": "minecraft:inverted",
- "term": {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage_01"
- },
- "score": "gm4_ce_data"
- },
- "range": 0
- }
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- " ",
- {
- "translate": "attribute.modifier.equals.0",
- "with": [
- [
- {
- "score": {
- "name": "$damage_10",
- "objective": "gm4_ce_data"
- },
- "color": "green",
- "italic": false
- },
- ".",
- {
- "score": {
- "name": "$damage_01",
- "objective": "gm4_ce_data"
- }
- }
- ],
- {
- "translate": "attribute.name.attack_damage"
- }
- ],
- "color": "dark_green",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage_buffed"
- },
- "score": "gm4_ce_data"
- },
- "range": 1
- },
- {
- "condition": "minecraft:inverted",
- "term": {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage_01"
- },
- "score": "gm4_ce_data"
- },
- "range": 0
- }
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- " ",
- {
- "translate": "attribute.modifier.equals.0",
- "with": [
- [
- {
- "score": {
- "name": "$damage_10",
- "objective": "gm4_ce_data"
- },
- "color": "red",
- "italic": false
- },
- ".",
- {
- "score": {
- "name": "$damage_01",
- "objective": "gm4_ce_data"
- }
- }
- ],
- {
- "translate": "attribute.name.attack_damage"
- }
- ],
- "color": "dark_green",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage_buffed"
- },
- "score": "gm4_ce_data"
- },
- "range": -1
- },
- {
- "condition": "minecraft:inverted",
- "term": {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage_01"
- },
- "score": "gm4_ce_data"
- },
- "range": 0
- }
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- " ",
- {
- "translate": "attribute.modifier.equals.0",
- "with": [
- {
- "score": {
- "name": "$damage_10",
- "objective": "gm4_ce_data"
- },
- "color": "dark_green",
- "italic": false
- },
- {
- "translate": "attribute.name.attack_damage"
- }
- ],
- "color": "dark_green",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage_buffed"
- },
- "score": "gm4_ce_data"
- },
- "range": 0
- },
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage_01"
- },
- "score": "gm4_ce_data"
- },
- "range": 0
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- " ",
- {
- "translate": "attribute.modifier.equals.0",
- "with": [
- {
- "score": {
- "name": "$damage_10",
- "objective": "gm4_ce_data"
- },
- "color": "green",
- "italic": false
- },
- {
- "translate": "attribute.name.attack_damage"
- }
- ],
- "color": "dark_green",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage_buffed"
- },
- "score": "gm4_ce_data"
- },
- "range": 1
- },
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage_01"
- },
- "score": "gm4_ce_data"
- },
- "range": 0
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- " ",
- {
- "translate": "attribute.modifier.equals.0",
- "with": [
- {
- "score": {
- "name": "$damage_10",
- "objective": "gm4_ce_data"
- },
- "color": "red",
- "italic": false
- },
- {
- "translate": "attribute.name.attack_damage"
- }
- ],
- "color": "dark_green",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage_buffed"
- },
- "score": "gm4_ce_data"
- },
- "range": -1
- },
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage_01"
- },
- "score": "gm4_ce_data"
- },
- "range": 0
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/technical/swift_lore.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/technical/swift_lore.json
deleted file mode 100644
index 5374535fd0..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/technical/swift_lore.json
+++ /dev/null
@@ -1,112 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:stone"
- }
- ],
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- " ",
- {
- "translate": "attribute.modifier.equals.0",
- "with": [
- [
- {
- "score": {
- "name": "$atkspeed_10",
- "objective": "gm4_ce_data"
- },
- "color": "blue",
- "italic": false
- },
- ".",
- {
- "score": {
- "name": "$atkspeed_01",
- "objective": "gm4_ce_data"
- }
- }
- ],
- {
- "translate": "attribute.name.attack_speed"
- }
- ],
- "color": "dark_green",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:inverted",
- "term": {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$atkspeed_01"
- },
- "score": "gm4_ce_data"
- },
- "range": 0
- }
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- " ",
- {
- "translate": "attribute.modifier.equals.0",
- "with": [
- {
- "score": {
- "name": "$atkspeed_10",
- "objective": "gm4_ce_data"
- },
- "color": "blue",
- "italic": false
- },
- {
- "translate": "attribute.name.attack_speed"
- }
- ],
- "color": "dark_green",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$atkspeed_01"
- },
- "score": "gm4_ce_data"
- },
- "range": 0
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/technical/wild_magic_level.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/technical/wild_magic_level.json
deleted file mode 100644
index c7523a3789..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/technical/wild_magic_level.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": {
- "min": 0,
- "max": {
- "min": 0,
- "max": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$add"
- },
- "score": "gm4_ce_data"
- }
- }
- },
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:stone"
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/axe/diamond.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/axe/diamond.json
deleted file mode 100644
index 782ba5d054..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/axe/diamond.json
+++ /dev/null
@@ -1,128 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:diamond_axe",
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.unidentified",
- "fallback": "%s Unidentified Item - Drop to Identify",
- "with": [
- {
- "text": "âš ",
- "color": "red",
- "italic": false
- }
- ],
- "color": "dark_red",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{identified:0,damage:90,atkspeed:10,strike:1,modifier:0,name:'{\"italic\":false,\"translate\":\"item.minecraft.diamond_axe\"}'}}"
- },
- {
- "function": "minecraft:enchant_with_levels",
- "levels": {
- "min": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.05
- },
- "max": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.15
- }
- },
- "options": "#minecraft:non_treasure",
- "conditions": [
- {
- "condition": "minecraft:random_chance",
- "chance": 0.1
- }
- ]
- },
- {
- "function": "minecraft:enchant_randomly",
- "options": [
- "minecraft:knockback"
- ],
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/mountainous"
- },
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.004
- }
- },
- "range": 1
- }
- ]
- },
- {
- "function": "minecraft:enchant_randomly",
- "options": [
- "minecraft:fire_aspect"
- ],
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/burned"
- },
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.004
- }
- },
- "range": 1
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/axe/gold.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/axe/gold.json
deleted file mode 100644
index b11c934b89..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/axe/gold.json
+++ /dev/null
@@ -1,128 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:golden_axe",
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.unidentified",
- "fallback": "%s Unidentified Item - Drop to Identify",
- "with": [
- {
- "text": "âš ",
- "color": "red",
- "italic": false
- }
- ],
- "color": "dark_red",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{identified:0,damage:70,atkspeed:10,strike:1,modifier:0,name:'{\"italic\":false,\"translate\":\"item.minecraft.golden_axe\"}'}}"
- },
- {
- "function": "minecraft:enchant_with_levels",
- "levels": {
- "min": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.1
- },
- "max": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.2
- }
- },
- "options": "#minecraft:non_treasure",
- "conditions": [
- {
- "condition": "minecraft:random_chance",
- "chance": 0.1
- }
- ]
- },
- {
- "function": "minecraft:enchant_randomly",
- "options": [
- "minecraft:knockback"
- ],
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/mountainous"
- },
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.004
- }
- },
- "range": 1
- }
- ]
- },
- {
- "function": "minecraft:enchant_randomly",
- "options": [
- "minecraft:fire_aspect"
- ],
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/burned"
- },
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.004
- }
- },
- "range": 1
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/axe/iron.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/axe/iron.json
deleted file mode 100644
index 20d36460bb..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/axe/iron.json
+++ /dev/null
@@ -1,128 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:iron_axe",
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.unidentified",
- "fallback": "%s Unidentified Item - Drop to Identify",
- "with": [
- {
- "text": "âš ",
- "color": "red",
- "italic": false
- }
- ],
- "color": "dark_red",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{identified:0,damage:90,atkspeed:9,strike:1,modifier:0,name:'{\"italic\":false,\"translate\":\"item.minecraft.iron_axe\"}'}}"
- },
- {
- "function": "minecraft:enchant_with_levels",
- "levels": {
- "min": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.05
- },
- "max": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.15
- }
- },
- "options": "#minecraft:non_treasure",
- "conditions": [
- {
- "condition": "minecraft:random_chance",
- "chance": 0.1
- }
- ]
- },
- {
- "function": "minecraft:enchant_randomly",
- "options": [
- "minecraft:knockback"
- ],
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/mountainous"
- },
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.004
- }
- },
- "range": 1
- }
- ]
- },
- {
- "function": "minecraft:enchant_randomly",
- "options": [
- "minecraft:fire_aspect"
- ],
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/burned"
- },
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.004
- }
- },
- "range": 1
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/axe/stone.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/axe/stone.json
deleted file mode 100644
index c339275fdd..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/axe/stone.json
+++ /dev/null
@@ -1,128 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:stone_axe",
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.unidentified",
- "fallback": "%s Unidentified Item - Drop to Identify",
- "with": [
- {
- "text": "âš ",
- "color": "red",
- "italic": false
- }
- ],
- "color": "dark_red",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{identified:0,damage:90,atkspeed:8,strike:1,modifier:0,name:'{\"italic\":false,\"translate\":\"item.minecraft.stone_axe\"}'}}"
- },
- {
- "function": "minecraft:enchant_with_levels",
- "levels": {
- "min": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.05
- },
- "max": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.15
- }
- },
- "options": "#minecraft:non_treasure",
- "conditions": [
- {
- "condition": "minecraft:random_chance",
- "chance": 0.1
- }
- ]
- },
- {
- "function": "minecraft:enchant_randomly",
- "options": [
- "minecraft:knockback"
- ],
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/mountainous"
- },
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.004
- }
- },
- "range": 1
- }
- ]
- },
- {
- "function": "minecraft:enchant_randomly",
- "options": [
- "minecraft:fire_aspect"
- ],
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/burned"
- },
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.004
- }
- },
- "range": 1
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/axe/wood.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/axe/wood.json
deleted file mode 100644
index 817418b106..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/axe/wood.json
+++ /dev/null
@@ -1,128 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:wooden_axe",
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.unidentified",
- "fallback": "%s Unidentified Item - Drop to Identify",
- "with": [
- {
- "text": "âš ",
- "color": "red",
- "italic": false
- }
- ],
- "color": "dark_red",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{identified:0,damage:70,atkspeed:8,strike:1,modifier:0,name:'{\"italic\":false,\"translate\":\"item.minecraft.wooden_axe\"}'}}"
- },
- {
- "function": "minecraft:enchant_with_levels",
- "levels": {
- "min": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.05
- },
- "max": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.15
- }
- },
- "options": "#minecraft:non_treasure",
- "conditions": [
- {
- "condition": "minecraft:random_chance",
- "chance": 0.1
- }
- ]
- },
- {
- "function": "minecraft:enchant_randomly",
- "options": [
- "minecraft:knockback"
- ],
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/mountainous"
- },
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.004
- }
- },
- "range": 1
- }
- ]
- },
- {
- "function": "minecraft:enchant_randomly",
- "options": [
- "minecraft:fire_aspect"
- ],
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/burned"
- },
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.004
- }
- },
- "range": 1
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/identification/base.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/identification/base.json
deleted file mode 100644
index 18f3d97ffb..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/identification/base.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:wooden_sword",
- "functions": [
- {
- "function": "minecraft:set_components",
- "components": {
- "minecraft:damage": 0,
- "minecraft:attribute_modifiers": {
- "modifiers": []
- },
- "minecraft:enchantments": {}
- }
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/identification/modifier/delay.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/identification/modifier/delay.json
deleted file mode 100644
index 40030dac38..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/identification/modifier/delay.json
+++ /dev/null
@@ -1,444 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:weapon/identification/base",
- "functions": [
- {
- "function": "minecraft:set_attributes",
- "replace": false,
- "modifiers": [
- {
- "attribute": "minecraft:attack_damage",
- "id": "gm4_combat_expanded:delay_reset_attack_damage",
- "amount": -1,
- "operation": "add_value",
- "slot": "mainhand"
- },
- {
- "attribute": "minecraft:attack_speed",
- "id": "gm4_combat_expanded:delay_reset_attack_speed",
- "amount": -4,
- "operation": "add_value",
- "slot": "mainhand"
- },
- {
- "attribute": "minecraft:attack_damage",
- "id": "gm4_combat_expanded:base_attack_damage",
- "amount": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage_low"
- },
- "score": "gm4_ce_data",
- "scale": 0.1
- },
- "operation": "add_value",
- "slot": "mainhand"
- },
- {
- "attribute": "minecraft:attack_speed",
- "id": "gm4_combat_expanded:base_attack_speed",
- "amount": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$atkspeed_stored"
- },
- "score": "gm4_ce_data",
- "scale": 0.1
- },
- "operation": "add_value",
- "slot": "mainhand"
- }
- ]
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{strike:1,modifier:105,damage_buffed:-1,level:'random_value'}}"
- }
- ]
- }
- ],
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- ""
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.delay_strike",
- "fallback": "Reverberating Strikes:",
- "color": "gray",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "item.gm4.combat_expanded.lore.delay",
- "fallback": "Echo",
- "color": "blue",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$random_value"
- },
- "score": "gm4_ce_data"
- },
- "range": 1
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "potion.withAmplifier",
- "with": [
- {
- "translate": "item.gm4.combat_expanded.lore.delay",
- "fallback": "Echo"
- },
- {
- "translate": "potion.potency.1"
- }
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$random_value"
- },
- "score": "gm4_ce_data"
- },
- "range": 2
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "potion.withAmplifier",
- "with": [
- {
- "translate": "item.gm4.combat_expanded.lore.delay",
- "fallback": "Echo"
- },
- {
- "translate": "potion.potency.2"
- }
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$random_value"
- },
- "score": "gm4_ce_data"
- },
- "range": 3
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "item.gm4.combat_expanded.lore.delay_description",
- "fallback": "Deal delayed unblockable damage",
- "color": "dark_gray",
- "italic": false
- }
- ]
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- ""
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- {
- "translate": "item.modifiers.mainhand",
- "color": "gray",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- " ",
- {
- "translate": "attribute.modifier.equals.0",
- "with": [
- [
- {
- "score": {
- "name": "$damage_low_10",
- "objective": "gm4_ce_data"
- },
- "color": "red",
- "italic": false
- },
- ".",
- {
- "score": {
- "name": "$damage_low_01",
- "objective": "gm4_ce_data"
- }
- }
- ],
- {
- "translate": "attribute.name.attack_damage"
- }
- ],
- "color": "dark_green",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:inverted",
- "term": {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage_low_01"
- },
- "score": "gm4_ce_data"
- },
- "range": 0
- }
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- " ",
- {
- "translate": "attribute.modifier.equals.0",
- "with": [
- {
- "score": {
- "name": "$damage_low_10",
- "objective": "gm4_ce_data"
- },
- "color": "red",
- "italic": false
- },
- {
- "translate": "attribute.name.attack_damage"
- }
- ],
- "color": "dark_green",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage_low_01"
- },
- "score": "gm4_ce_data"
- },
- "range": 0
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- " ",
- {
- "translate": "attribute.modifier.equals.0",
- "with": [
- [
- {
- "score": {
- "name": "$atkspeed_stored_10",
- "objective": "gm4_ce_data"
- },
- "color": "dark_green",
- "italic": false
- },
- ".",
- {
- "score": {
- "name": "$atkspeed_stored_01",
- "objective": "gm4_ce_data"
- }
- }
- ],
- {
- "translate": "attribute.name.attack_speed"
- }
- ],
- "color": "dark_green",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:inverted",
- "term": {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$atkspeed_stored_01"
- },
- "score": "gm4_ce_data"
- },
- "range": 0
- }
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- " ",
- {
- "translate": "attribute.modifier.equals.0",
- "with": [
- {
- "score": {
- "name": "$atkspeed_stored_10",
- "objective": "gm4_ce_data"
- },
- "color": "dark_green",
- "italic": false
- },
- {
- "translate": "attribute.name.attack_speed"
- }
- ],
- "color": "dark_green",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$atkspeed_stored_01"
- },
- "score": "gm4_ce_data"
- },
- "range": 0
- }
- ]
- },
- {
- "function": "minecraft:set_name",
- "entity": "this",
- "target": "item_name",
- "name": [
- {
- "translate": "item.gm4.combat_expanded.name.delay",
- "fallback": "Resonating %s",
- "with": [
- {
- "nbt": "components.'minecraft:custom_data'.gm4_combat_expanded.name",
- "storage": "gm4_combat_expanded:temp",
- "interpret": true
- }
- ]
- }
- ]
- },
- {
- "function": "minecraft:set_components",
- "components": {
- "minecraft:rarity": "uncommon"
- }
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/identification/modifier/fire.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/identification/modifier/fire.json
deleted file mode 100644
index 9f9d2cb077..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/identification/modifier/fire.json
+++ /dev/null
@@ -1,314 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:weapon/identification/base",
- "functions": [
- {
- "function": "minecraft:set_attributes",
- "replace": false,
- "modifiers": [
- {
- "attribute": "minecraft:attack_damage",
- "id": "gm4_combat_expanded:fire_reset_attack_damage",
- "amount": -1,
- "operation": "add_value",
- "slot": "mainhand"
- },
- {
- "attribute": "minecraft:attack_speed",
- "id": "gm4_combat_expanded:fire_reset_attack_speed",
- "amount": -4,
- "operation": "add_value",
- "slot": "mainhand"
- },
- {
- "attribute": "minecraft:attack_damage",
- "id": "gm4_combat_expanded:base_attack_damage",
- "amount": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage_down"
- },
- "score": "gm4_ce_data",
- "scale": 0.1
- },
- "operation": "add_value",
- "slot": "mainhand"
- },
- {
- "attribute": "minecraft:attack_speed",
- "id": "gm4_combat_expanded:base_attack_speed",
- "amount": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$atkspeed_stored"
- },
- "score": "gm4_ce_data",
- "scale": 0.1
- },
- "operation": "add_value",
- "slot": "mainhand"
- }
- ]
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{strike:1,modifier:3,damage_buffed:-1}}"
- }
- ]
- }
- ],
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- ""
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- {
- "translate": "item.modifiers.mainhand",
- "color": "gray",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- " ",
- {
- "translate": "attribute.modifier.equals.0",
- "with": [
- [
- {
- "score": {
- "name": "$damage_down_10",
- "objective": "gm4_ce_data"
- },
- "color": "red",
- "italic": false
- },
- ".",
- {
- "score": {
- "name": "$damage_down_01",
- "objective": "gm4_ce_data"
- }
- }
- ],
- {
- "translate": "attribute.name.attack_damage"
- }
- ],
- "color": "dark_green",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:inverted",
- "term": {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage_down_01"
- },
- "score": "gm4_ce_data"
- },
- "range": 0
- }
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- " ",
- {
- "translate": "attribute.modifier.equals.0",
- "with": [
- {
- "score": {
- "name": "$damage_down_10",
- "objective": "gm4_ce_data"
- },
- "color": "red",
- "italic": false
- },
- {
- "translate": "attribute.name.attack_damage"
- }
- ],
- "color": "dark_green",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage_down_01"
- },
- "score": "gm4_ce_data"
- },
- "range": 0
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- " ",
- {
- "translate": "attribute.modifier.equals.0",
- "with": [
- [
- {
- "score": {
- "name": "$atkspeed_stored_10",
- "objective": "gm4_ce_data"
- },
- "color": "dark_green",
- "italic": false
- },
- ".",
- {
- "score": {
- "name": "$atkspeed_stored_01",
- "objective": "gm4_ce_data"
- }
- }
- ],
- {
- "translate": "attribute.name.attack_speed"
- }
- ],
- "color": "dark_green",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:inverted",
- "term": {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$atkspeed_stored_01"
- },
- "score": "gm4_ce_data"
- },
- "range": 0
- }
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- " ",
- {
- "translate": "attribute.modifier.equals.0",
- "with": [
- {
- "score": {
- "name": "$atkspeed_stored_10",
- "objective": "gm4_ce_data"
- },
- "color": "dark_green",
- "italic": false
- },
- {
- "translate": "attribute.name.attack_speed"
- }
- ],
- "color": "dark_green",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$atkspeed_stored_01"
- },
- "score": "gm4_ce_data"
- },
- "range": 0
- }
- ]
- },
- {
- "function": "minecraft:set_name",
- "entity": "this",
- "target": "item_name",
- "name": [
- {
- "translate": "item.gm4.combat_expanded.name.fire",
- "fallback": "Flaming %s",
- "with": [
- {
- "nbt": "components.'minecraft:custom_data'.gm4_combat_expanded.name",
- "storage": "gm4_combat_expanded:temp",
- "interpret": true
- }
- ]
- }
- ]
- },
- {
- "function": "minecraft:set_enchantments",
- "enchantments": {
- "minecraft:fire_aspect": {
- "min": 3,
- "max": {
- "min": 3,
- "max": 5
- }
- }
- },
- "add": false
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/identification/modifier/giant.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/identification/modifier/giant.json
deleted file mode 100644
index 3f4b7e977d..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/identification/modifier/giant.json
+++ /dev/null
@@ -1,366 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:weapon/identification/base",
- "functions": [
- {
- "function": "minecraft:set_attributes",
- "replace": false,
- "modifiers": [
- {
- "attribute": "minecraft:attack_damage",
- "id": "gm4_combat_expanded:giant_reset_attack_damage",
- "amount": -1,
- "operation": "add_value",
- "slot": "mainhand"
- },
- {
- "attribute": "minecraft:attack_speed",
- "id": "gm4_combat_expanded:giant_reset_attack_speed",
- "amount": -4,
- "operation": "add_value",
- "slot": "mainhand"
- },
- {
- "attribute": "minecraft:attack_damage",
- "id": "gm4_combat_expanded:base_attack_damage",
- "amount": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage_stored"
- },
- "score": "gm4_ce_data",
- "scale": 0.1
- },
- "operation": "add_value",
- "slot": "mainhand"
- },
- {
- "attribute": "minecraft:attack_speed",
- "id": "gm4_combat_expanded:base_attack_speed",
- "amount": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$atkspeed_low"
- },
- "score": "gm4_ce_data",
- "scale": 0.1
- },
- "operation": "add_value",
- "slot": "mainhand"
- },
- {
- "attribute": "minecraft:entity_interaction_range",
- "id": "gm4_combat_expanded:giant_entity_interaction_range",
- "amount": 1,
- "operation": "add_value",
- "slot": "mainhand"
- }
- ]
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{strike:'giant',modifier:110}}"
- }
- ]
- }
- ],
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- ""
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.giant_strike",
- "fallback": "Stomping Strikes:",
- "color": "gray",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "item.gm4.combat_expanded.lore.giant",
- "fallback": "Area Damage",
- "color": "blue",
- "italic": false
- }
- ]
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- ""
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- {
- "translate": "item.modifiers.mainhand",
- "color": "gray",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- " ",
- {
- "translate": "attribute.modifier.equals.0",
- "with": [
- [
- {
- "score": {
- "name": "$damage_stored_10",
- "objective": "gm4_ce_data"
- },
- "color": "dark_green",
- "italic": false
- },
- ".",
- {
- "score": {
- "name": "$damage_stored_01",
- "objective": "gm4_ce_data"
- }
- }
- ],
- {
- "translate": "attribute.name.attack_damage"
- }
- ],
- "color": "dark_green",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:inverted",
- "term": {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage_stored_01"
- },
- "score": "gm4_ce_data"
- },
- "range": 0
- }
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- " ",
- {
- "translate": "attribute.modifier.equals.0",
- "with": [
- {
- "score": {
- "name": "$damage_stored_10",
- "objective": "gm4_ce_data"
- },
- "color": "dark_green",
- "italic": false
- },
- {
- "translate": "attribute.name.attack_damage"
- }
- ],
- "color": "dark_green",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage_stored_01"
- },
- "score": "gm4_ce_data"
- },
- "range": 0
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- " ",
- {
- "translate": "attribute.modifier.equals.0",
- "with": [
- [
- {
- "score": {
- "name": "$atkspeed_low_10",
- "objective": "gm4_ce_data"
- },
- "color": "red",
- "italic": false
- },
- ".",
- {
- "score": {
- "name": "$atkspeed_low_01",
- "objective": "gm4_ce_data"
- }
- }
- ],
- {
- "translate": "attribute.name.attack_speed"
- }
- ],
- "color": "dark_green",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:inverted",
- "term": {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$atkspeed_low_01"
- },
- "score": "gm4_ce_data"
- },
- "range": 0
- }
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- " ",
- {
- "translate": "attribute.modifier.equals.0",
- "with": [
- {
- "score": {
- "name": "$atkspeed_low_10",
- "objective": "gm4_ce_data"
- },
- "color": "red",
- "italic": false
- },
- {
- "translate": "attribute.name.attack_speed"
- }
- ],
- "color": "dark_green",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$atkspeed_low_01"
- },
- "score": "gm4_ce_data"
- },
- "range": 0
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- " ",
- {
- "translate": "attribute.modifier.plus.0",
- "with": [
- {
- "text": "1",
- "color": "green"
- },
- {
- "translate": "attribute.name.entity_interaction_range"
- }
- ],
- "color": "dark_green",
- "italic": false
- }
- ]
- ]
- },
- {
- "function": "minecraft:set_name",
- "entity": "this",
- "target": "item_name",
- "name": [
- {
- "translate": "item.gm4.combat_expanded.name.giant",
- "fallback": "Giant %s",
- "with": [
- {
- "nbt": "components.'minecraft:custom_data'.gm4_combat_expanded.name",
- "storage": "gm4_combat_expanded:temp",
- "interpret": true
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/identification/modifier/heavy.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/identification/modifier/heavy.json
deleted file mode 100644
index e46fd82198..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/identification/modifier/heavy.json
+++ /dev/null
@@ -1,311 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:weapon/identification/base",
- "functions": [
- {
- "function": "minecraft:set_attributes",
- "replace": false,
- "modifiers": [
- {
- "attribute": "minecraft:attack_damage",
- "id": "gm4_combat_expanded:heavy_reset_attack_damage",
- "amount": -1,
- "operation": "add_value",
- "slot": "mainhand"
- },
- {
- "attribute": "minecraft:attack_speed",
- "id": "gm4_combat_expanded:heavy_reset_attack_speed",
- "amount": -4,
- "operation": "add_value",
- "slot": "mainhand"
- },
- {
- "attribute": "minecraft:attack_damage",
- "id": "gm4_combat_expanded:base_attack_damage",
- "amount": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage_up"
- },
- "score": "gm4_ce_data",
- "scale": 0.1
- },
- "operation": "add_value",
- "slot": "mainhand"
- },
- {
- "attribute": "minecraft:attack_speed",
- "id": "gm4_combat_expanded:base_attack_speed",
- "amount": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$atkspeed_down"
- },
- "score": "gm4_ce_data",
- "scale": 0.1
- },
- "operation": "add_value",
- "slot": "mainhand"
- }
- ]
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{strike:1,modifier:2,damage_buffed:1}}"
- }
- ]
- }
- ],
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- ""
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- {
- "translate": "item.modifiers.mainhand",
- "color": "gray",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- " ",
- {
- "translate": "attribute.modifier.equals.0",
- "with": [
- [
- {
- "score": {
- "name": "$damage_up_10",
- "objective": "gm4_ce_data"
- },
- "color": "green",
- "italic": false
- },
- ".",
- {
- "score": {
- "name": "$damage_up_01",
- "objective": "gm4_ce_data"
- }
- }
- ],
- {
- "translate": "attribute.name.attack_damage"
- }
- ],
- "color": "dark_green",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:inverted",
- "term": {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage_up_01"
- },
- "score": "gm4_ce_data"
- },
- "range": 0
- }
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- " ",
- {
- "translate": "attribute.modifier.equals.0",
- "with": [
- {
- "score": {
- "name": "$damage_up_10",
- "objective": "gm4_ce_data"
- },
- "color": "green",
- "italic": false
- },
- {
- "translate": "attribute.name.attack_damage"
- }
- ],
- "color": "dark_green",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage_up_01"
- },
- "score": "gm4_ce_data"
- },
- "range": 0
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- " ",
- {
- "translate": "attribute.modifier.equals.0",
- "with": [
- [
- {
- "score": {
- "name": "$atkspeed_down_10",
- "objective": "gm4_ce_data"
- },
- "color": "red",
- "italic": false
- },
- ".",
- {
- "score": {
- "name": "$atkspeed_down_01",
- "objective": "gm4_ce_data"
- }
- }
- ],
- {
- "translate": "attribute.name.attack_speed"
- }
- ],
- "color": "dark_green",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:inverted",
- "term": {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$atkspeed_down_01"
- },
- "score": "gm4_ce_data"
- },
- "range": 0
- }
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- " ",
- {
- "translate": "attribute.modifier.equals.0",
- "with": [
- {
- "score": {
- "name": "$atkspeed_down_10",
- "objective": "gm4_ce_data"
- },
- "color": "red",
- "italic": false
- },
- {
- "translate": "attribute.name.attack_speed"
- }
- ],
- "color": "dark_green",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$atkspeed_down_01"
- },
- "score": "gm4_ce_data"
- },
- "range": 0
- }
- ]
- },
- {
- "function": "minecraft:set_name",
- "entity": "this",
- "target": "item_name",
- "name": [
- {
- "translate": "item.gm4.combat_expanded.name.heavy",
- "fallback": "Heavy %s",
- "with": [
- {
- "nbt": "components.'minecraft:custom_data'.gm4_combat_expanded.name",
- "storage": "gm4_combat_expanded:temp",
- "interpret": true
- }
- ]
- }
- ]
- },
- {
- "function": "minecraft:set_enchantments",
- "enchantments": {
- "minecraft:knockback": {
- "min": 2,
- "max": 3
- }
- },
- "add": false
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/identification/modifier/lightning.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/identification/modifier/lightning.json
deleted file mode 100644
index 25214375ed..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/identification/modifier/lightning.json
+++ /dev/null
@@ -1,385 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:weapon/identification/base",
- "functions": [
- {
- "function": "minecraft:set_attributes",
- "replace": false,
- "modifiers": [
- {
- "attribute": "minecraft:attack_damage",
- "id": "gm4_combat_expanded:lightning_reset_attack_damage",
- "amount": -1,
- "operation": "add_value",
- "slot": "mainhand"
- },
- {
- "attribute": "minecraft:attack_speed",
- "id": "gm4_combat_expanded:lightning_reset_attack_speed",
- "amount": -4,
- "operation": "add_value",
- "slot": "mainhand"
- },
- {
- "attribute": "minecraft:attack_damage",
- "id": "gm4_combat_expanded:base_attack_damage",
- "amount": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage_low"
- },
- "score": "gm4_ce_data",
- "scale": 0.1
- },
- "operation": "add_value",
- "slot": "mainhand"
- },
- {
- "attribute": "minecraft:attack_speed",
- "id": "gm4_combat_expanded:base_attack_speed",
- "amount": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$atkspeed_stored"
- },
- "score": "gm4_ce_data",
- "scale": 0.1
- },
- "operation": "add_value",
- "slot": "mainhand"
- }
- ]
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{strike:1,modifier:116,damage_buffed:-1}}"
- }
- ]
- }
- ],
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- ""
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.lightning_strike",
- "fallback": "Static Strikes:",
- "color": "gray",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "potion.withDuration",
- "with": [
- {
- "translate": "potion.withAmplifier",
- "with": [
- {
- "translate": "item.gm4.combat_expanded.lore.lightning",
- "fallback": "Charge"
- },
- {
- "translate": "potion.potency.1"
- }
- ]
- },
- "0:08"
- ],
- "color": "red",
- "italic": false
- }
- ]
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "item.gm4.combat_expanded.lore.lightning_description_2",
- "fallback": "Charge effect stacks when re-applied",
- "color": "dark_gray",
- "italic": false
- }
- ]
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "item.gm4.combat_expanded.lore.lightning_description",
- "fallback": "Apply 7 stacks to strike with Lightning",
- "color": "dark_gray",
- "italic": false
- }
- ]
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- ""
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- {
- "translate": "item.modifiers.mainhand",
- "color": "gray",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- " ",
- {
- "translate": "attribute.modifier.equals.0",
- "with": [
- [
- {
- "score": {
- "name": "$damage_low_10",
- "objective": "gm4_ce_data"
- },
- "color": "red",
- "italic": false
- },
- ".",
- {
- "score": {
- "name": "$damage_low_01",
- "objective": "gm4_ce_data"
- }
- }
- ],
- {
- "translate": "attribute.name.attack_damage"
- }
- ],
- "color": "dark_green",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:inverted",
- "term": {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage_low_01"
- },
- "score": "gm4_ce_data"
- },
- "range": 0
- }
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- " ",
- {
- "translate": "attribute.modifier.equals.0",
- "with": [
- {
- "score": {
- "name": "$damage_low_10",
- "objective": "gm4_ce_data"
- },
- "color": "red",
- "italic": false
- },
- {
- "translate": "attribute.name.attack_damage"
- }
- ],
- "color": "dark_green",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage_low_01"
- },
- "score": "gm4_ce_data"
- },
- "range": 0
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- " ",
- {
- "translate": "attribute.modifier.equals.0",
- "with": [
- [
- {
- "score": {
- "name": "$atkspeed_stored_10",
- "objective": "gm4_ce_data"
- },
- "color": "dark_green",
- "italic": false
- },
- ".",
- {
- "score": {
- "name": "$atkspeed_stored_01",
- "objective": "gm4_ce_data"
- }
- }
- ],
- {
- "translate": "attribute.name.attack_speed"
- }
- ],
- "color": "dark_green",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:inverted",
- "term": {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$atkspeed_stored_01"
- },
- "score": "gm4_ce_data"
- },
- "range": 0
- }
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- " ",
- {
- "translate": "attribute.modifier.equals.0",
- "with": [
- {
- "score": {
- "name": "$atkspeed_stored_10",
- "objective": "gm4_ce_data"
- },
- "color": "dark_green",
- "italic": false
- },
- {
- "translate": "attribute.name.attack_speed"
- }
- ],
- "color": "dark_green",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$atkspeed_stored_01"
- },
- "score": "gm4_ce_data"
- },
- "range": 0
- }
- ]
- },
- {
- "function": "minecraft:set_name",
- "entity": "this",
- "target": "item_name",
- "name": [
- {
- "translate": "item.gm4.combat_expanded.name.lightning",
- "fallback": "Charged %s",
- "with": [
- {
- "nbt": "components.'minecraft:custom_data'.gm4_combat_expanded.name",
- "storage": "gm4_combat_expanded:temp",
- "interpret": true
- }
- ]
- }
- ]
- },
- {
- "function": "minecraft:set_components",
- "components": {
- "minecraft:rarity": "uncommon"
- }
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/identification/modifier/long.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/identification/modifier/long.json
deleted file mode 100644
index ca436b3c87..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/identification/modifier/long.json
+++ /dev/null
@@ -1,433 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:weapon/identification/base",
- "functions": [
- {
- "function": "minecraft:set_attributes",
- "replace": false,
- "modifiers": [
- {
- "attribute": "minecraft:attack_damage",
- "id": "gm4_combat_expanded:long_reset_attack_damage",
- "amount": -1,
- "operation": "add_value",
- "slot": "mainhand"
- },
- {
- "attribute": "minecraft:attack_speed",
- "id": "gm4_combat_expanded:long_reset_attack_speed",
- "amount": -4,
- "operation": "add_value",
- "slot": "mainhand"
- },
- {
- "attribute": "minecraft:attack_damage",
- "id": "gm4_combat_expanded:base_attack_damage",
- "amount": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage_stored"
- },
- "score": "gm4_ce_data",
- "scale": 0.1
- },
- "operation": "add_value",
- "slot": "mainhand"
- },
- {
- "attribute": "minecraft:attack_speed",
- "id": "gm4_combat_expanded:base_attack_speed",
- "amount": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$atkspeed_down"
- },
- "score": "gm4_ce_data",
- "scale": 0.1
- },
- "operation": "add_value",
- "slot": "mainhand"
- },
- {
- "attribute": "minecraft:entity_interaction_range",
- "id": "gm4_combat_expanded:long_entity_interaction_range",
- "amount": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$random_value"
- },
- "score": "gm4_ce_data",
- "scale": 0.5
- },
- "operation": "add_value",
- "slot": "mainhand"
- }
- ]
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{strike:1,modifier:4}}"
- }
- ]
- }
- ],
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- ""
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- {
- "translate": "item.modifiers.mainhand",
- "color": "gray",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- " ",
- {
- "translate": "attribute.modifier.equals.0",
- "with": [
- [
- {
- "score": {
- "name": "$damage_stored_10",
- "objective": "gm4_ce_data"
- },
- "color": "dark_green",
- "italic": false
- },
- ".",
- {
- "score": {
- "name": "$damage_stored_01",
- "objective": "gm4_ce_data"
- }
- }
- ],
- {
- "translate": "attribute.name.attack_damage"
- }
- ],
- "color": "dark_green",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:inverted",
- "term": {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage_stored_01"
- },
- "score": "gm4_ce_data"
- },
- "range": 0
- }
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- " ",
- {
- "translate": "attribute.modifier.equals.0",
- "with": [
- {
- "score": {
- "name": "$damage_stored_10",
- "objective": "gm4_ce_data"
- },
- "color": "dark_green",
- "italic": false
- },
- {
- "translate": "attribute.name.attack_damage"
- }
- ],
- "color": "dark_green",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage_stored_01"
- },
- "score": "gm4_ce_data"
- },
- "range": 0
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- " ",
- {
- "translate": "attribute.modifier.equals.0",
- "with": [
- [
- {
- "score": {
- "name": "$atkspeed_down_10",
- "objective": "gm4_ce_data"
- },
- "color": "red",
- "italic": false
- },
- ".",
- {
- "score": {
- "name": "$atkspeed_down_01",
- "objective": "gm4_ce_data"
- }
- }
- ],
- {
- "translate": "attribute.name.attack_speed"
- }
- ],
- "color": "dark_green",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:inverted",
- "term": {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$atkspeed_down_01"
- },
- "score": "gm4_ce_data"
- },
- "range": 0
- }
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- " ",
- {
- "translate": "attribute.modifier.equals.0",
- "with": [
- {
- "score": {
- "name": "$atkspeed_down_10",
- "objective": "gm4_ce_data"
- },
- "color": "red",
- "italic": false
- },
- {
- "translate": "attribute.name.attack_speed"
- }
- ],
- "color": "dark_green",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$atkspeed_down_01"
- },
- "score": "gm4_ce_data"
- },
- "range": 0
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- " ",
- {
- "translate": "attribute.modifier.plus.0",
- "with": [
- {
- "text": "0.5",
- "color": "green"
- },
- {
- "translate": "attribute.name.entity_interaction_range",
- "color": "dark_green"
- }
- ],
- "color": "dark_green",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$random_value"
- },
- "score": "gm4_ce_data"
- },
- "range": 1
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- " ",
- {
- "translate": "attribute.modifier.plus.0",
- "with": [
- {
- "text": "1",
- "color": "green"
- },
- {
- "translate": "attribute.name.entity_interaction_range",
- "color": "dark_green"
- }
- ],
- "color": "dark_green",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$random_value"
- },
- "score": "gm4_ce_data"
- },
- "range": 2
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- " ",
- {
- "translate": "attribute.modifier.plus.0",
- "with": [
- {
- "text": "1.5",
- "color": "green"
- },
- {
- "translate": "attribute.name.entity_interaction_range",
- "color": "dark_green"
- }
- ],
- "color": "dark_green",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$random_value"
- },
- "score": "gm4_ce_data"
- },
- "range": 3
- }
- ]
- },
- {
- "function": "minecraft:set_name",
- "entity": "this",
- "name": [
- {
- "translate": "item.gm4.combat_expanded.name.long",
- "fallback": "Long %s",
- "with": [
- {
- "nbt": "components.'minecraft:custom_data'.gm4_combat_expanded.name",
- "storage": "gm4_combat_expanded:temp",
- "interpret": true
- }
- ],
- "italic": false
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/identification/modifier/pierce.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/identification/modifier/pierce.json
deleted file mode 100644
index 7a411444a5..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/identification/modifier/pierce.json
+++ /dev/null
@@ -1,461 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:weapon/identification/base",
- "functions": [
- {
- "function": "minecraft:set_attributes",
- "replace": false,
- "modifiers": [
- {
- "attribute": "minecraft:attack_damage",
- "id": "gm4_combat_expanded:pierce_reset_attack_damage",
- "amount": -1,
- "operation": "add_value",
- "slot": "mainhand"
- },
- {
- "attribute": "minecraft:attack_speed",
- "id": "gm4_combat_expanded:pierce_reset_attack_speed",
- "amount": -4,
- "operation": "add_value",
- "slot": "mainhand"
- },
- {
- "attribute": "minecraft:attack_damage",
- "id": "gm4_combat_expanded:base_attack_damage",
- "amount": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage_down"
- },
- "score": "gm4_ce_data",
- "scale": 0.1
- },
- "operation": "add_value",
- "slot": "mainhand"
- },
- {
- "attribute": "minecraft:attack_speed",
- "id": "gm4_combat_expanded:base_attack_speed",
- "amount": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$atkspeed_stored"
- },
- "score": "gm4_ce_data",
- "scale": 0.1
- },
- "operation": "add_value",
- "slot": "mainhand"
- }
- ]
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{strike:1,modifier:112,damage_buffed:-1,level:'random_value'}}"
- }
- ]
- }
- ],
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- ""
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.pierce_strike",
- "fallback": "Breaking Strikes:",
- "color": "gray",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "potion.withDuration",
- "with": [
- {
- "translate": "attribute.modifier.take.0",
- "with": [
- {
- "text": "2"
- },
- {
- "translate": "attribute.name.armor"
- }
- ]
- },
- "0:10"
- ],
- "color": "red",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$random_value"
- },
- "score": "gm4_ce_data"
- },
- "range": 1
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "potion.withDuration",
- "with": [
- {
- "translate": "attribute.modifier.take.0",
- "with": [
- {
- "text": "4"
- },
- {
- "translate": "attribute.name.armor"
- }
- ]
- },
- "0:10"
- ],
- "color": "red",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$random_value"
- },
- "score": "gm4_ce_data"
- },
- "range": 2
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "potion.withDuration",
- "with": [
- {
- "translate": "attribute.modifier.take.0",
- "with": [
- {
- "text": "6"
- },
- {
- "translate": "attribute.name.armor"
- }
- ]
- },
- "0:10"
- ],
- "color": "red",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$random_value"
- },
- "score": "gm4_ce_data"
- },
- "range": 3
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "item.gm4.combat_expanded.lore.pierce",
- "fallback": "Effect can Stack",
- "color": "dark_gray",
- "italic": false
- }
- ]
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- ""
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- {
- "translate": "item.modifiers.mainhand",
- "color": "gray",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- " ",
- {
- "translate": "attribute.modifier.equals.0",
- "with": [
- [
- {
- "score": {
- "name": "$damage_down_10",
- "objective": "gm4_ce_data"
- },
- "color": "red",
- "italic": false
- },
- ".",
- {
- "score": {
- "name": "$damage_down_01",
- "objective": "gm4_ce_data"
- }
- }
- ],
- {
- "translate": "attribute.name.attack_damage"
- }
- ],
- "color": "dark_green",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:inverted",
- "term": {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage_down_01"
- },
- "score": "gm4_ce_data"
- },
- "range": 0
- }
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- " ",
- {
- "translate": "attribute.modifier.equals.0",
- "with": [
- {
- "score": {
- "name": "$damage_down_10",
- "objective": "gm4_ce_data"
- },
- "color": "red",
- "italic": false
- },
- {
- "translate": "attribute.name.attack_damage"
- }
- ],
- "color": "dark_green",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage_down_01"
- },
- "score": "gm4_ce_data"
- },
- "range": 0
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- " ",
- {
- "translate": "attribute.modifier.equals.0",
- "with": [
- [
- {
- "score": {
- "name": "$atkspeed_stored_10",
- "objective": "gm4_ce_data"
- },
- "color": "dark_green",
- "italic": false
- },
- ".",
- {
- "score": {
- "name": "$atkspeed_stored_01",
- "objective": "gm4_ce_data"
- }
- }
- ],
- {
- "translate": "attribute.name.attack_speed"
- }
- ],
- "color": "dark_green",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:inverted",
- "term": {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$atkspeed_stored_01"
- },
- "score": "gm4_ce_data"
- },
- "range": 0
- }
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- " ",
- {
- "translate": "attribute.modifier.equals.0",
- "with": [
- {
- "score": {
- "name": "$atkspeed_stored_10",
- "objective": "gm4_ce_data"
- },
- "color": "dark_green",
- "italic": false
- },
- {
- "translate": "attribute.name.attack_speed"
- }
- ],
- "color": "dark_green",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$atkspeed_stored_01"
- },
- "score": "gm4_ce_data"
- },
- "range": 0
- }
- ]
- },
- {
- "function": "minecraft:set_name",
- "entity": "this",
- "target": "item_name",
- "name": [
- {
- "translate": "item.gm4.combat_expanded.name.pierce",
- "fallback": "Piercing %s",
- "with": [
- {
- "nbt": "components.'minecraft:custom_data'.gm4_combat_expanded.name",
- "storage": "gm4_combat_expanded:temp",
- "interpret": true
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/identification/modifier/poison.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/identification/modifier/poison.json
deleted file mode 100644
index beb6ff4421..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/identification/modifier/poison.json
+++ /dev/null
@@ -1,436 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:weapon/identification/base",
- "functions": [
- {
- "function": "minecraft:set_attributes",
- "replace": false,
- "modifiers": [
- {
- "attribute": "minecraft:attack_damage",
- "id": "gm4_combat_expanded:poison_reset_attack_damage",
- "amount": -1,
- "operation": "add_value",
- "slot": "mainhand"
- },
- {
- "attribute": "minecraft:attack_speed",
- "id": "gm4_combat_expanded:poison_reset_attack_speed",
- "amount": -4,
- "operation": "add_value",
- "slot": "mainhand"
- },
- {
- "attribute": "minecraft:attack_damage",
- "id": "gm4_combat_expanded:base_attack_damage",
- "amount": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage_down"
- },
- "score": "gm4_ce_data",
- "scale": 0.1
- },
- "operation": "add_value",
- "slot": "mainhand"
- },
- {
- "attribute": "minecraft:attack_speed",
- "id": "gm4_combat_expanded:base_attack_speed",
- "amount": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$atkspeed_stored"
- },
- "score": "gm4_ce_data",
- "scale": 0.1
- },
- "operation": "add_value",
- "slot": "mainhand"
- }
- ]
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{strike:1,modifier:101,damage_buffed:-1,level:'random_value'}}"
- }
- ]
- }
- ],
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- ""
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.poison_strike",
- "fallback": "Noxious Strikes:",
- "color": "gray",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "potion.withDuration",
- "with": [
- {
- "translate": "effect.minecraft.poison",
- "color": "red",
- "italic": false
- },
- "0:08"
- ],
- "color": "red",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$random_value"
- },
- "score": "gm4_ce_data"
- },
- "range": 1
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "potion.withDuration",
- "with": [
- {
- "translate": "potion.withAmplifier",
- "with": [
- {
- "translate": "effect.minecraft.poison",
- "color": "red",
- "italic": false
- },
- {
- "translate": "potion.potency.1"
- }
- ]
- },
- "0:08"
- ],
- "color": "red",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$random_value"
- },
- "score": "gm4_ce_data"
- },
- "range": 2
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "potion.withDuration",
- "with": [
- {
- "translate": "effect.minecraft.poison",
- "color": "red",
- "italic": false
- },
- "0:30"
- ],
- "color": "red",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$random_value"
- },
- "score": "gm4_ce_data"
- },
- "range": 3
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- ""
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- {
- "translate": "item.modifiers.mainhand",
- "color": "gray",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- " ",
- {
- "translate": "attribute.modifier.equals.0",
- "with": [
- [
- {
- "score": {
- "name": "$damage_down_10",
- "objective": "gm4_ce_data"
- },
- "color": "red",
- "italic": false
- },
- ".",
- {
- "score": {
- "name": "$damage_down_01",
- "objective": "gm4_ce_data"
- }
- }
- ],
- {
- "translate": "attribute.name.attack_damage"
- }
- ],
- "color": "dark_green",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:inverted",
- "term": {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage_down_01"
- },
- "score": "gm4_ce_data"
- },
- "range": 0
- }
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- " ",
- {
- "translate": "attribute.modifier.equals.0",
- "with": [
- {
- "score": {
- "name": "$damage_down_10",
- "objective": "gm4_ce_data"
- },
- "color": "red",
- "italic": false
- },
- {
- "translate": "attribute.name.attack_damage"
- }
- ],
- "color": "dark_green",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage_down_01"
- },
- "score": "gm4_ce_data"
- },
- "range": 0
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- " ",
- {
- "translate": "attribute.modifier.equals.0",
- "with": [
- [
- {
- "score": {
- "name": "$atkspeed_stored_10",
- "objective": "gm4_ce_data"
- },
- "color": "dark_green",
- "italic": false
- },
- ".",
- {
- "score": {
- "name": "$atkspeed_stored_01",
- "objective": "gm4_ce_data"
- }
- }
- ],
- {
- "translate": "attribute.name.attack_speed"
- }
- ],
- "color": "dark_green",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:inverted",
- "term": {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$atkspeed_stored_01"
- },
- "score": "gm4_ce_data"
- },
- "range": 0
- }
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- " ",
- {
- "translate": "attribute.modifier.equals.0",
- "with": [
- {
- "score": {
- "name": "$atkspeed_stored_10",
- "objective": "gm4_ce_data"
- },
- "color": "dark_green",
- "italic": false
- },
- {
- "translate": "attribute.name.attack_speed"
- }
- ],
- "color": "dark_green",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$atkspeed_stored_01"
- },
- "score": "gm4_ce_data"
- },
- "range": 0
- }
- ]
- },
- {
- "function": "minecraft:set_name",
- "entity": "this",
- "target": "item_name",
- "name": [
- {
- "translate": "item.gm4.combat_expanded.name.poison",
- "fallback": "Venomous %s",
- "with": [
- {
- "nbt": "components.'minecraft:custom_data'.gm4_combat_expanded.name",
- "storage": "gm4_combat_expanded:temp",
- "interpret": true
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/identification/modifier/quick.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/identification/modifier/quick.json
deleted file mode 100644
index 94300c57bc..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/identification/modifier/quick.json
+++ /dev/null
@@ -1,301 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:weapon/identification/base",
- "functions": [
- {
- "function": "minecraft:set_attributes",
- "replace": false,
- "modifiers": [
- {
- "attribute": "minecraft:attack_damage",
- "id": "gm4_combat_expanded:quick_reset_attack_damage",
- "amount": -1,
- "operation": "add_value",
- "slot": "mainhand"
- },
- {
- "attribute": "minecraft:attack_speed",
- "id": "gm4_combat_expanded:quick_reset_attack_speed",
- "amount": -4,
- "operation": "add_value",
- "slot": "mainhand"
- },
- {
- "attribute": "minecraft:attack_damage",
- "id": "gm4_combat_expanded:base_attack_damage",
- "amount": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage_down"
- },
- "score": "gm4_ce_data",
- "scale": 0.1
- },
- "operation": "add_value",
- "slot": "mainhand"
- },
- {
- "attribute": "minecraft:attack_speed",
- "id": "gm4_combat_expanded:base_attack_speed",
- "amount": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$atkspeed_quick"
- },
- "score": "gm4_ce_data",
- "scale": 0.1
- },
- "operation": "add_value",
- "slot": "mainhand"
- }
- ]
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{strike:1,modifier:1,damage_buffed:-1}}"
- }
- ]
- }
- ],
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- ""
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- {
- "translate": "item.modifiers.mainhand",
- "color": "gray",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- " ",
- {
- "translate": "attribute.modifier.equals.0",
- "with": [
- [
- {
- "score": {
- "name": "$damage_down_10",
- "objective": "gm4_ce_data"
- },
- "color": "red",
- "italic": false
- },
- ".",
- {
- "score": {
- "name": "$damage_down_01",
- "objective": "gm4_ce_data"
- }
- }
- ],
- {
- "translate": "attribute.name.attack_damage"
- }
- ],
- "color": "dark_green",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:inverted",
- "term": {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage_down_01"
- },
- "score": "gm4_ce_data"
- },
- "range": 0
- }
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- " ",
- {
- "translate": "attribute.modifier.equals.0",
- "with": [
- {
- "score": {
- "name": "$damage_down_10",
- "objective": "gm4_ce_data"
- },
- "color": "red",
- "italic": false
- },
- {
- "translate": "attribute.name.attack_damage"
- }
- ],
- "color": "dark_green",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage_down_01"
- },
- "score": "gm4_ce_data"
- },
- "range": 0
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- " ",
- {
- "translate": "attribute.modifier.equals.0",
- "with": [
- [
- {
- "score": {
- "name": "$atkspeed_quick_10",
- "objective": "gm4_ce_data"
- },
- "color": "green",
- "italic": false
- },
- ".",
- {
- "score": {
- "name": "$atkspeed_quick_01",
- "objective": "gm4_ce_data"
- }
- }
- ],
- {
- "translate": "attribute.name.attack_speed"
- }
- ],
- "color": "dark_green",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:inverted",
- "term": {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$atkspeed_quick_01"
- },
- "score": "gm4_ce_data"
- },
- "range": 0
- }
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- " ",
- {
- "translate": "attribute.modifier.equals.0",
- "with": [
- {
- "score": {
- "name": "$atkspeed_quick_10",
- "objective": "gm4_ce_data"
- },
- "color": "green",
- "italic": false
- },
- {
- "translate": "attribute.name.attack_speed"
- }
- ],
- "color": "dark_green",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$atkspeed_quick_01"
- },
- "score": "gm4_ce_data"
- },
- "range": 0
- }
- ]
- },
- {
- "function": "minecraft:set_name",
- "entity": "this",
- "target": "item_name",
- "name": [
- {
- "translate": "item.gm4.combat_expanded.name.quick",
- "fallback": "Light %s",
- "with": [
- {
- "nbt": "components.'minecraft:custom_data'.gm4_combat_expanded.name",
- "storage": "gm4_combat_expanded:temp",
- "interpret": true
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/identification/modifier/swift.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/identification/modifier/swift.json
deleted file mode 100644
index 4f3e818105..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/identification/modifier/swift.json
+++ /dev/null
@@ -1,473 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:weapon/identification/base",
- "functions": [
- {
- "function": "minecraft:set_attributes",
- "replace": false,
- "modifiers": [
- {
- "attribute": "minecraft:attack_damage",
- "id": "gm4_combat_expanded:swift_reset_attack_damage",
- "amount": -1,
- "operation": "add_value",
- "slot": "mainhand"
- },
- {
- "attribute": "minecraft:attack_speed",
- "id": "gm4_combat_expanded:swift_reset_attack_speed",
- "amount": -4,
- "operation": "add_value",
- "slot": "mainhand"
- },
- {
- "attribute": "minecraft:attack_damage",
- "id": "gm4_combat_expanded:base_attack_damage",
- "amount": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage_stored"
- },
- "score": "gm4_ce_data",
- "scale": 0.1
- },
- "operation": "add_value",
- "slot": "mainhand"
- },
- {
- "attribute": "minecraft:attack_speed",
- "id": "gm4_combat_expanded:base_attack_speed",
- "amount": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$atkspeed_low"
- },
- "score": "gm4_ce_data",
- "scale": 0.1
- },
- "operation": "add_value",
- "slot": "mainhand"
- },
- {
- "attribute": "minecraft:attack_speed",
- "id": "gm4_combat_expanded:dynamic",
- "amount": 0,
- "operation": "add_value",
- "slot": "mainhand"
- }
- ]
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{strike:1,modifier:111,timeout:0,level:'random_value'}}"
- }
- ]
- }
- ],
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- ""
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.swift_strike",
- "fallback": "Stacking Strikes:",
- "color": "gray",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "potion.withDuration",
- "with": [
- {
- "translate": "attribute.modifier.plus.0",
- "with": [
- {
- "text": "0.1"
- },
- {
- "translate": "attribute.name.attack_speed"
- }
- ]
- },
- "0:06"
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$random_value"
- },
- "score": "gm4_ce_data"
- },
- "range": 1
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "potion.withDuration",
- "with": [
- {
- "translate": "attribute.modifier.plus.0",
- "with": [
- {
- "text": "0.2"
- },
- {
- "translate": "attribute.name.attack_speed"
- }
- ]
- },
- "0:06"
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$random_value"
- },
- "score": "gm4_ce_data"
- },
- "range": 2
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "potion.withDuration",
- "with": [
- {
- "translate": "attribute.modifier.plus.0",
- "with": [
- {
- "text": "0.3"
- },
- {
- "translate": "attribute.name.attack_speed"
- }
- ]
- },
- "0:06"
- ],
- "color": "blue",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$random_value"
- },
- "score": "gm4_ce_data"
- },
- "range": 3
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "item.gm4.combat_expanded.lore.swift",
- "fallback": "Max 4 %s",
- "with": [
- {
- "translate": "attribute.name.attack_speed"
- }
- ],
- "color": "dark_gray",
- "italic": false
- }
- ]
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- ""
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- {
- "translate": "item.modifiers.mainhand",
- "color": "gray",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- " ",
- {
- "translate": "attribute.modifier.equals.0",
- "with": [
- [
- {
- "score": {
- "name": "$damage_stored_10",
- "objective": "gm4_ce_data"
- },
- "color": "dark_green",
- "italic": false
- },
- ".",
- {
- "score": {
- "name": "$damage_stored_01",
- "objective": "gm4_ce_data"
- }
- }
- ],
- {
- "translate": "attribute.name.attack_damage"
- }
- ],
- "color": "dark_green",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:inverted",
- "term": {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage_stored_01"
- },
- "score": "gm4_ce_data"
- },
- "range": 0
- }
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- " ",
- {
- "translate": "attribute.modifier.equals.0",
- "with": [
- {
- "score": {
- "name": "$damage_stored_10",
- "objective": "gm4_ce_data"
- },
- "color": "dark_green",
- "italic": false
- },
- {
- "translate": "attribute.name.attack_damage"
- }
- ],
- "color": "dark_green",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage_stored_01"
- },
- "score": "gm4_ce_data"
- },
- "range": 0
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- " ",
- {
- "translate": "attribute.modifier.equals.0",
- "with": [
- [
- {
- "score": {
- "name": "$atkspeed_low_10",
- "objective": "gm4_ce_data"
- },
- "color": "blue",
- "italic": false
- },
- ".",
- {
- "score": {
- "name": "$atkspeed_low_01",
- "objective": "gm4_ce_data"
- }
- }
- ],
- {
- "translate": "attribute.name.attack_speed"
- }
- ],
- "color": "dark_green",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:inverted",
- "term": {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$atkspeed_low_01"
- },
- "score": "gm4_ce_data"
- },
- "range": 0
- }
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- " ",
- {
- "translate": "attribute.modifier.equals.0",
- "with": [
- {
- "score": {
- "name": "$atkspeed_low_10",
- "objective": "gm4_ce_data"
- },
- "color": "blue",
- "italic": false
- },
- {
- "translate": "attribute.name.attack_speed"
- }
- ],
- "color": "dark_green",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$atkspeed_low_01"
- },
- "score": "gm4_ce_data"
- },
- "range": 0
- }
- ]
- },
- {
- "function": "minecraft:set_name",
- "entity": "this",
- "target": "item_name",
- "name": [
- {
- "translate": "item.gm4.combat_expanded.name.swift",
- "fallback": "Swift %s",
- "with": [
- {
- "nbt": "components.'minecraft:custom_data'.gm4_combat_expanded.name",
- "storage": "gm4_combat_expanded:temp",
- "interpret": true
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/identification/modifier/weakness.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/identification/modifier/weakness.json
deleted file mode 100644
index 75ee5373eb..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/identification/modifier/weakness.json
+++ /dev/null
@@ -1,590 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4_combat_expanded:weapon/identification/base",
- "functions": [
- {
- "function": "minecraft:set_attributes",
- "replace": false,
- "modifiers": [
- {
- "attribute": "minecraft:attack_damage",
- "id": "gm4_combat_expanded:weakness_reset_attack_damage",
- "amount": -1,
- "operation": "add_value",
- "slot": "mainhand"
- },
- {
- "attribute": "minecraft:attack_speed",
- "id": "gm4_combat_expanded:weakness_reset_attack_speed",
- "amount": -4,
- "operation": "add_value",
- "slot": "mainhand"
- },
- {
- "attribute": "minecraft:attack_damage",
- "id": "gm4_combat_expanded:base_attack_damage",
- "amount": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage_stored"
- },
- "score": "gm4_ce_data",
- "scale": 0.1
- },
- "operation": "add_value",
- "slot": "mainhand"
- },
- {
- "attribute": "minecraft:attack_speed",
- "id": "gm4_combat_expanded:base_attack_speed",
- "amount": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$atkspeed_down"
- },
- "score": "gm4_ce_data",
- "scale": 0.1
- },
- "operation": "add_value",
- "slot": "mainhand"
- }
- ]
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{strike:1,modifier:102,level:'random_value',level2:'random_value_2'}}"
- }
- ]
- }
- ],
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- ""
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.weakness_strike",
- "fallback": "Debilitating Strikes:",
- "color": "gray",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "potion.withDuration",
- "with": [
- {
- "translate": "effect.minecraft.slowness"
- },
- "0:04"
- ],
- "color": "red",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$random_value"
- },
- "score": "gm4_ce_data"
- },
- "range": 1
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "potion.withDuration",
- "with": [
- {
- "translate": "potion.withAmplifier",
- "with": [
- {
- "translate": "effect.minecraft.slowness"
- },
- {
- "translate": "potion.potency.1"
- }
- ]
- },
- "0:04"
- ],
- "color": "red",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$random_value"
- },
- "score": "gm4_ce_data"
- },
- "range": 2
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "potion.withDuration",
- "with": [
- {
- "translate": "potion.withAmplifier",
- "with": [
- {
- "translate": "effect.minecraft.slowness"
- },
- {
- "translate": "potion.potency.2"
- }
- ]
- },
- "0:04"
- ],
- "color": "red",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$random_value"
- },
- "score": "gm4_ce_data"
- },
- "range": 3
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "potion.withDuration",
- "with": [
- {
- "translate": "effect.minecraft.weakness"
- },
- "0:04"
- ],
- "color": "red",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage"
- },
- "score": "gm4_ce_data"
- },
- "range": 5
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "potion.withDuration",
- "with": [
- {
- "translate": "effect.minecraft.blindness"
- },
- "0:04"
- ],
- "color": "red",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage"
- },
- "score": "gm4_ce_data"
- },
- "range": 10
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "potion.withDuration",
- "with": [
- {
- "translate": "potion.withAmplifier",
- "with": [
- {
- "translate": "effect.minecraft.hunger"
- },
- {
- "translate": "potion.potency.2"
- }
- ]
- },
- "0:04"
- ],
- "color": "red",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage"
- },
- "score": "gm4_ce_data"
- },
- "range": 15
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- {
- "translate": "potion.withDuration",
- "with": [
- {
- "translate": "potion.withAmplifier",
- "with": [
- {
- "translate": "effect.minecraft.wither"
- },
- {
- "translate": "potion.potency.1"
- }
- ]
- },
- "0:04"
- ],
- "color": "red",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage"
- },
- "score": "gm4_ce_data"
- },
- "range": 20
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- ""
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- {
- "translate": "item.modifiers.mainhand",
- "color": "gray",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- " ",
- {
- "translate": "attribute.modifier.equals.0",
- "with": [
- [
- {
- "score": {
- "name": "$damage_stored_10",
- "objective": "gm4_ce_data"
- },
- "color": "dark_green",
- "italic": false
- },
- ".",
- {
- "score": {
- "name": "$damage_stored_01",
- "objective": "gm4_ce_data"
- }
- }
- ],
- {
- "translate": "attribute.name.attack_damage"
- }
- ],
- "color": "dark_green",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:inverted",
- "term": {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage_stored_01"
- },
- "score": "gm4_ce_data"
- },
- "range": 0
- }
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- " ",
- {
- "translate": "attribute.modifier.equals.0",
- "with": [
- {
- "score": {
- "name": "$damage_stored_10",
- "objective": "gm4_ce_data"
- },
- "color": "dark_green",
- "italic": false
- },
- {
- "translate": "attribute.name.attack_damage"
- }
- ],
- "color": "dark_green",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$damage_stored_01"
- },
- "score": "gm4_ce_data"
- },
- "range": 0
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- " ",
- {
- "translate": "attribute.modifier.equals.0",
- "with": [
- [
- {
- "score": {
- "name": "$atkspeed_down_10",
- "objective": "gm4_ce_data"
- },
- "color": "red",
- "italic": false
- },
- ".",
- {
- "score": {
- "name": "$atkspeed_down_01",
- "objective": "gm4_ce_data"
- }
- }
- ],
- {
- "translate": "attribute.name.attack_speed"
- }
- ],
- "color": "dark_green",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:inverted",
- "term": {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$atkspeed_down_01"
- },
- "score": "gm4_ce_data"
- },
- "range": 0
- }
- }
- ]
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- [
- " ",
- {
- "translate": "attribute.modifier.equals.0",
- "with": [
- {
- "score": {
- "name": "$atkspeed_down_10",
- "objective": "gm4_ce_data"
- },
- "color": "red",
- "italic": false
- },
- {
- "translate": "attribute.name.attack_speed"
- }
- ],
- "color": "dark_green",
- "italic": false
- }
- ]
- ],
- "conditions": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$atkspeed_down_01"
- },
- "score": "gm4_ce_data"
- },
- "range": 0
- }
- ]
- },
- {
- "function": "minecraft:set_name",
- "entity": "this",
- "target": "item_name",
- "name": [
- {
- "translate": "item.gm4.combat_expanded.name.weakness",
- "fallback": "Crippling %s",
- "with": [
- {
- "nbt": "components.'minecraft:custom_data'.gm4_combat_expanded.name",
- "storage": "gm4_combat_expanded:temp",
- "interpret": true
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/identification/random.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/identification/random.json
deleted file mode 100644
index 8f0876b1cd..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/identification/random.json
+++ /dev/null
@@ -1,888 +0,0 @@
-{
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:alternatives",
- "children": [
- {
- "type": "minecraft:loot_table",
- "weight": 32,
- "value": "gm4_combat_expanded:weapon/identification/modifier/delay",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/snowy"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/toxic"
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 2,
- "value": "gm4_combat_expanded:weapon/identification/modifier/delay",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/burned"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/dark"
- },
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "dimension": "minecraft:the_end"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:mushroom_fields"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:deep_dark"
- }
- }
- ]
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 8,
- "value": "gm4_combat_expanded:weapon/identification/modifier/delay"
- }
- ]
- },
- {
- "type": "minecraft:alternatives",
- "children": [
- {
- "type": "minecraft:loot_table",
- "weight": 160,
- "value": "gm4_combat_expanded:weapon/identification/modifier/fire",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/burned"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/dark"
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "dimension": "minecraft:the_nether"
- }
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 10,
- "value": "gm4_combat_expanded:weapon/identification/modifier/fire",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/snowy"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/flowering"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/deep"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/reef"
- },
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "dimension": "minecraft:the_end"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:mushroom_fields"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:deep_dark"
- }
- }
- ]
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 40,
- "value": "gm4_combat_expanded:weapon/identification/modifier/fire"
- }
- ]
- },
- {
- "type": "minecraft:alternatives",
- "children": [
- {
- "type": "minecraft:loot_table",
- "weight": 160,
- "value": "gm4_combat_expanded:weapon/identification/modifier/giant",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/snowy"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/deep"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/reef"
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 10,
- "value": "gm4_combat_expanded:weapon/identification/modifier/giant",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/burned"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/flowering"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/toxic"
- },
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "dimension": "minecraft:the_end"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:mushroom_fields"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:deep_dark"
- }
- }
- ]
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 40,
- "value": "gm4_combat_expanded:weapon/identification/modifier/giant"
- }
- ]
- },
- {
- "type": "minecraft:alternatives",
- "children": [
- {
- "type": "minecraft:loot_table",
- "weight": 160,
- "value": "gm4_combat_expanded:weapon/identification/modifier/heavy",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/mountainous"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/dark"
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 10,
- "value": "gm4_combat_expanded:weapon/identification/modifier/heavy",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/toxic"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/growth"
- },
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "dimension": "minecraft:the_end"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:mushroom_fields"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:deep_dark"
- }
- }
- ]
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 40,
- "value": "gm4_combat_expanded:weapon/identification/modifier/heavy"
- }
- ]
- },
- {
- "type": "minecraft:alternatives",
- "children": [
- {
- "type": "minecraft:loot_table",
- "weight": 32,
- "value": "gm4_combat_expanded:weapon/identification/modifier/lightning",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/mountainous"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/deep"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/reef"
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 2,
- "value": "gm4_combat_expanded:weapon/identification/modifier/lightning",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/flowering"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/toxic"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/dark"
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "dimension": "minecraft:the_nether"
- }
- },
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "dimension": "minecraft:the_end"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:mushroom_fields"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:deep_dark"
- }
- }
- ]
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 8,
- "value": "gm4_combat_expanded:weapon/identification/modifier/lightning"
- }
- ]
- },
- {
- "type": "minecraft:alternatives",
- "children": [
- {
- "type": "minecraft:loot_table",
- "weight": 160,
- "value": "gm4_combat_expanded:weapon/identification/modifier/long",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/mountainous"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/growth"
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "dimension": "minecraft:the_nether"
- }
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 10,
- "value": "gm4_combat_expanded:weapon/identification/modifier/long",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/dark"
- },
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "dimension": "minecraft:the_end"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:mushroom_fields"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:deep_dark"
- }
- }
- ]
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 40,
- "value": "gm4_combat_expanded:weapon/identification/modifier/long"
- }
- ]
- },
- {
- "type": "minecraft:alternatives",
- "children": [
- {
- "type": "minecraft:loot_table",
- "weight": 160,
- "value": "gm4_combat_expanded:weapon/identification/modifier/pierce",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/flowering"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/growth"
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 10,
- "value": "gm4_combat_expanded:weapon/identification/modifier/pierce",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/mountainous"
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "dimension": "minecraft:the_nether"
- }
- },
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "dimension": "minecraft:the_end"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:mushroom_fields"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:deep_dark"
- }
- }
- ]
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 40,
- "value": "gm4_combat_expanded:weapon/identification/modifier/pierce"
- }
- ]
- },
- {
- "type": "minecraft:alternatives",
- "children": [
- {
- "type": "minecraft:loot_table",
- "weight": 160,
- "value": "gm4_combat_expanded:weapon/identification/modifier/poison",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/toxic"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/deep"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/reef"
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 10,
- "value": "gm4_combat_expanded:weapon/identification/modifier/poison",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/snowy"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/burned"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/growth"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/dark"
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "dimension": "minecraft:the_nether"
- }
- },
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "dimension": "minecraft:the_end"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:mushroom_fields"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:deep_dark"
- }
- }
- ]
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 40,
- "value": "gm4_combat_expanded:weapon/identification/modifier/poison"
- }
- ]
- },
- {
- "type": "minecraft:alternatives",
- "children": [
- {
- "type": "minecraft:loot_table",
- "weight": 160,
- "value": "gm4_combat_expanded:weapon/identification/modifier/quick",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/burned"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/dark"
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 10,
- "value": "gm4_combat_expanded:weapon/identification/modifier/quick",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/mountainous"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/deep"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/reef"
- },
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "dimension": "minecraft:the_end"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:mushroom_fields"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:deep_dark"
- }
- }
- ]
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 40,
- "value": "gm4_combat_expanded:weapon/identification/modifier/quick"
- }
- ]
- },
- {
- "type": "minecraft:alternatives",
- "children": [
- {
- "type": "minecraft:loot_table",
- "weight": 32,
- "value": "gm4_combat_expanded:weapon/identification/modifier/swift",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/burned"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/growth"
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 2,
- "value": "gm4_combat_expanded:weapon/identification/modifier/swift",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/snowy"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/mountainous"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/deep"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/reef"
- },
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "dimension": "minecraft:the_end"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:mushroom_fields"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:deep_dark"
- }
- }
- ]
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 8,
- "value": "gm4_combat_expanded:weapon/identification/modifier/swift"
- }
- ]
- },
- {
- "type": "minecraft:alternatives",
- "children": [
- {
- "type": "minecraft:loot_table",
- "weight": 160,
- "value": "gm4_combat_expanded:weapon/identification/modifier/weakness",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/flowering"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/toxic"
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 10,
- "value": "gm4_combat_expanded:weapon/identification/modifier/weakness",
- "conditions": [
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/burned"
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/growth"
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "dimension": "minecraft:the_nether"
- }
- },
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "dimension": "minecraft:the_end"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:mushroom_fields"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:deep_dark"
- }
- }
- ]
- }
- ]
- }
- ]
- },
- {
- "type": "minecraft:loot_table",
- "weight": 40,
- "value": "gm4_combat_expanded:weapon/identification/modifier/weakness"
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/pickaxe/diamond.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/pickaxe/diamond.json
deleted file mode 100644
index dae51dc4a2..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/pickaxe/diamond.json
+++ /dev/null
@@ -1,70 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:diamond_pickaxe",
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.unidentified",
- "fallback": "%s Unidentified Item - Drop to Identify",
- "with": [
- {
- "text": "âš ",
- "color": "red",
- "italic": false
- }
- ],
- "color": "dark_red",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{identified:0,damage:50,atkspeed:12,strike:1,modifier:0,name:'{\"italic\":false,\"translate\":\"item.minecraft.diamond_pickaxe\"}'}}"
- },
- {
- "function": "minecraft:enchant_with_levels",
- "levels": {
- "min": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.1
- },
- "max": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.2
- }
- },
- "options": "#minecraft:non_treasure",
- "conditions": [
- {
- "condition": "minecraft:random_chance",
- "chance": 0.2
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/pickaxe/gold.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/pickaxe/gold.json
deleted file mode 100644
index 6f9dfaf3e7..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/pickaxe/gold.json
+++ /dev/null
@@ -1,70 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:golden_pickaxe",
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.unidentified",
- "fallback": "%s Unidentified Item - Drop to Identify",
- "with": [
- {
- "text": "âš ",
- "color": "red",
- "italic": false
- }
- ],
- "color": "dark_red",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{identified:0,damage:20,atkspeed:12,strike:1,modifier:0,name:'{\"italic\":false,\"translate\":\"item.minecraft.golden_pickaxe\"}'}}"
- },
- {
- "function": "minecraft:enchant_with_levels",
- "levels": {
- "min": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.15
- },
- "max": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.25
- }
- },
- "options": "#minecraft:non_treasure",
- "conditions": [
- {
- "condition": "minecraft:random_chance",
- "chance": 0.2
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/pickaxe/iron.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/pickaxe/iron.json
deleted file mode 100644
index 3bb97347f0..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/pickaxe/iron.json
+++ /dev/null
@@ -1,70 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:iron_pickaxe",
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.unidentified",
- "fallback": "%s Unidentified Item - Drop to Identify",
- "with": [
- {
- "text": "âš ",
- "color": "red",
- "italic": false
- }
- ],
- "color": "dark_red",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{identified:0,damage:40,atkspeed:12,strike:1,modifier:0,name:'{\"italic\":false,\"translate\":\"item.minecraft.iron_pickaxe\"}'}}"
- },
- {
- "function": "minecraft:enchant_with_levels",
- "levels": {
- "min": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.1
- },
- "max": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.2
- }
- },
- "options": "#minecraft:non_treasure",
- "conditions": [
- {
- "condition": "minecraft:random_chance",
- "chance": 0.2
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/pickaxe/stone.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/pickaxe/stone.json
deleted file mode 100644
index 6ff94fe57f..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/pickaxe/stone.json
+++ /dev/null
@@ -1,70 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:stone_pickaxe",
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.unidentified",
- "fallback": "%s Unidentified Item - Drop to Identify",
- "with": [
- {
- "text": "âš ",
- "color": "red",
- "italic": false
- }
- ],
- "color": "dark_red",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{identified:0,damage:30,atkspeed:12,strike:1,modifier:0,name:'{\"italic\":false,\"translate\":\"item.minecraft.stone_pickaxe\"}'}}"
- },
- {
- "function": "minecraft:enchant_with_levels",
- "levels": {
- "min": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.1
- },
- "max": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.2
- }
- },
- "options": "#minecraft:non_treasure",
- "conditions": [
- {
- "condition": "minecraft:random_chance",
- "chance": 0.2
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/pickaxe/wood.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/pickaxe/wood.json
deleted file mode 100644
index 90b6db38db..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/pickaxe/wood.json
+++ /dev/null
@@ -1,70 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:wooden_pickaxe",
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.unidentified",
- "fallback": "%s Unidentified Item - Drop to Identify",
- "with": [
- {
- "text": "âš ",
- "color": "red",
- "italic": false
- }
- ],
- "color": "dark_red",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{identified:0,damage:20,atkspeed:12,strike:1,modifier:0,name:'{\"italic\":false,\"translate\":\"item.minecraft.wooden_pickaxe\"}'}}"
- },
- {
- "function": "minecraft:enchant_with_levels",
- "levels": {
- "min": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.1
- },
- "max": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.2
- }
- },
- "options": "#minecraft:non_treasure",
- "conditions": [
- {
- "condition": "minecraft:random_chance",
- "chance": 0.2
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/shovel/diamond.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/shovel/diamond.json
deleted file mode 100644
index 113c862cd8..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/shovel/diamond.json
+++ /dev/null
@@ -1,128 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:diamond_shovel",
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.unidentified",
- "fallback": "%s Unidentified Item - Drop to Identify",
- "with": [
- {
- "text": "âš ",
- "color": "red",
- "italic": false
- }
- ],
- "color": "dark_red",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{identified:0,damage:55,atkspeed:10,strike:1,modifier:0,name:'{\"italic\":false,\"translate\":\"item.minecraft.diamond_shovel\"}'}}"
- },
- {
- "function": "minecraft:enchant_with_levels",
- "levels": {
- "min": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.05
- },
- "max": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.25
- }
- },
- "options": "#minecraft:non_treasure",
- "conditions": [
- {
- "condition": "minecraft:random_chance",
- "chance": 0.15
- }
- ]
- },
- {
- "function": "minecraft:enchant_randomly",
- "options": [
- "minecraft:knockback"
- ],
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/mountainous"
- },
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.004
- }
- },
- "range": 1
- }
- ]
- },
- {
- "function": "minecraft:enchant_randomly",
- "options": [
- "minecraft:fire_aspect"
- ],
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/burned"
- },
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.004
- }
- },
- "range": 1
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/shovel/gold.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/shovel/gold.json
deleted file mode 100644
index 8338426ba1..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/shovel/gold.json
+++ /dev/null
@@ -1,128 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:golden_shovel",
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.unidentified",
- "fallback": "%s Unidentified Item - Drop to Identify",
- "with": [
- {
- "text": "âš ",
- "color": "red",
- "italic": false
- }
- ],
- "color": "dark_red",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{identified:0,damage:25,atkspeed:10,strike:1,modifier:0,name:'{\"italic\":false,\"translate\":\"item.minecraft.golden_shovel\"}'}}"
- },
- {
- "function": "minecraft:enchant_with_levels",
- "levels": {
- "min": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.1
- },
- "max": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.3
- }
- },
- "options": "#minecraft:non_treasure",
- "conditions": [
- {
- "condition": "minecraft:random_chance",
- "chance": 0.15
- }
- ]
- },
- {
- "function": "minecraft:enchant_randomly",
- "options": [
- "minecraft:knockback"
- ],
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/mountainous"
- },
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.004
- }
- },
- "range": 1
- }
- ]
- },
- {
- "function": "minecraft:enchant_randomly",
- "options": [
- "minecraft:fire_aspect"
- ],
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/burned"
- },
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.004
- }
- },
- "range": 1
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/shovel/iron.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/shovel/iron.json
deleted file mode 100644
index c690366fdf..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/shovel/iron.json
+++ /dev/null
@@ -1,128 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:iron_shovel",
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.unidentified",
- "fallback": "%s Unidentified Item - Drop to Identify",
- "with": [
- {
- "text": "âš ",
- "color": "red",
- "italic": false
- }
- ],
- "color": "dark_red",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{identified:0,damage:45,atkspeed:10,strike:1,modifier:0,name:'{\"italic\":false,\"translate\":\"item.minecraft.iron_shovel\"}'}}"
- },
- {
- "function": "minecraft:enchant_with_levels",
- "levels": {
- "min": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.05
- },
- "max": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.25
- }
- },
- "options": "#minecraft:non_treasure",
- "conditions": [
- {
- "condition": "minecraft:random_chance",
- "chance": 0.15
- }
- ]
- },
- {
- "function": "minecraft:enchant_randomly",
- "options": [
- "minecraft:knockback"
- ],
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/mountainous"
- },
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.004
- }
- },
- "range": 1
- }
- ]
- },
- {
- "function": "minecraft:enchant_randomly",
- "options": [
- "minecraft:fire_aspect"
- ],
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/burned"
- },
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.004
- }
- },
- "range": 1
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/shovel/stone.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/shovel/stone.json
deleted file mode 100644
index 36fe31e3d8..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/shovel/stone.json
+++ /dev/null
@@ -1,128 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:stone_shovel",
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.unidentified",
- "fallback": "%s Unidentified Item - Drop to Identify",
- "with": [
- {
- "text": "âš ",
- "color": "red",
- "italic": false
- }
- ],
- "color": "dark_red",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{identified:0,damage:35,atkspeed:10,strike:1,modifier:0,name:'{\"italic\":false,\"translate\":\"item.minecraft.stone_shovel\"}'}}"
- },
- {
- "function": "minecraft:enchant_with_levels",
- "levels": {
- "min": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.05
- },
- "max": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.25
- }
- },
- "options": "#minecraft:non_treasure",
- "conditions": [
- {
- "condition": "minecraft:random_chance",
- "chance": 0.15
- }
- ]
- },
- {
- "function": "minecraft:enchant_randomly",
- "options": [
- "minecraft:knockback"
- ],
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/mountainous"
- },
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.004
- }
- },
- "range": 1
- }
- ]
- },
- {
- "function": "minecraft:enchant_randomly",
- "options": [
- "minecraft:fire_aspect"
- ],
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/burned"
- },
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.004
- }
- },
- "range": 1
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/shovel/wood.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/shovel/wood.json
deleted file mode 100644
index 87e8af34ad..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/shovel/wood.json
+++ /dev/null
@@ -1,128 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:wooden_shovel",
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.unidentified",
- "fallback": "%s Unidentified Item - Drop to Identify",
- "with": [
- {
- "text": "âš ",
- "color": "red",
- "italic": false
- }
- ],
- "color": "dark_red",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{identified:0,damage:25,atkspeed:10,strike:1,modifier:0,name:'{\"italic\":false,\"translate\":\"item.minecraft.wooden_shovel\"}'}}"
- },
- {
- "function": "minecraft:enchant_with_levels",
- "levels": {
- "min": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.05
- },
- "max": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.25
- }
- },
- "options": "#minecraft:non_treasure",
- "conditions": [
- {
- "condition": "minecraft:random_chance",
- "chance": 0.15
- }
- ]
- },
- {
- "function": "minecraft:enchant_randomly",
- "options": [
- "minecraft:knockback"
- ],
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/mountainous"
- },
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.004
- }
- },
- "range": 1
- }
- ]
- },
- {
- "function": "minecraft:enchant_randomly",
- "options": [
- "minecraft:fire_aspect"
- ],
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/burned"
- },
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.004
- }
- },
- "range": 1
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/sword/diamond.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/sword/diamond.json
deleted file mode 100644
index d935b9f16d..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/sword/diamond.json
+++ /dev/null
@@ -1,128 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:diamond_sword",
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.unidentified",
- "fallback": "%s Unidentified Item - Drop to Identify",
- "with": [
- {
- "text": "âš ",
- "color": "red",
- "italic": false
- }
- ],
- "color": "dark_red",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{identified:0,damage:70,atkspeed:16,strike:1,modifier:0,name:'{\"italic\":false,\"translate\":\"item.minecraft.diamond_sword\"}'}}"
- },
- {
- "function": "minecraft:enchant_with_levels",
- "levels": {
- "min": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.05
- },
- "max": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.25
- }
- },
- "options": "#minecraft:non_treasure",
- "conditions": [
- {
- "condition": "minecraft:random_chance",
- "chance": 0.15
- }
- ]
- },
- {
- "function": "minecraft:enchant_randomly",
- "options": [
- "minecraft:knockback"
- ],
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/mountainous"
- },
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.004
- }
- },
- "range": 1
- }
- ]
- },
- {
- "function": "minecraft:enchant_randomly",
- "options": [
- "minecraft:fire_aspect"
- ],
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/burned"
- },
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.004
- }
- },
- "range": 1
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/sword/gold.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/sword/gold.json
deleted file mode 100644
index a7f0667866..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/sword/gold.json
+++ /dev/null
@@ -1,128 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:golden_sword",
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.unidentified",
- "fallback": "%s Unidentified Item - Drop to Identify",
- "with": [
- {
- "text": "âš ",
- "color": "red",
- "italic": false
- }
- ],
- "color": "dark_red",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{identified:0,damage:40,atkspeed:16,strike:1,modifier:0,name:'{\"italic\":false,\"translate\":\"item.minecraft.golden_sword\"}'}}"
- },
- {
- "function": "minecraft:enchant_with_levels",
- "levels": {
- "min": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.1
- },
- "max": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.3
- }
- },
- "options": "#minecraft:non_treasure",
- "conditions": [
- {
- "condition": "minecraft:random_chance",
- "chance": 0.15
- }
- ]
- },
- {
- "function": "minecraft:enchant_randomly",
- "options": [
- "minecraft:knockback"
- ],
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/mountainous"
- },
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.004
- }
- },
- "range": 1
- }
- ]
- },
- {
- "function": "minecraft:enchant_randomly",
- "options": [
- "minecraft:fire_aspect"
- ],
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/burned"
- },
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.004
- }
- },
- "range": 1
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/sword/iron.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/sword/iron.json
deleted file mode 100644
index 0fe8198655..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/sword/iron.json
+++ /dev/null
@@ -1,128 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:iron_sword",
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.unidentified",
- "fallback": "%s Unidentified Item - Drop to Identify",
- "with": [
- {
- "text": "âš ",
- "color": "red",
- "italic": false
- }
- ],
- "color": "dark_red",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{identified:0,damage:60,atkspeed:16,strike:1,modifier:0,name:'{\"italic\":false,\"translate\":\"item.minecraft.iron_sword\"}'}}"
- },
- {
- "function": "minecraft:enchant_with_levels",
- "levels": {
- "min": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.05
- },
- "max": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.25
- }
- },
- "options": "#minecraft:non_treasure",
- "conditions": [
- {
- "condition": "minecraft:random_chance",
- "chance": 0.15
- }
- ]
- },
- {
- "function": "minecraft:enchant_randomly",
- "options": [
- "minecraft:knockback"
- ],
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/mountainous"
- },
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.004
- }
- },
- "range": 1
- }
- ]
- },
- {
- "function": "minecraft:enchant_randomly",
- "options": [
- "minecraft:fire_aspect"
- ],
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/burned"
- },
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.004
- }
- },
- "range": 1
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/sword/stone.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/sword/stone.json
deleted file mode 100644
index e87c0981db..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/sword/stone.json
+++ /dev/null
@@ -1,128 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:stone_sword",
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.unidentified",
- "fallback": "%s Unidentified Item - Drop to Identify",
- "with": [
- {
- "text": "âš ",
- "color": "red",
- "italic": false
- }
- ],
- "color": "dark_red",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{identified:0,damage:50,atkspeed:16,strike:1,modifier:0,name:'{\"italic\":false,\"translate\":\"item.minecraft.stone_sword\"}'}}"
- },
- {
- "function": "minecraft:enchant_with_levels",
- "levels": {
- "min": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.05
- },
- "max": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.25
- }
- },
- "options": "#minecraft:non_treasure",
- "conditions": [
- {
- "condition": "minecraft:random_chance",
- "chance": 0.15
- }
- ]
- },
- {
- "function": "minecraft:enchant_randomly",
- "options": [
- "minecraft:knockback"
- ],
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/mountainous"
- },
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.004
- }
- },
- "range": 1
- }
- ]
- },
- {
- "function": "minecraft:enchant_randomly",
- "options": [
- "minecraft:fire_aspect"
- ],
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/burned"
- },
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.004
- }
- },
- "range": 1
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/sword/wood.json b/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/sword/wood.json
deleted file mode 100644
index 567b1aa014..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/loot_table/weapon/sword/wood.json
+++ /dev/null
@@ -1,128 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:wooden_sword",
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "entity": "this",
- "lore": [
- {
- "translate": "item.gm4.combat_expanded.lore.unidentified",
- "fallback": "%s Unidentified Item - Drop to Identify",
- "with": [
- {
- "text": "âš ",
- "color": "red",
- "italic": false
- }
- ],
- "color": "dark_red",
- "italic": false
- }
- ]
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_combat_expanded:{identified:0,damage:40,atkspeed:16,strike:1,modifier:0,name:'{\"italic\":false,\"translate\":\"item.minecraft.wooden_sword\"}'}}"
- },
- {
- "function": "minecraft:enchant_with_levels",
- "levels": {
- "min": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.05
- },
- "max": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.25
- }
- },
- "options": "#minecraft:non_treasure",
- "conditions": [
- {
- "condition": "minecraft:random_chance",
- "chance": 0.15
- }
- ]
- },
- {
- "function": "minecraft:enchant_randomly",
- "options": [
- "minecraft:knockback"
- ],
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/mountainous"
- },
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.004
- }
- },
- "range": 1
- }
- ]
- },
- {
- "function": "minecraft:enchant_randomly",
- "options": [
- "minecraft:fire_aspect"
- ],
- "conditions": [
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/burned"
- },
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.004
- }
- },
- "range": 1
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/mob/has_weapon.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/mob/has_weapon.json
deleted file mode 100644
index 44b03a85f0..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/mob/has_weapon.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "mainhand": {
- "items": "#gm4_combat_expanded:weapon"
- }
- }
- }
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/mob/material_check/chainmail.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/mob/material_check/chainmail.json
deleted file mode 100644
index a2ec8fffc8..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/mob/material_check/chainmail.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.004
- }
- },
- "range": 1
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/mob/material_check/diamond.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/mob/material_check/diamond.json
deleted file mode 100644
index 7b968b6886..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/mob/material_check/diamond.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.000075
- }
- },
- "range": 1
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/mob/material_check/golden.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/mob/material_check/golden.json
deleted file mode 100644
index 8baf45ef8a..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/mob/material_check/golden.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.0015
- }
- },
- "range": 1
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/mob/material_check/iron.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/mob/material_check/iron.json
deleted file mode 100644
index 762a117d1b..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/mob/material_check/iron.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.005
- }
- },
- "range": 1
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/mob/material_check/turtle_helmet.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/mob/material_check/turtle_helmet.json
deleted file mode 100644
index 4ea708bae8..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/mob/material_check/turtle_helmet.json
+++ /dev/null
@@ -1,14 +0,0 @@
-[
- {
- "condition": "minecraft:random_chance",
- "chance": 0.75
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "fluid": {
- "fluids": "#minecraft:water"
- }
- }
- }
-]
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/mob/modifier/burned.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/mob/modifier/burned.json
deleted file mode 100644
index 7ff0bb03e0..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/mob/modifier/burned.json
+++ /dev/null
@@ -1,23 +0,0 @@
-[
- {
- "condition": "minecraft:inverted",
- "term": {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/dark"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": [
- "minecraft:desert",
- "minecraft:savanna",
- "minecraft:savanna_plateau",
- "minecraft:windswept_savanna",
- "minecraft:badlands",
- "minecraft:wooded_badlands",
- "minecraft:eroded_badlands"
- ]
- }
- }
-]
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/mob/modifier/dark.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/mob/modifier/dark.json
deleted file mode 100644
index d7dfa55696..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/mob/modifier/dark.json
+++ /dev/null
@@ -1,33 +0,0 @@
-[
- {
- "condition": "minecraft:inverted",
- "term": {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:lush_caves"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "block": {
- "blocks": "#gm4:water"
- }
- }
- }
- ]
- }
- },
- {
- "condition": "minecraft:location_check",
- "offsetY": 1,
- "predicate": {
- "light": {
- "light": 0
- }
- }
- }
-]
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/mob/modifier/deep.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/mob/modifier/deep.json
deleted file mode 100644
index ba51b3a983..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/mob/modifier/deep.json
+++ /dev/null
@@ -1,33 +0,0 @@
-[
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:inverted",
- "term": {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/dark"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "fluid": {
- "fluids": "#minecraft:water"
- }
- }
- }
- ]
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": [
- "minecraft:deep_lukewarm_ocean",
- "minecraft:deep_ocean",
- "minecraft:deep_cold_ocean",
- "minecraft:deep_frozen_ocean"
- ]
- }
- }
-]
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/mob/modifier/flowering.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/mob/modifier/flowering.json
deleted file mode 100644
index 5f1774c215..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/mob/modifier/flowering.json
+++ /dev/null
@@ -1,20 +0,0 @@
-[
- {
- "condition": "minecraft:inverted",
- "term": {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/dark"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": [
- "minecraft:sunflower_plains",
- "minecraft:flower_forest",
- "minecraft:lush_caves",
- "minecraft:cherry_grove"
- ]
- }
- }
-]
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/mob/modifier/growth.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/mob/modifier/growth.json
deleted file mode 100644
index ab22686d2b..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/mob/modifier/growth.json
+++ /dev/null
@@ -1,23 +0,0 @@
-[
- {
- "condition": "minecraft:inverted",
- "term": {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/dark"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": [
- "minecraft:snowy_taiga",
- "minecraft:grove",
- "minecraft:taiga",
- "minecraft:old_growth_pine_taiga",
- "minecraft:old_growth_spruce_taiga",
- "minecraft:dark_forest",
- "minecraft:mangrove_swamp"
- ]
- }
- }
-]
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/mob/modifier/lush_caves.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/mob/modifier/lush_caves.json
deleted file mode 100644
index 0d8729a01e..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/mob/modifier/lush_caves.json
+++ /dev/null
@@ -1,8 +0,0 @@
-[
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:lush_caves"
- }
- }
-]
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/mob/modifier/mountainous.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/mob/modifier/mountainous.json
deleted file mode 100644
index dfad1c9c62..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/mob/modifier/mountainous.json
+++ /dev/null
@@ -1,28 +0,0 @@
-[
- {
- "condition": "minecraft:inverted",
- "term": {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/dark"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": [
- "minecraft:snowy_slopes",
- "minecraft:jagged_peaks",
- "minecraft:frozen_peaks",
- "minecraft:windswept_hills",
- "minecraft:windswept_gravelly_hills",
- "minecraft:windswept_forest",
- "minecraft:stony_shore",
- "minecraft:meadow",
- "minecraft:stony_peaks",
- "minecraft:windswept_savanna",
- "minecraft:eroded_badlands",
- "minecraft:cherry_grove"
- ]
- }
- }
-]
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/mob/modifier/nether/basalt_deltas.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/mob/modifier/nether/basalt_deltas.json
deleted file mode 100644
index dd96c272d7..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/mob/modifier/nether/basalt_deltas.json
+++ /dev/null
@@ -1,8 +0,0 @@
-[
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:basalt_deltas"
- }
- }
-]
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/mob/modifier/nether/crimson_forest.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/mob/modifier/nether/crimson_forest.json
deleted file mode 100644
index bf60cfde7a..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/mob/modifier/nether/crimson_forest.json
+++ /dev/null
@@ -1,8 +0,0 @@
-[
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:crimson_forest"
- }
- }
-]
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/mob/modifier/nether/nether_wastes.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/mob/modifier/nether/nether_wastes.json
deleted file mode 100644
index 6ca0f50b37..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/mob/modifier/nether/nether_wastes.json
+++ /dev/null
@@ -1,8 +0,0 @@
-[
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:nether_wastes"
- }
- }
-]
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/mob/modifier/nether/soul_sand_valley.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/mob/modifier/nether/soul_sand_valley.json
deleted file mode 100644
index 27b93f1c6f..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/mob/modifier/nether/soul_sand_valley.json
+++ /dev/null
@@ -1,8 +0,0 @@
-[
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:soul_sand_valley"
- }
- }
-]
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/mob/modifier/nether/warped_forest.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/mob/modifier/nether/warped_forest.json
deleted file mode 100644
index d141211e1f..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/mob/modifier/nether/warped_forest.json
+++ /dev/null
@@ -1,8 +0,0 @@
-[
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:warped_forest"
- }
- }
-]
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/mob/modifier/reef.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/mob/modifier/reef.json
deleted file mode 100644
index d36cb90176..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/mob/modifier/reef.json
+++ /dev/null
@@ -1,28 +0,0 @@
-[
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:inverted",
- "term": {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/dark"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "block": {
- "blocks": "#gm4:water"
- }
- }
- }
- ]
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": "minecraft:warm_ocean"
- }
- }
-]
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/mob/modifier/snowy.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/mob/modifier/snowy.json
deleted file mode 100644
index 755f14ae0f..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/mob/modifier/snowy.json
+++ /dev/null
@@ -1,27 +0,0 @@
-[
- {
- "condition": "minecraft:inverted",
- "term": {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/dark"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": [
- "minecraft:snowy_plains",
- "minecraft:ice_spikes",
- "minecraft:snowy_taiga",
- "minecraft:snowy_beach",
- "minecraft:grove",
- "minecraft:snowy_slopes",
- "minecraft:jagged_peaks",
- "minecraft:frozen_peaks",
- "minecraft:frozen_river",
- "minecraft:frozen_ocean",
- "minecraft:deep_frozen_ocean"
- ]
- }
- }
-]
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/mob/modifier/the_end.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/mob/modifier/the_end.json
deleted file mode 100644
index f23c0c30ff..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/mob/modifier/the_end.json
+++ /dev/null
@@ -1,8 +0,0 @@
-[
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "dimension": "minecraft:the_end"
- }
- }
-]
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/mob/modifier/toxic.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/mob/modifier/toxic.json
deleted file mode 100644
index e048765f58..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/mob/modifier/toxic.json
+++ /dev/null
@@ -1,20 +0,0 @@
-[
- {
- "condition": "minecraft:inverted",
- "term": {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/dark"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "biomes": [
- "minecraft:swamp",
- "minecraft:mangrove_swamp",
- "minecraft:jungle",
- "minecraft:bamboo_jungle"
- ]
- }
- }
-]
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/modified_armor/archer.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/modified_armor/archer.json
deleted file mode 100644
index acbb7b2b89..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/modified_armor/archer.json
+++ /dev/null
@@ -1,63 +0,0 @@
-[
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "feet": {
- "items": "#gm4_combat_expanded:armor",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{modifier:archer}}"
- }
- }
- }
- }
- },
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "legs": {
- "items": "#gm4_combat_expanded:armor",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{modifier:archer}}"
- }
- }
- }
- }
- },
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "chest": {
- "items": "#gm4_combat_expanded:armor",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{modifier:archer}}"
- }
- }
- }
- }
- },
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "head": {
- "items": "#gm4_combat_expanded:armor",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{modifier:archer}}"
- }
- }
- }
- }
- }
- ]
- }
-]
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/modified_armor/beacon.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/modified_armor/beacon.json
deleted file mode 100644
index ffca28eb31..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/modified_armor/beacon.json
+++ /dev/null
@@ -1,63 +0,0 @@
-[
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "feet": {
- "items": "#gm4_combat_expanded:armor",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{modifier:beacon}}"
- }
- }
- }
- }
- },
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "legs": {
- "items": "#gm4_combat_expanded:armor",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{modifier:beacon}}"
- }
- }
- }
- }
- },
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "chest": {
- "items": "#gm4_combat_expanded:armor",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{modifier:beacon}}"
- }
- }
- }
- }
- },
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "head": {
- "items": "#gm4_combat_expanded:armor",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{modifier:beacon}}"
- }
- }
- }
- }
- }
- ]
- }
-]
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/modified_armor/burn.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/modified_armor/burn.json
deleted file mode 100644
index c0cba2bcd2..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/modified_armor/burn.json
+++ /dev/null
@@ -1,63 +0,0 @@
-[
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "feet": {
- "items": "#gm4_combat_expanded:armor",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{modifier:36}}"
- }
- }
- }
- }
- },
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "legs": {
- "items": "#gm4_combat_expanded:armor",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{modifier:36}}"
- }
- }
- }
- }
- },
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "chest": {
- "items": "#gm4_combat_expanded:armor",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{modifier:36}}"
- }
- }
- }
- }
- },
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "head": {
- "items": "#gm4_combat_expanded:armor",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{modifier:36}}"
- }
- }
- }
- }
- }
- ]
- }
-]
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/modified_armor/convert.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/modified_armor/convert.json
deleted file mode 100644
index b92fb0f14d..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/modified_armor/convert.json
+++ /dev/null
@@ -1,63 +0,0 @@
-[
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "feet": {
- "items": "#gm4_combat_expanded:armor",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{modifier:convert}}"
- }
- }
- }
- }
- },
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "legs": {
- "items": "#gm4_combat_expanded:armor",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{modifier:convert}}"
- }
- }
- }
- }
- },
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "chest": {
- "items": "#gm4_combat_expanded:armor",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{modifier:convert}}"
- }
- }
- }
- }
- },
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "head": {
- "items": "#gm4_combat_expanded:armor",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{modifier:convert}}"
- }
- }
- }
- }
- }
- ]
- }
-]
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/modified_armor/half.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/modified_armor/half.json
deleted file mode 100644
index 78453e3e6b..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/modified_armor/half.json
+++ /dev/null
@@ -1,63 +0,0 @@
-[
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "feet": {
- "items": "#gm4_combat_expanded:armor",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{modifier:52}}"
- }
- }
- }
- }
- },
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "legs": {
- "items": "#gm4_combat_expanded:armor",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{modifier:52}}"
- }
- }
- }
- }
- },
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "chest": {
- "items": "#gm4_combat_expanded:armor",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{modifier:52}}"
- }
- }
- }
- }
- },
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "head": {
- "items": "#gm4_combat_expanded:armor",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{modifier:52}}"
- }
- }
- }
- }
- }
- ]
- }
-]
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/modified_armor/horse.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/modified_armor/horse.json
deleted file mode 100644
index 6cb6ac928d..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/modified_armor/horse.json
+++ /dev/null
@@ -1,63 +0,0 @@
-[
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "feet": {
- "items": "#gm4_combat_expanded:armor",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{modifier:74}}"
- }
- }
- }
- }
- },
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "legs": {
- "items": "#gm4_combat_expanded:armor",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{modifier:74}}"
- }
- }
- }
- }
- },
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "chest": {
- "items": "#gm4_combat_expanded:armor",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{modifier:74}}"
- }
- }
- }
- }
- },
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "head": {
- "items": "#gm4_combat_expanded:armor",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{modifier:74}}"
- }
- }
- }
- }
- }
- ]
- }
-]
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/modified_armor/link.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/modified_armor/link.json
deleted file mode 100644
index 64e2bcb02d..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/modified_armor/link.json
+++ /dev/null
@@ -1,63 +0,0 @@
-[
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "feet": {
- "items": "#gm4_combat_expanded:armor",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{modifier:76}}"
- }
- }
- }
- }
- },
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "legs": {
- "items": "#gm4_combat_expanded:armor",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{modifier:76}}"
- }
- }
- }
- }
- },
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "chest": {
- "items": "#gm4_combat_expanded:armor",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{modifier:76}}"
- }
- }
- }
- }
- },
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "head": {
- "items": "#gm4_combat_expanded:armor",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{modifier:76}}"
- }
- }
- }
- }
- }
- ]
- }
-]
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/modified_armor/reactive.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/modified_armor/reactive.json
deleted file mode 100644
index c43a4cd1bf..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/modified_armor/reactive.json
+++ /dev/null
@@ -1,63 +0,0 @@
-[
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "feet": {
- "items": "#gm4_combat_expanded:armor",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{modifier:reactive}}"
- }
- }
- }
- }
- },
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "legs": {
- "items": "#gm4_combat_expanded:armor",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{modifier:reactive}}"
- }
- }
- }
- }
- },
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "chest": {
- "items": "#gm4_combat_expanded:armor",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{modifier:reactive}}"
- }
- }
- }
- }
- },
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "head": {
- "items": "#gm4_combat_expanded:armor",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{modifier:reactive}}"
- }
- }
- }
- }
- }
- ]
- }
-]
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/modified_armor/second_wind.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/modified_armor/second_wind.json
deleted file mode 100644
index 98ec3dc665..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/modified_armor/second_wind.json
+++ /dev/null
@@ -1,63 +0,0 @@
-[
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "feet": {
- "items": "#gm4_combat_expanded:armor",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{modifier:21}}"
- }
- }
- }
- }
- },
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "legs": {
- "items": "#gm4_combat_expanded:armor",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{modifier:21}}"
- }
- }
- }
- }
- },
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "chest": {
- "items": "#gm4_combat_expanded:armor",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{modifier:21}}"
- }
- }
- }
- }
- },
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "head": {
- "items": "#gm4_combat_expanded:armor",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{modifier:21}}"
- }
- }
- }
- }
- }
- ]
- }
-]
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/modified_armor/shielded.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/modified_armor/shielded.json
deleted file mode 100644
index ce34de4799..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/modified_armor/shielded.json
+++ /dev/null
@@ -1,63 +0,0 @@
-[
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "feet": {
- "items": "#gm4_combat_expanded:armor",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{modifier:11}}"
- }
- }
- }
- }
- },
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "legs": {
- "items": "#gm4_combat_expanded:armor",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{modifier:11}}"
- }
- }
- }
- }
- },
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "chest": {
- "items": "#gm4_combat_expanded:armor",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{modifier:11}}"
- }
- }
- }
- }
- },
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "head": {
- "items": "#gm4_combat_expanded:armor",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{modifier:11}}"
- }
- }
- }
- }
- }
- ]
- }
-]
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/modified_armor/spark.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/modified_armor/spark.json
deleted file mode 100644
index 4b87dc48ea..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/modified_armor/spark.json
+++ /dev/null
@@ -1,63 +0,0 @@
-[
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "feet": {
- "items": "#gm4_combat_expanded:armor",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{modifier:spark}}"
- }
- }
- }
- }
- },
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "legs": {
- "items": "#gm4_combat_expanded:armor",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{modifier:spark}}"
- }
- }
- }
- }
- },
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "chest": {
- "items": "#gm4_combat_expanded:armor",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{modifier:spark}}"
- }
- }
- }
- }
- },
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "head": {
- "items": "#gm4_combat_expanded:armor",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{modifier:spark}}"
- }
- }
- }
- }
- }
- ]
- }
-]
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/modified_armor/sword_ring.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/modified_armor/sword_ring.json
deleted file mode 100644
index 2654363dd2..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/modified_armor/sword_ring.json
+++ /dev/null
@@ -1,63 +0,0 @@
-[
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "feet": {
- "items": "#gm4_combat_expanded:armor",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{modifier:sword_ring}}"
- }
- }
- }
- }
- },
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "legs": {
- "items": "#gm4_combat_expanded:armor",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{modifier:sword_ring}}"
- }
- }
- }
- }
- },
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "chest": {
- "items": "#gm4_combat_expanded:armor",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{modifier:sword_ring}}"
- }
- }
- }
- }
- },
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "head": {
- "items": "#gm4_combat_expanded:armor",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{modifier:sword_ring}}"
- }
- }
- }
- }
- }
- ]
- }
-]
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/modified_armor/toxic.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/modified_armor/toxic.json
deleted file mode 100644
index 816611bcb4..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/modified_armor/toxic.json
+++ /dev/null
@@ -1,63 +0,0 @@
-[
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "feet": {
- "items": "#gm4_combat_expanded:armor",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{modifier:toxic}}"
- }
- }
- }
- }
- },
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "legs": {
- "items": "#gm4_combat_expanded:armor",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{modifier:toxic}}"
- }
- }
- }
- }
- },
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "chest": {
- "items": "#gm4_combat_expanded:armor",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{modifier:toxic}}"
- }
- }
- }
- }
- },
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "head": {
- "items": "#gm4_combat_expanded:armor",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{modifier:toxic}}"
- }
- }
- }
- }
- }
- ]
- }
-]
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/modified_armor/vorpal.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/modified_armor/vorpal.json
deleted file mode 100644
index 4cb9290fd6..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/modified_armor/vorpal.json
+++ /dev/null
@@ -1,63 +0,0 @@
-[
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "feet": {
- "items": "#gm4_combat_expanded:armor",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{modifier:vorpal}}"
- }
- }
- }
- }
- },
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "legs": {
- "items": "#gm4_combat_expanded:armor",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{modifier:vorpal}}"
- }
- }
- }
- }
- },
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "chest": {
- "items": "#gm4_combat_expanded:armor",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{modifier:vorpal}}"
- }
- }
- }
- }
- },
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "head": {
- "items": "#gm4_combat_expanded:armor",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{modifier:vorpal}}"
- }
- }
- }
- }
- }
- ]
- }
-]
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/modified_armor/wearing.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/modified_armor/wearing.json
deleted file mode 100644
index 71a92324d8..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/modified_armor/wearing.json
+++ /dev/null
@@ -1,61 +0,0 @@
-{
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "feet": {
- "items": "#gm4_combat_expanded:armor",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{}}"
- }
- }
- }
- }
- },
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "legs": {
- "items": "#gm4_combat_expanded:armor",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{}}"
- }
- }
- }
- }
- },
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "chest": {
- "items": "#gm4_combat_expanded:armor",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{}}"
- }
- }
- }
- }
- },
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "head": {
- "items": "#gm4_combat_expanded:armor",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{}}"
- }
- }
- }
- }
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/modified_armor/wild_magic.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/modified_armor/wild_magic.json
deleted file mode 100644
index 4ecadb1116..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/modified_armor/wild_magic.json
+++ /dev/null
@@ -1,63 +0,0 @@
-[
- {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "feet": {
- "items": "#gm4_combat_expanded:armor",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{modifier:wild_magic}}"
- }
- }
- }
- }
- },
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "legs": {
- "items": "#gm4_combat_expanded:armor",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{modifier:wild_magic}}"
- }
- }
- }
- }
- },
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "chest": {
- "items": "#gm4_combat_expanded:armor",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{modifier:wild_magic}}"
- }
- }
- }
- }
- },
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "head": {
- "items": "#gm4_combat_expanded:armor",
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{modifier:wild_magic}}"
- }
- }
- }
- }
- }
- ]
- }
-]
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/boss/2_minions.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/boss/2_minions.json
deleted file mode 100644
index c3bcd87548..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/boss/2_minions.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "condition": "minecraft:random_chance",
- "chance": 0.75
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/boss/aura_attack.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/boss/aura_attack.json
deleted file mode 100644
index cf030fdf94..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/boss/aura_attack.json
+++ /dev/null
@@ -1,28 +0,0 @@
-{
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:all_of",
- "terms": [
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "nbt": "{Tags:[\"gm4_ce_boss.watcher.secondary\"]}"
- }
- },
- {
- "condition": "minecraft:random_chance",
- "chance": 0.25
- }
- ]
- },
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "nbt": "{Tags:[\"gm4_ce_boss.watcher.main\"]}"
- }
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/boss/explode_minions.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/boss/explode_minions.json
deleted file mode 100644
index f88bed46f5..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/boss/explode_minions.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "condition": "minecraft:random_chance",
- "chance": 0.40
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/boss/fireball_attack.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/boss/fireball_attack.json
deleted file mode 100644
index efb96d20eb..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/boss/fireball_attack.json
+++ /dev/null
@@ -1,37 +0,0 @@
-{
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:all_of",
- "terms": [
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "nbt": "{Tags:[\"gm4_ce_boss.watcher.secondary\"]}"
- }
- },
- {
- "condition": "minecraft:random_chance",
- "chance": 0.80
- }
- ]
- },
- {
- "condition": "minecraft:all_of",
- "terms": [
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "nbt": "{Tags:[\"gm4_ce_boss.watcher.main\"]}"
- }
- },
- {
- "condition": "minecraft:random_chance",
- "chance": 0.35
- }
- ]
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/boss/skeleton_minion.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/boss/skeleton_minion.json
deleted file mode 100644
index ddc2b7b9fd..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/boss/skeleton_minion.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "condition": "minecraft:random_chance",
- "chance": 0.25
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/boss/slam_attack.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/boss/slam_attack.json
deleted file mode 100644
index c3bcd87548..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/boss/slam_attack.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "condition": "minecraft:random_chance",
- "chance": 0.75
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/boss/slam_teleport.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/boss/slam_teleport.json
deleted file mode 100644
index 04617748f2..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/boss/slam_teleport.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "condition": "minecraft:random_chance",
- "chance": 0.33
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/boss/summon_minions.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/boss/summon_minions.json
deleted file mode 100644
index 7791460c2c..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/boss/summon_minions.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "condition": "minecraft:random_chance",
- "chance": 0.60
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/extra_drowned_spawn.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/extra_drowned_spawn.json
deleted file mode 100644
index 54f3f59f86..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/extra_drowned_spawn.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.006
- }
- },
- "range": 1
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/extra_enderman.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/extra_enderman.json
deleted file mode 100644
index 04617748f2..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/extra_enderman.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "condition": "minecraft:random_chance",
- "chance": 0.33
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/extra_husk_spawn/common.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/extra_husk_spawn/common.json
deleted file mode 100644
index 8e9be3f6be..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/extra_husk_spawn/common.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.02
- }
- },
- "range": 1
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/extra_husk_spawn/rare.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/extra_husk_spawn/rare.json
deleted file mode 100644
index ba3250aa4d..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/extra_husk_spawn/rare.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.0045
- }
- },
- "range": 1
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/extra_husk_spawn/uncommon.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/extra_husk_spawn/uncommon.json
deleted file mode 100644
index 8d0c6ff253..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/extra_husk_spawn/uncommon.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.009
- }
- },
- "range": 1
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/extra_spider_spawn.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/extra_spider_spawn.json
deleted file mode 100644
index 54f3f59f86..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/extra_spider_spawn.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.006
- }
- },
- "range": 1
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/grow_phantom_large.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/grow_phantom_large.json
deleted file mode 100644
index 762a117d1b..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/grow_phantom_large.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.005
- }
- },
- "range": 1
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/grow_phantom_slight.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/grow_phantom_slight.json
deleted file mode 100644
index bc22683376..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/grow_phantom_slight.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.0035
- }
- },
- "range": 1
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/infested_bite_spawn.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/infested_bite_spawn.json
deleted file mode 100644
index ba2e181f60..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/infested_bite_spawn.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": "this",
- "score": "gm4_ce_difficult",
- "scale": 0.01
- }
- },
- "range": 1
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/link_particle.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/link_particle.json
deleted file mode 100644
index a1d57a68ec..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/link_particle.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": "this",
- "score": "gm4_ce_data",
- "scale": 0.05
- }
- },
- "range": 1
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/reef_guardian_spawn.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/reef_guardian_spawn.json
deleted file mode 100644
index ba3250aa4d..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/reef_guardian_spawn.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.0045
- }
- },
- "range": 1
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/reef_trident.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/reef_trident.json
deleted file mode 100644
index a2ec8fffc8..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/reef_trident.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.004
- }
- },
- "range": 1
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/replace_enderman_blaze.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/replace_enderman_blaze.json
deleted file mode 100644
index 75b00cbc0a..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/replace_enderman_blaze.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "condition": "minecraft:random_chance",
- "chance": 0.95
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/replace_enderman_slime.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/replace_enderman_slime.json
deleted file mode 100644
index 86c009177f..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/replace_enderman_slime.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "condition": "minecraft:random_chance",
- "chance": 0.50
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/replace_enderman_wither_skeleton.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/replace_enderman_wither_skeleton.json
deleted file mode 100644
index 2c8898576d..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/replace_enderman_wither_skeleton.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "condition": "minecraft:random_chance",
- "chance": 0.90
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/replace_flowering_skeleton.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/replace_flowering_skeleton.json
deleted file mode 100644
index 6528922eb4..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/replace_flowering_skeleton.json
+++ /dev/null
@@ -1,10 +0,0 @@
-[
- {
- "condition": "minecraft:random_chance",
- "chance": 0.85
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/flowering"
- }
-]
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/skeleton_harming_arrow.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/skeleton_harming_arrow.json
deleted file mode 100644
index 60e31b41e0..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/skeleton_harming_arrow.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.00075
- }
- },
- "range": 1
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/slime_grow_common.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/slime_grow_common.json
deleted file mode 100644
index bc22683376..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/slime_grow_common.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.0035
- }
- },
- "range": 1
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/slime_grow_rare.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/slime_grow_rare.json
deleted file mode 100644
index 55eb5ae9f6..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/slime_grow_rare.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.001
- }
- },
- "range": 1
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/spawn_mountain_phantom.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/spawn_mountain_phantom.json
deleted file mode 100644
index 05d1ae4339..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/spawn_mountain_phantom.json
+++ /dev/null
@@ -1,40 +0,0 @@
-[
- {
- "condition": "minecraft:location_check",
- "offsetY": 35,
- "predicate": {
- "block": {
- "blocks": "#minecraft:air"
- }
- }
- },
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.004
- }
- },
- "range": 1
- },
- {
- "condition": "minecraft:reference",
- "name": "gm4_combat_expanded:mob/modifier/mountainous"
- },
- {
- "condition": "minecraft:time_check",
- "value": {
- "min": 13188,
- "max": 22812
- },
- "period": 24000
- }
-]
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/spider_fire_resist.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/spider_fire_resist.json
deleted file mode 100644
index 762a117d1b..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/spider_fire_resist.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.005
- }
- },
- "range": 1
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/spider_invisibility.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/spider_invisibility.json
deleted file mode 100644
index 55eb5ae9f6..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/spider_invisibility.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.001
- }
- },
- "range": 1
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/spider_replace.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/spider_replace.json
deleted file mode 100644
index 86c009177f..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/spider_replace.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "condition": "minecraft:random_chance",
- "chance": 0.50
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/spider_speed.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/spider_speed.json
deleted file mode 100644
index a2ec8fffc8..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/spider_speed.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.004
- }
- },
- "range": 1
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/zombie_dual_wield.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/zombie_dual_wield.json
deleted file mode 100644
index b93292e31f..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/zombie_dual_wield.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.0005
- }
- },
- "range": 1
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/zombie_shielded.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/zombie_shielded.json
deleted file mode 100644
index 60e31b41e0..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/zombie_shielded.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.00075
- }
- },
- "range": 1
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/zombie_solid.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/zombie_solid.json
deleted file mode 100644
index a2ec8fffc8..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/zombie_solid.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.004
- }
- },
- "range": 1
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/zombie_sprinter.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/zombie_sprinter.json
deleted file mode 100644
index 8baf45ef8a..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/chance/zombie_sprinter.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:binomial",
- "n": 1,
- "p": {
- "type": "minecraft:score",
- "target": {
- "type": "minecraft:fixed",
- "name": "$difficulty"
- },
- "score": "gm4_ce_data",
- "scale": 0.0015
- }
- },
- "range": 1
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/convert_netherite/chest.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/convert_netherite/chest.json
deleted file mode 100644
index ce5634affb..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/convert_netherite/chest.json
+++ /dev/null
@@ -1,31 +0,0 @@
-[
- {
- "condition": "minecraft:inverted",
- "term": {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "chest": {
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{netherite:1}}"
- }
- }
- }
- }
- }
- },
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "chest": {
- "items": [
- "minecraft:netherite_chestplate"
- ]
- }
- }
- }
- }
-]
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/convert_netherite/feet.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/convert_netherite/feet.json
deleted file mode 100644
index b6ab111bc8..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/convert_netherite/feet.json
+++ /dev/null
@@ -1,31 +0,0 @@
-[
- {
- "condition": "minecraft:inverted",
- "term": {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "feet": {
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{netherite:1}}"
- }
- }
- }
- }
- }
- },
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "feet": {
- "items": [
- "minecraft:netherite_boots"
- ]
- }
- }
- }
- }
-]
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/convert_netherite/head.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/convert_netherite/head.json
deleted file mode 100644
index 4d428b2d51..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/convert_netherite/head.json
+++ /dev/null
@@ -1,31 +0,0 @@
-[
- {
- "condition": "minecraft:inverted",
- "term": {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "head": {
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{netherite:1}}"
- }
- }
- }
- }
- }
- },
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "head": {
- "items": [
- "minecraft:netherite_helmet"
- ]
- }
- }
- }
- }
-]
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/convert_netherite/legs.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/convert_netherite/legs.json
deleted file mode 100644
index e753b10fc9..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/convert_netherite/legs.json
+++ /dev/null
@@ -1,31 +0,0 @@
-[
- {
- "condition": "minecraft:inverted",
- "term": {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "legs": {
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{netherite:1}}"
- }
- }
- }
- }
- }
- },
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "legs": {
- "items": [
- "minecraft:netherite_leggings"
- ]
- }
- }
- }
- }
-]
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/convert_netherite/weapon.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/convert_netherite/weapon.json
deleted file mode 100644
index 5c1c6c4837..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/convert_netherite/weapon.json
+++ /dev/null
@@ -1,34 +0,0 @@
-[
- {
- "condition": "minecraft:inverted",
- "term": {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "mainhand": {
- "predicates": {
- "minecraft:custom_data": "{gm4_combat_expanded:{netherite:1}}"
- }
- }
- }
- }
- }
- },
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "mainhand": {
- "items": [
- "minecraft:netherite_axe",
- "minecraft:netherite_sword",
- "minecraft:netherite_shovel",
- "minecraft:netherite_pickaxe"
- ]
- }
- }
- }
- }
-]
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/crouching.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/crouching.json
deleted file mode 100644
index aab0ccb010..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/crouching.json
+++ /dev/null
@@ -1,11 +0,0 @@
-[
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "flags": {
- "is_sneaking": true
- }
- }
- }
-]
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/in_witch_hut.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/in_witch_hut.json
deleted file mode 100644
index c45cbb3197..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/in_witch_hut.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "condition": "minecraft:location_check",
- "predicate": {
- "structures": "minecraft:swamp_hut"
- }
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/night_time.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/night_time.json
deleted file mode 100644
index 26225d2480..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/night_time.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "condition": "minecraft:time_check",
- "value": {
- "min": 13188,
- "max": 23031
- },
- "period": 24000
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/on_fire.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/on_fire.json
deleted file mode 100644
index 81903de6b6..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/on_fire.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "flags": {
- "is_on_fire": true
- }
- }
- }
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/poisoned.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/poisoned.json
deleted file mode 100644
index e50a9f53fa..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/poisoned.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "effects": {
- "minecraft:poison": {}
- }
- }
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/pvp_able.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/pvp_able.json
deleted file mode 100644
index 82fe2389b9..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/pvp_able.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:value_check",
- "value": {
- "type": "minecraft:score",
- "target": "this",
- "score": "gm4_ce_pvp_timer"
- },
- "range": {
- "min": 1
- }
- },
- {
- "condition": "minecraft:inverted",
- "term": {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "type": "#gm4_combat_expanded:effect_immune"
- }
- },
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "type": "minecraft:player"
- }
- }
- ]
- }
- }
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/raining.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/raining.json
deleted file mode 100644
index f784a2be54..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/raining.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "condition": "minecraft:weather_check",
- "raining": true
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/unblocked_hit.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/unblocked_hit.json
deleted file mode 100644
index e025cfaf0f..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/unblocked_hit.json
+++ /dev/null
@@ -1,40 +0,0 @@
-[
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "nbt": "{HurtTime:10s}"
- }
- },
- {
- "condition": "minecraft:inverted",
- "term": {
- "condition": "minecraft:all_of",
- "terms": [
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "type": "minecraft:armor_stand"
- }
- },
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "type": "#gm4_combat_expanded:effect_immune"
- }
- },
- {
- "condition": "minecraft:entity_scores",
- "entity": "this",
- "scores": {
- "gm4_ce_shielded_hit": {
- "min": 1
- }
- }
- }
- ]
- }
- }
-]
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/valid_tp.json b/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/valid_tp.json
deleted file mode 100644
index 11032fe31d..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/predicate/technical/valid_tp.json
+++ /dev/null
@@ -1,73 +0,0 @@
-[
- {
- "condition": "minecraft:inverted",
- "term": {
- "condition": "minecraft:location_check",
- "offsetY": -1,
- "predicate": {
- "block": {
- "blocks": "#gm4:no_collision"
- }
- }
- }
- },
- {
- "condition": "minecraft:inverted",
- "term": {
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:location_check",
- "offsetY": 1,
- "predicate": {
- "fluid": {
- "fluids": "#minecraft:lava"
- }
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "fluid": {
- "fluids": "#minecraft:lava"
- }
- }
- },
- {
- "condition": "minecraft:location_check",
- "offsetY": 1,
- "predicate": {
- "fluid": {
- "fluids": "#minecraft:water"
- }
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "fluid": {
- "fluids": "#minecraft:water"
- }
- }
- }
- ]
- }
- },
- {
- "condition": "minecraft:location_check",
- "offsetY": 1,
- "predicate": {
- "block": {
- "blocks": "#gm4:no_collision"
- }
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "block": {
- "blocks": "#gm4:no_collision"
- }
- }
- }
-]
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/tags/block/light_placeable.json b/gm4_combat_expanded/data/gm4_combat_expanded/tags/block/light_placeable.json
deleted file mode 100644
index 6ed7f435b4..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/tags/block/light_placeable.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "values": [
- "#minecraft:air",
- "minecraft:water"
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/tags/damage_type/long_regeneration_pause.json b/gm4_combat_expanded/data/gm4_combat_expanded/tags/damage_type/long_regeneration_pause.json
deleted file mode 100644
index 476a1171f3..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/tags/damage_type/long_regeneration_pause.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- "values": [
- "minecraft:arrow",
- "minecraft:dragon_breath",
- "minecraft:explosion",
- "minecraft:fireball",
- "minecraft:fireworks",
- "minecraft:indirect_magic",
- "minecraft:lightning_bolt",
- "minecraft:mob_attack",
- "minecraft:mob_projectile",
- "minecraft:player_attack",
- "minecraft:player_explosion",
- "minecraft:sonic_boom",
- "minecraft:sting",
- "minecraft:thorns",
- "minecraft:thrown",
- "minecraft:trident",
- "minecraft:unattributed_fireball",
- "minecraft:wither",
- "minecraft:wither_skull"
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/tags/damage_type/short_regeneration_pause.json b/gm4_combat_expanded/data/gm4_combat_expanded/tags/damage_type/short_regeneration_pause.json
deleted file mode 100644
index b59719dc70..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/tags/damage_type/short_regeneration_pause.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "values": [
- "minecraft:drown",
- "minecraft:bad_respawn_point",
- "minecraft:cactus",
- "minecraft:campfire",
- "minecraft:fall",
- "minecraft:falling_anvil",
- "minecraft:falling_block",
- "minecraft:falling_stalactite",
- "minecraft:fly_into_wall",
- "minecraft:freeze",
- "minecraft:hot_floor",
- "minecraft:in_fire",
- "minecraft:in_wall",
- "minecraft:lava",
- "minecraft:magic",
- "minecraft:mob_attack_no_aggro",
- "minecraft:out_of_world",
- "minecraft:outside_border",
- "minecraft:stalagmite",
- "minecraft:starve",
- "minecraft:sweet_berry_bush"
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/tags/entity_type/arrow.json b/gm4_combat_expanded/data/gm4_combat_expanded/tags/entity_type/arrow.json
deleted file mode 100644
index 2992991bd0..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/tags/entity_type/arrow.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "values": [
- "minecraft:arrow",
- "minecraft:spectral_arrow"
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/tags/entity_type/effect_immune.json b/gm4_combat_expanded/data/gm4_combat_expanded/tags/entity_type/effect_immune.json
deleted file mode 100644
index eb2d350a6c..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/tags/entity_type/effect_immune.json
+++ /dev/null
@@ -1,40 +0,0 @@
-{
- "values": [
- "minecraft:allay",
- "minecraft:armor_stand",
- "minecraft:axolotl",
- "minecraft:bee",
- "minecraft:camel",
- "minecraft:cat",
- "minecraft:chicken",
- "minecraft:cod",
- "minecraft:cow",
- "minecraft:dolphin",
- "minecraft:donkey",
- "minecraft:fox",
- "minecraft:frog",
- "minecraft:goat",
- "minecraft:horse",
- "minecraft:llama",
- "minecraft:mooshroom",
- "minecraft:mule",
- "minecraft:ocelot",
- "minecraft:panda",
- "minecraft:parrot",
- "minecraft:pig",
- "minecraft:rabbit",
- "minecraft:salmon",
- "minecraft:sheep",
- "minecraft:skeleton_horse",
- "minecraft:sniffer",
- "minecraft:snow_golem",
- "minecraft:strider",
- "minecraft:tadpole",
- "minecraft:trader_llama",
- "minecraft:tropical_fish",
- "minecraft:turtle",
- "minecraft:villager",
- "minecraft:wandering_trader",
- "minecraft:wolf"
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/tags/entity_type/modify.json b/gm4_combat_expanded/data/gm4_combat_expanded/tags/entity_type/modify.json
deleted file mode 100644
index 8af32e5b1a..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/tags/entity_type/modify.json
+++ /dev/null
@@ -1,31 +0,0 @@
-{
- "values": [
- "minecraft:blaze",
- "minecraft:cave_spider",
- "minecraft:creeper",
- "minecraft:drowned",
- "minecraft:enderman",
- "minecraft:endermite",
- "minecraft:evoker",
- "minecraft:guardian",
- "minecraft:hoglin",
- "minecraft:husk",
- "minecraft:magma_cube",
- "minecraft:phantom",
- "minecraft:piglin",
- "minecraft:pillager",
- "minecraft:ravager",
- "minecraft:silverfish",
- "minecraft:skeleton",
- "minecraft:slime",
- "minecraft:spider",
- "minecraft:stray",
- "minecraft:vindicator",
- "minecraft:wither_skeleton",
- "minecraft:zoglin",
- "minecraft:zombie",
- "minecraft:zombie_villager",
- "minecraft:zombified_piglin"
- ]
-}
-
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/tags/entity_type/modify_in_air.json b/gm4_combat_expanded/data/gm4_combat_expanded/tags/entity_type/modify_in_air.json
deleted file mode 100644
index e58fdea46e..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/tags/entity_type/modify_in_air.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "values": [
- "minecraft:cave_spider",
- "minecraft:drowned",
- "minecraft:elder_guardian",
- "minecraft:guardian",
- "minecraft:magma_cube",
- "minecraft:phantom",
- "minecraft:shulker",
- "minecraft:slime"
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/tags/entity_type/undead.json b/gm4_combat_expanded/data/gm4_combat_expanded/tags/entity_type/undead.json
deleted file mode 100644
index 9725106be0..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/tags/entity_type/undead.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "values": [
- "minecraft:drowned",
- "minecraft:husk",
- "minecraft:phantom",
- "minecraft:skeleton",
- "minecraft:skeleton_horse",
- "minecraft:stray",
- "minecraft:wither",
- "minecraft:wither_skeleton",
- "minecraft:zoglin",
- "minecraft:zombie",
- "minecraft:zombie_horse",
- "minecraft:zombie_villager",
- "minecraft:zombified_piglin"
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/tags/entity_type/zombie_types.json b/gm4_combat_expanded/data/gm4_combat_expanded/tags/entity_type/zombie_types.json
deleted file mode 100644
index d52516baa7..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/tags/entity_type/zombie_types.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "values": [
- "minecraft:drowned",
- "minecraft:husk",
- "minecraft:zombie",
- "minecraft:zombie_villager"
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/tags/item/armor.json b/gm4_combat_expanded/data/gm4_combat_expanded/tags/item/armor.json
deleted file mode 100644
index 6286d505c1..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/tags/item/armor.json
+++ /dev/null
@@ -1,30 +0,0 @@
-{
- "values": [
- "chainmail_boots",
- "chainmail_chestplate",
- "chainmail_helmet",
- "chainmail_leggings",
- "diamond_boots",
- "diamond_chestplate",
- "diamond_helmet",
- "diamond_leggings",
- "golden_boots",
- "golden_chestplate",
- "golden_helmet",
- "golden_leggings",
- "iron_boots",
- "iron_chestplate",
- "iron_helmet",
- "iron_leggings",
- "leather_boots",
- "leather_chestplate",
- "leather_helmet",
- "leather_leggings",
- "netherite_boots",
- "netherite_chestplate",
- "netherite_helmet",
- "netherite_leggings",
- "player_head",
- "turtle_helmet"
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/tags/item/weapon.json b/gm4_combat_expanded/data/gm4_combat_expanded/tags/item/weapon.json
deleted file mode 100644
index 670df20aba..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/tags/item/weapon.json
+++ /dev/null
@@ -1,28 +0,0 @@
-{
- "values": [
- "diamond_axe",
- "diamond_pickaxe",
- "diamond_shovel",
- "diamond_sword",
- "golden_axe",
- "golden_pickaxe",
- "golden_shovel",
- "golden_sword",
- "iron_axe",
- "iron_pickaxe",
- "iron_shovel",
- "iron_sword",
- "netherite_axe",
- "netherite_pickaxe",
- "netherite_shovel",
- "netherite_sword",
- "stone_axe",
- "stone_pickaxe",
- "stone_shovel",
- "stone_sword",
- "wooden_axe",
- "wooden_pickaxe",
- "wooden_shovel",
- "wooden_sword"
- ]
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/wolf_variant/gm4_ce_canine.json b/gm4_combat_expanded/data/gm4_combat_expanded/wolf_variant/gm4_ce_canine.json
deleted file mode 100644
index 0c51ad202a..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/wolf_variant/gm4_ce_canine.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "angry_texture": "gm4_combat_expanded:entity/wolf/gm4_ce_canine_angry",
- "biomes": "minecraft:the_void",
- "tame_texture": "gm4_combat_expanded:entity/wolf/gm4_ce_canine_tame",
- "wild_texture": "gm4_combat_expanded:entity/wolf/gm4_ce_canine"
-}
diff --git a/gm4_combat_expanded/data/gm4_combat_expanded/wolf_variant/gm4_ce_canine_alt.json b/gm4_combat_expanded/data/gm4_combat_expanded/wolf_variant/gm4_ce_canine_alt.json
deleted file mode 100644
index 5664aac86e..0000000000
--- a/gm4_combat_expanded/data/gm4_combat_expanded/wolf_variant/gm4_ce_canine_alt.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "angry_texture": "gm4_combat_expanded:entity/wolf/gm4_ce_canine_alt_angry",
- "biomes": "minecraft:mushroom_fields",
- "tame_texture": "gm4_combat_expanded:entity/wolf/gm4_ce_canine_alt_tame",
- "wild_texture": "gm4_combat_expanded:entity/wolf/gm4_ce_canine_alt"
-}
diff --git a/gm4_combat_expanded/images/combat_expanded.png b/gm4_combat_expanded/images/combat_expanded.png
deleted file mode 100644
index 113458931d..0000000000
Binary files a/gm4_combat_expanded/images/combat_expanded.png and /dev/null differ
diff --git a/gm4_combat_expanded/pack.svg b/gm4_combat_expanded/pack.svg
deleted file mode 100644
index b81f018f13..0000000000
--- a/gm4_combat_expanded/pack.svg
+++ /dev/null
@@ -1,118 +0,0 @@
-
-
-
diff --git a/gm4_combat_expanded/translations.csv b/gm4_combat_expanded/translations.csv
deleted file mode 100644
index 95df44bb0e..0000000000
--- a/gm4_combat_expanded/translations.csv
+++ /dev/null
@@ -1,209 +0,0 @@
-key,en_us
-advancement.gm4.combat_expanded.identify.description,Obtain a Modified weapon or piece of armor from a mob
-advancement.gm4.combat_expanded.identify.title,Hidden Power
-attribute.gm4.combat_expanded.lore.immunity,%s Immunity
-attribute.gm4.combat_expanded.toxic,%s %s
-death.gm4.combat_expanded.delay,%s discovered the danger of resonance
-enchantment.level.14,XIV
-enchantment.level.15,XV
-enchantment.level.16,XVI
-enchantment.level.17,XVII
-item.gm4.combat_expanded.lore.archer,Arrow Storm
-item.gm4.combat_expanded.lore.beacon,Beacon
-item.gm4.combat_expanded.lore.big,Giant Growth
-item.gm4.combat_expanded.lore.canine,Good Boi
-item.gm4.combat_expanded.lore.delay_strike,Reverberating Strikes:
-item.gm4.combat_expanded.lore.delay,Echo
-item.gm4.combat_expanded.lore.equip,When Equipped:
-item.gm4.combat_expanded.lore.giant_strike,Stomping Strikes:
-item.gm4.combat_expanded.lore.giant,Area Damage
-item.gm4.combat_expanded.lore.half,Reduce Health to Half
-item.gm4.combat_expanded.lore.high_hp,When High on Health:
-item.gm4.combat_expanded.lore.husk,Ramping %s & %s
-item.gm4.combat_expanded.lore.killing,When Killing:
-item.gm4.combat_expanded.lore.low_hp,When Low on Health:
-item.gm4.combat_expanded.lore.mount,%s (Mount)
-item.gm4.combat_expanded.lore.poison_strike,Noxious Strikes:
-item.gm4.combat_expanded.lore.regen,Regenerate
-item.gm4.combat_expanded.lore.safe,When Not Under Attack:
-item.gm4.combat_expanded.lore.soothe,Heal Pulse
-item.gm4.combat_expanded.lore.tiny,Minituarize
-item.gm4.combat_expanded.lore.totem,%s Totem
-item.gm4.combat_expanded.lore.unsafe,When Under Attack:
-item.gm4.combat_expanded.lore.warp,Warp
-item.gm4.combat_expanded.lore.weakness_strike,Debilitating Strikes:
-item.gm4.combat_expanded.lore.wither_arrow,Arrow of Wither
-item.gm4.combat_expanded.name.acrobatic,Acrobatic %s
-item.gm4.combat_expanded.name.archer,Archery %s
-item.gm4.combat_expanded.name.beacon,Radiant %s
-item.gm4.combat_expanded.name.big,Goliaths %s
-item.gm4.combat_expanded.name.canine,Canine %s
-item.gm4.combat_expanded.name.delay,Resonating %s
-item.gm4.combat_expanded.name.fire,Flaming %s
-item.gm4.combat_expanded.name.giant,Giant %s
-item.gm4.combat_expanded.name.half,Fractal %s
-item.gm4.combat_expanded.name.heavy,Heavy %s
-item.gm4.combat_expanded.name.horse,Equestrian %s
-item.gm4.combat_expanded.name.husk,Dashing %s
-item.gm4.combat_expanded.name.immune,Vigorous %s
-item.gm4.combat_expanded.name.link,Unlinked %s
-item.gm4.combat_expanded.name.long,Long %s
-item.gm4.combat_expanded.name.poised,Fluxed %s
-item.gm4.combat_expanded.name.poison,Venomous %s
-item.gm4.combat_expanded.name.quick,Light %s
-item.gm4.combat_expanded.name.reactive,Reactive %s
-item.gm4.combat_expanded.name.satiated,Satiated %s
-item.gm4.combat_expanded.name.scout,Scouting %s
-item.gm4.combat_expanded.name.second_wind,Rejuvenating %s
-item.gm4.combat_expanded.name.shielded,Shielded %s
-item.gm4.combat_expanded.name.sneak,Sly %s
-item.gm4.combat_expanded.name.soothe,Soothing %s
-item.gm4.combat_expanded.name.tiny,Shrinking %s
-item.gm4.combat_expanded.name.totem,Totemic %s
-item.gm4.combat_expanded.name.toxic,Coated %s
-item.gm4.combat_expanded.name.vamp,Vampiric %s
-item.gm4.combat_expanded.name.vorpal,Vorpal %s
-item.gm4.combat_expanded.name.weightless,Weightless %s
-item.gm4.combat_expanded.name.weakness,Crippling %s
-text.gm4.guidebook.module_desc.combat_expanded,Use special armor and weapon modifiers to defend against mobs that grow ever stronger.
-text.gm4.guidebook.combat_expanded.description,"Mobs get stronger over time, based on each adventurer.\n\nMobs will spawn with higher health, damage, movement speed and with better armour and weapons."
-text.gm4.guidebook.combat_expanded.section.biome_modifiers,Area Modifiers
-text.gm4.guidebook.combat_expanded.biome_modifiers,Mobs spawned in different areas have special modifiers.\n\nSome areas and biomes spawn different mobs than usual.
-text.gm4.guidebook.combat_expanded.dark_areas,"Light Level 0, except in %s"
-text.gm4.guidebook.combat_expanded.dark,dark
-text.gm4.guidebook.combat_expanded.dark_modifier,Mobs spawned in %s areas are slightly stronger.\n\nCreepers have a higher blast radius and mobs don't drop their weapons and armour as often.
-text.gm4.guidebook.combat_expanded.burned,burned
-text.gm4.guidebook.combat_expanded.burned_modifier,"Mobs spawned in %s areas are weaker, but faster.\n\nHusks swarms can be found.\n\nMore mobs carry fire aspect and flame weapons."
-text.gm4.guidebook.combat_expanded.deep,deep oceans
-text.gm4.guidebook.combat_expanded.flowering,flowering
-text.gm4.guidebook.combat_expanded.flowering_modifier,"Zombies spawned in %s areas have less health, but can respawn when killed.\n\nCreepers will use Invisibility to sneak up to adventurers.\n\nSlimes are larger and spawn more often."
-text.gm4.guidebook.combat_expanded.growth,growth
-text.gm4.guidebook.combat_expanded.growth_modifier,"Mobs spawned in %s areas are weaker, but spawn in groups.\n\nSkeletons carry melee weapons.\n\nMobs can be found wearing projectile protection gear."
-text.gm4.guidebook.combat_expanded.mountainous,mountainous
-text.gm4.guidebook.combat_expanded.mountainous_modifier,"Mobs spawned in %s areas are stronger.\n\nMore mobs carry knockback and punch weapons.\n\nPhantoms can be found here at night."
-text.gm4.guidebook.combat_expanded.reef,warm oceans
-text.gm4.guidebook.combat_expanded.snowy,snowy
-text.gm4.guidebook.combat_expanded.snowy_modifier,"Mobs spawned in %s areas are slower, but have more health.\n\nMany attacks will apply slowness.\n\nCreepers are not found here."
-text.gm4.guidebook.combat_expanded.toxic,toxic
-text.gm4.guidebook.combat_expanded.toxic_modifier,"- Applies poison, weakness or instant health to the attacker\n- Reduced armor"
-text.gm4.guidebook.combat_expanded.section.weapons_and_armor,Special Gear
-text.gm4.guidebook.combat_expanded.drops,"Mobs can spawn with special gear.\n\nWeapons have a 20% drop chance and armour has a 8.5% drop chance.\n\nWhen dropped, the gear will have a powerful modifier."
-text.gm4.guidebook.combat_expanded.common_weapons,The following modifiers can be found on weapons:
-text.gm4.guidebook.combat_expanded.fire_modifier,"- Less attack damage, but has Fire Aspect III-V"
-text.gm4.guidebook.combat_expanded.giant_modifier,- Deals damage to everything within 4.5 blocks
-text.gm4.guidebook.combat_expanded.heavy_modifier,"- Stronger attack damage, but has slower attack speed\n- Knockback II-III"
-text.gm4.guidebook.combat_expanded.poison_modifier,- Poisons attacked target
-text.gm4.guidebook.combat_expanded.quick_modifier,"- Less attack damage, but quicker attack speed"
-text.gm4.guidebook.combat_expanded.weakness_modifier,- Temporarily slows and weakens attacked target
-text.gm4.guidebook.combat_expanded.delay_modifier,"- Shortly after hitting a target, they will be dealt heavy damage, attacking through armor and effects"
-text.gm4.guidebook.combat_expanded.lightning_modifier,- Attacks apply lightning charges.\n- 7+ charges cause a lightning strike
-text.gm4.guidebook.combat_expanded.swift_modifier,"- Reduced attack speed, but attacks grant bonus attack speed for 6 seconds"
-text.gm4.guidebook.combat_expanded.equipped_armor,The following armor modifiers are activated while equipped:
-text.gm4.guidebook.combat_expanded.husk_modifier,- Applies increasing speed and hunger while sprinting\n- Lower movement speed while not sprinting
-text.gm4.guidebook.combat_expanded.rarity_common,Common
-text.gm4.guidebook.combat_expanded.link_modifier,- Link to any adventurer wearing this armor with the same renamed name\n- All adventurers in the link share their health total
-text.gm4.guidebook.combat_expanded.beacon_modifier,- A floating light follows the wearer\n- Crouching will apply glowing and a light pulse
-text.gm4.guidebook.combat_expanded.canine_modifier,- Lower attack speed\n- Spawns an invulnerable dog that deals 4 damage\n- Commanding to sit will cause it to lose aggro\n- Feeding it will grant strength
-text.gm4.guidebook.combat_expanded.rarity_rare,Rare
-text.gm4.guidebook.combat_expanded.horse_modifier,- Mounts receive speed and additional helpful effects
-text.gm4.guidebook.combat_expanded.damage_taken_armor,The following armor modifiers are activated when damage is taken:
-text.gm4.guidebook.combat_expanded.reactive_modifier,- Gain absorption for 30 seconds\n- Reduced armor
-text.gm4.guidebook.combat_expanded.vorpal_modifier,- Teleport to a random location within 16 blocks when damaged\n- Full knockback resistance when equipped
-text.gm4.guidebook.combat_expanded.killing_armor,The following armor modifiers are activated when upon killing:
-text.gm4.guidebook.combat_expanded.vamp_modifier,- Regenerate a heart of health\n- Reduced armor
-text.gm4.guidebook.combat_expanded.totem_modifier,"- Summons a totem that gives allies regeneration, resistance, speed, or strength\n- Totems can stack if mobs are killed within its range of 18 blocks"
-text.gm4.guidebook.combat_expanded.safe_armor,The following armor modifiers are activated while not in combat:
-text.gm4.guidebook.combat_expanded.scout_modifier,- Quicker movement speed
-text.gm4.guidebook.combat_expanded.archer_modifier,- Multiple arrows will be shot from a single arrow shot\n- Lower attack speed when equipped
-text.gm4.guidebook.combat_expanded.shielded_modifier,- Gain absorption
-text.gm4.guidebook.combat_expanded.sneak_modifier,"- Gains invisibility when sneaking, when sneaking ends gain attack speed"
-text.gm4.guidebook.combat_expanded.low_health_armor,The following armor modifiers are activated while below half health:
-text.gm4.guidebook.combat_expanded.second_wind_modifier,"- Stores some damage taken, then restores it when the wearer is out of combat\n- Reduced armor"
-text.gm4.guidebook.combat_expanded.poised_modifier,"- Higher attack damage, but lower armor\n- Has an opposite effect when health is below 50%"
-text.gm4.guidebook.combat_expanded.soothe_modifier,- AOE of healing effect and regeneration\n- Can be recharged by killing mobs
-text.gm4.guidebook.combat_expanded.high_health_armor,The following armor modifiers are activated while above half health:
-text.gm4.guidebook.combat_expanded.half_modifier,- Damage is dealt until wearer is at half health\n- Resistance III when equipped
-text.gm4.guidebook.combat_expanded.immune_modifier,"- Immune to mining fatigue, poison or weakness, and to hunger, blindness, nausea or wither"
-text.gm4.guidebook.combat_expanded.deep_modifier,Mobs spawned in %s are tougher to kill.\n\nDrowned are faster as well.
-text.gm4.guidebook.combat_expanded.reef_modifier,Drowned spawned in %s are much more powerful and more frequently carry tridents.\n\nGuardians can be found here even outside of Ocean Monuments.
-text.gm4.guidebook.combat_expanded.toxic_modifier_2,"Mobs spawned in %s areas are weaker, but apply weakness, hunger, and poison.\n\nSpider clusters can be found."
-advancement.gm4.combat_expanded.vorpal.title,Vwoops!
-advancement.gm4.combat_expanded.vorpal.description,Who thought this was a good idea?
-item.gm4.combat_expanded.lore.archer_description,Fire many arrows
-item.gm4.combat_expanded.lore.beacon_description,"Lights the way, sneak to glow"
-item.gm4.combat_expanded.name.berserk,Berserkers %s
-item.gm4.combat_expanded.lore.burn,Burning Aura
-item.gm4.combat_expanded.lore.burn_description,"Stacks 8 times, 0.25 damage per stack"
-item.gm4.combat_expanded.lore.burn_description_2,At full stacks gain %s
-item.gm4.combat_expanded.name.burn,Burning %s
-item.gm4.combat_expanded.lore.canine_description,A loyal friend to fight by your side
-item.gm4.combat_expanded.lore.canine_description_2,Command to sit to lose aggro
-item.gm4.combat_expanded.lore.canine_description_3,Feed to strengthen
-item.gm4.combat_expanded.lore.weightless,Reduced %s
-item.gm4.combat_expanded.lore.convert,Convert Armor to Health
-item.gm4.combat_expanded.name.convert,Hearty %s
-item.gm4.combat_expanded.lore.drain,%s (Max %s)
-item.gm4.combat_expanded.name.drain,Draining %s
-item.gm4.combat_expanded.lore.focus,%s Aura
-item.gm4.combat_expanded.name.focus,Focused %s
-item.gm4.combat_expanded.lore.horse_description,%s stacks like Enchantments (2x %s = %s)
-item.gm4.combat_expanded.lore.husk_description,Stacks up to level %s
-item.gm4.combat_expanded.lore.husk_description_2,+1 level per extra piece
-item.gm4.combat_expanded.lore.link_2,Rename to Link
-item.gm4.combat_expanded.lore.link,When Linked:
-item.gm4.combat_expanded.lore.link_3,Lifelink
-item.gm4.combat_expanded.lore.link_description,Share Health with others in the link
-item.gm4.combat_expanded.lore.reactive_description,Cannot trigger again for 30 seconds
-item.gm4.combat_expanded.lore.reckless_description,Cannot go below 0 %s
-item.gm4.combat_expanded.name.reckless,Reckless %s
-item.gm4.combat_expanded.lore.second_wind,Store %s of Damage
-item.gm4.combat_expanded.lore.second_wind_2,Restore Stored Health
-item.gm4.combat_expanded.lore.shielded,Lose %s
-item.gm4.combat_expanded.lore.sneak,If Sneaking:
-item.gm4.combat_expanded.lore.sneak_2,Stop Sneaking:
-item.gm4.combat_expanded.lore.lightning,Charge
-item.gm4.combat_expanded.lore.lightning_description_2,Charge effect stacks when re-applied
-item.gm4.combat_expanded.lore.lightning_description,Apply 7 stacks to strike with Lightning
-item.gm4.combat_expanded.name.spark,Sparking %s
-item.gm4.combat_expanded.lore.sustain,Quicker Regeneration
-item.gm4.combat_expanded.name.sustain,Sustaining %s
-item.gm4.combat_expanded.lore.sword_ring,Floating Sword
-item.gm4.combat_expanded.lore.sword_ring_description,"Sword deals %s Damage, sneak to spin faster"
-item.gm4.combat_expanded.lore.sword_ring_description_2,Damage applies effects from mainhand
-item.gm4.combat_expanded.lore.sword_ring_description_3,Dealing damage reduces armor durability
-item.gm4.combat_expanded.lore.sword_ring_description_4,A sword rotates around you at attack range
-item.gm4.combat_expanded.name.sword_ring,Psychic %s
-item.gm4.combat_expanded.lore.unburden,%s per missing %s
-item.gm4.combat_expanded.name.unburden,Lightweight %s
-item.gm4.combat_expanded.lore.wild_magic,It must do Something
-item.gm4.combat_expanded.name.wild_magic,Wild Magic %s
-item.gm4.combat_expanded.lore.unidentified,%s Unidentified Item - Drop to Identify
-death.gm4.combat_expanded.link_0,%s followed eachother to their death
-death.gm4.combat_expanded.link_1,%s followed %s to their death
-death.gm4.combat_expanded.link_2+,%s followed %s and %s to their deaths
-item.gm4.combat_expanded.lore.delay_description,Deal delayed unblockable damage
-item.gm4.combat_expanded.name.double,Twofold %s
-item.gm4.combat_expanded.lore.lightning_strike,Static Strikes:
-item.gm4.combat_expanded.name.lightning,Charged %s
-item.gm4.combat_expanded.lore.pierce_strike,Breaking Strikes:
-item.gm4.combat_expanded.lore.pierce,Effect can Stack
-item.gm4.combat_expanded.name.pierce,Piercing %s
-item.gm4.combat_expanded.lore.swift_strike,Stacking Strikes:
-item.gm4.combat_expanded.lore.swift,Max 4 %s
-item.gm4.combat_expanded.name.swift,Swift %s
-text.gm4.guidebook.combat_expanded.double_modifier,- Has low base attack damage but will double total attack damage
-text.gm4.guidebook.combat_expanded.pierce_modifier,- Reduces armor of attacked target for 10 seconds
-text.gm4.guidebook.combat_expanded.convert_modifier,- Converts armor from this piece to max health
-text.gm4.guidebook.combat_expanded.sword_ring_modifier,- Spawns a floating sword to circle around the wearer\n- Lower attack speed when equipped
-text.gm4.guidebook.combat_expanded.spark_modifier,- Apply a lightning charge to attacker.\n- 7+ charges cause a lightning strike
-text.gm4.guidebook.combat_expanded.drain_modifier,"- Grants 1 bonus max health, up to a cap\n- Taking damage reduces max health"
-text.gm4.guidebook.combat_expanded.sustain_modifier,"- Regenerate health faster"
-text.gm4.guidebook.combat_expanded.focus_modifier,"- Gain attack damage, lose attack damage when damaged\n- Nearby mobs have glowing"
-text.gm4.guidebook.combat_expanded.reckless_modifier,"- Decrease armor and increase attack damage for 15 seconds\n- Effect can stack until piece runs out of armor"
-text.gm4.guidebook.combat_expanded.berserk_modifier,"- Gain attack damage, attack speed, movement speed and knockback resistance"
-text.gm4.guidebook.combat_expanded.burn_modifier,"- Deal fire damage to nearby entities for 10 seconds, damage stacks with more kills\n- Taking damage also adds a stack\n- At 10 stacks also set entities on fire and gain fire resistance"
-text.gm4.guidebook.combat_expanded.epic_armor,The following armor modifiers are only found in specific places:
-text.gm4.guidebook.combat_expanded.vorpal_location,Found in The End
-text.gm4.guidebook.combat_expanded.wild_magic_modifier,- Apply a random potion effect with random level and duration to wearer when damaged
-text.gm4.guidebook.combat_expanded.wild_magic_location,Found in Mushroom Fields
-text.gm4.guidebook.combat_expanded.link_location,Found in Deep Dark
diff --git a/gm4_cooler_caves/beet.yaml b/gm4_cooler_caves/beet.yaml
index 92d8581f7a..7df3c56769 100644
--- a/gm4_cooler_caves/beet.yaml
+++ b/gm4_cooler_caves/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_cooler_caves
name: Cooler Caves
-version: 2.4.X
+version: 2.5.X
data_pack:
load: .
diff --git a/gm4_cozy_campfires/beet.yaml b/gm4_cozy_campfires/beet.yaml
index c09723aa59..9a5a8c056e 100644
--- a/gm4_cozy_campfires/beet.yaml
+++ b/gm4_cozy_campfires/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_cozy_campfires
name: Cozy Campfires
-version: 1.4.X
+version: 1.5.X
data_pack:
load: .
diff --git a/gm4_cozy_campfires/data/gm4_cozy_campfires/function/placement/ray.mcfunction b/gm4_cozy_campfires/data/gm4_cozy_campfires/function/placement/ray.mcfunction
index 25e9c542a9..f80086981e 100644
--- a/gm4_cozy_campfires/data/gm4_cozy_campfires/function/placement/ray.mcfunction
+++ b/gm4_cozy_campfires/data/gm4_cozy_campfires/function/placement/ray.mcfunction
@@ -1,5 +1,5 @@
# run from placement/place and placement/ray
scoreboard players add ray_step gm4_count 1
-execute store success score success gm4_count if block ~ ~ ~ #minecraft:campfires unless entity @e[type=marker,tag=gm4_campfire,dx=0] align xyz run summon marker ~0.5 ~0.5 ~0.5 {CustomName:'"gm4_campfire"',Tags:["gm4_campfire"]}
+execute store success score success gm4_count if block ~ ~ ~ #minecraft:campfires unless entity @e[type=marker,tag=gm4_campfire,dx=0] align xyz run summon marker ~0.5 ~0.5 ~0.5 {CustomName:"gm4_campfire",Tags:["gm4_campfire"]}
execute if score ray_step gm4_count matches 0..500 if score success gm4_count matches 0 positioned ^ ^ ^0.01 run function gm4_cozy_campfires:placement/ray
diff --git a/gm4_crossbow_cartridges/beet.yaml b/gm4_crossbow_cartridges/beet.yaml
index 92c149ff72..9e1ada4a69 100644
--- a/gm4_crossbow_cartridges/beet.yaml
+++ b/gm4_crossbow_cartridges/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_crossbow_cartridges
name: Crossbow Cartridges
-version: 1.7.X
+version: 1.8.X
data_pack:
load: .
diff --git a/gm4_crossbow_cartridges/data/gm4_crossbow_cartridges/function/cables/shoot_arrow.mcfunction b/gm4_crossbow_cartridges/data/gm4_crossbow_cartridges/function/cables/shoot_arrow.mcfunction
index c4697ed82e..5b78f09b85 100644
--- a/gm4_crossbow_cartridges/data/gm4_crossbow_cartridges/function/cables/shoot_arrow.mcfunction
+++ b/gm4_crossbow_cartridges/data/gm4_crossbow_cartridges/function/cables/shoot_arrow.mcfunction
@@ -6,7 +6,7 @@
tag @s add gm4_cb_use
# store amount of string on the player, with max value of 40
-execute store result score @s gm4_cb_string run data get entity @s Inventory[-1].count
+execute store result score @s gm4_cb_string run data get entity @s equipment.offhand.count
# check for tripwire hook on the player
execute store success score @s gm4_cb_tw_hook run clear @s minecraft:tripwire_hook 0
diff --git a/gm4_crossbow_cartridges/data/gm4_crossbow_cartridges/function/projectile/beehive.mcfunction b/gm4_crossbow_cartridges/data/gm4_crossbow_cartridges/function/projectile/beehive.mcfunction
index 13ea02f48a..37e4112554 100644
--- a/gm4_crossbow_cartridges/data/gm4_crossbow_cartridges/function/projectile/beehive.mcfunction
+++ b/gm4_crossbow_cartridges/data/gm4_crossbow_cartridges/function/projectile/beehive.mcfunction
@@ -4,7 +4,8 @@
# run from check_projectile
tag @s add gm4_cb_use
-data modify storage gm4_crossbow_cartridges:temp bees set from entity @s Inventory[{Slot:-106b}].components."minecraft:bees"
+data modify storage gm4_crossbow_cartridges:temp bees set from entity @s equipment.offhand.components."minecraft:bees"
+execute unless data storage gm4_crossbow_cartridges:temp bees run return fail
data modify storage gm4_crossbow_cartridges:temp projectile set from storage gm4_crossbow_cartridges:temp bees[0].entity_data
data remove storage gm4_crossbow_cartridges:temp bees[0]
@@ -13,7 +14,7 @@ summon minecraft:bee ~ ~ ~ {Tags:["gm4_cb_projectile"]}
execute as @e[type=minecraft:bee,tag=gm4_cb_projectile,limit=1,distance=..1] run function gm4_crossbow_cartridges:projectile/arrow_motion
# remove bee from beehive
-execute if entity @s[gamemode=!creative] run function gm4_crossbow_cartridges:set_bees with storage gm4_crossbow_cartridges:temp
+execute if entity @s[gamemode=!creative] run function gm4_crossbow_cartridges:projectile/set_bees with storage gm4_crossbow_cartridges:temp
data remove storage gm4_crossbow_cartridges:temp bees
# bee sting sound
diff --git a/gm4_crossbow_cartridges/data/gm4_crossbow_cartridges/function/projectile/bucket/axolotl.mcfunction b/gm4_crossbow_cartridges/data/gm4_crossbow_cartridges/function/projectile/bucket/axolotl.mcfunction
index c553dda15c..00270372b4 100644
--- a/gm4_crossbow_cartridges/data/gm4_crossbow_cartridges/function/projectile/bucket/axolotl.mcfunction
+++ b/gm4_crossbow_cartridges/data/gm4_crossbow_cartridges/function/projectile/bucket/axolotl.mcfunction
@@ -7,7 +7,7 @@
summon minecraft:axolotl ~ ~ ~ {FromBucket:1b,Tags:["gm4_cb_projectile"],active_effects:[{id:'minecraft:regeneration',amplifier:10,duration:200,show_particles:0b}]}
# TODO 1.20.5: changed to copy all bucket entity data, check if this causes problems
-data modify storage gm4_crossbow_cartridges:temp projectile merge from entity @s Inventory[{Slot:-106b}].components."minecraft:bucket_entity_data"
+data modify storage gm4_crossbow_cartridges:temp projectile merge from entity @s equipment.offhand.components."minecraft:bucket_entity_data"
execute as @e[type=minecraft:axolotl,tag=gm4_cb_projectile,limit=1,distance=..1] run function gm4_crossbow_cartridges:projectile/arrow_motion
# axolotl sound
diff --git a/gm4_crossbow_cartridges/data/gm4_crossbow_cartridges/function/projectile/bucket/cod.mcfunction b/gm4_crossbow_cartridges/data/gm4_crossbow_cartridges/function/projectile/bucket/cod.mcfunction
index c68f65c7bd..3a0f7332a1 100644
--- a/gm4_crossbow_cartridges/data/gm4_crossbow_cartridges/function/projectile/bucket/cod.mcfunction
+++ b/gm4_crossbow_cartridges/data/gm4_crossbow_cartridges/function/projectile/bucket/cod.mcfunction
@@ -6,7 +6,7 @@
# replace arrow with cod and copy data
summon minecraft:cod ~ ~ ~ {FromBucket:1b,Tags:["gm4_cb_projectile"],active_effects:[{id:'minecraft:regeneration',amplifier:10,duration:200,show_particles:0b}]}
-data modify storage gm4_crossbow_cartridges:temp projectile merge from entity @s Inventory[{Slot:-106b}].components."minecraft.bucket_entity_data"
+data modify storage gm4_crossbow_cartridges:temp projectile merge from entity @s equipment.offhand.components."minecraft:bucket_entity_data"
execute as @e[type=minecraft:cod,tag=gm4_cb_projectile,limit=1,distance=..1] run function gm4_crossbow_cartridges:projectile/arrow_motion
# fish flop sound
diff --git a/gm4_crossbow_cartridges/data/gm4_crossbow_cartridges/function/projectile/bucket/pufferfish.mcfunction b/gm4_crossbow_cartridges/data/gm4_crossbow_cartridges/function/projectile/bucket/pufferfish.mcfunction
index 07d552e745..69648ccf3f 100644
--- a/gm4_crossbow_cartridges/data/gm4_crossbow_cartridges/function/projectile/bucket/pufferfish.mcfunction
+++ b/gm4_crossbow_cartridges/data/gm4_crossbow_cartridges/function/projectile/bucket/pufferfish.mcfunction
@@ -6,7 +6,7 @@
# replace arrow with pufferfish and copy data
summon minecraft:pufferfish ~ ~ ~ {FromBucket:1b,Tags:["gm4_cb_projectile"],active_effects:[{id:'minecraft:regeneration',amplifier:10,duration:200,show_particles:0b}]}
-data modify storage gm4_crossbow_cartridges:temp projectile merge from entity @s Inventory[{Slot:-106b}].components."minecraft.bucket_entity_data"
+data modify storage gm4_crossbow_cartridges:temp projectile merge from entity @s equipment.offhand.components."minecraft:bucket_entity_data"
execute as @e[type=minecraft:pufferfish,tag=gm4_cb_projectile,limit=1,distance=..1] run function gm4_crossbow_cartridges:projectile/arrow_motion
# fish flop sound
diff --git a/gm4_crossbow_cartridges/data/gm4_crossbow_cartridges/function/projectile/bucket/salmon.mcfunction b/gm4_crossbow_cartridges/data/gm4_crossbow_cartridges/function/projectile/bucket/salmon.mcfunction
index a20592311d..a2657d94a0 100644
--- a/gm4_crossbow_cartridges/data/gm4_crossbow_cartridges/function/projectile/bucket/salmon.mcfunction
+++ b/gm4_crossbow_cartridges/data/gm4_crossbow_cartridges/function/projectile/bucket/salmon.mcfunction
@@ -6,7 +6,8 @@
# replace arrow with salmon and copy data
summon minecraft:salmon ~ ~ ~ {FromBucket:1b,Tags:["gm4_cb_projectile"],active_effects:[{id:'minecraft:regeneration',amplifier:10,duration:200,show_particles:0b}]}
-data modify storage gm4_crossbow_cartridges:temp projectile merge from entity @s Inventory[{Slot:-106b}].components."minecraft.bucket_entity_data"
+data modify storage gm4_crossbow_cartridges:temp projectile merge from entity @s equipment.offhand.components."minecraft:bucket_entity_data"
+data modify storage gm4_crossbow_cartridges:temp projectile.type set from entity @s equipment.offhand.components."minecraft:salmon/size"
execute as @e[type=minecraft:salmon,tag=gm4_cb_projectile,limit=1,distance=..1] run function gm4_crossbow_cartridges:projectile/arrow_motion
# fish flop sound
diff --git a/gm4_crossbow_cartridges/data/gm4_crossbow_cartridges/function/projectile/bucket/tadpole.mcfunction b/gm4_crossbow_cartridges/data/gm4_crossbow_cartridges/function/projectile/bucket/tadpole.mcfunction
index 35c32be179..b9b650e038 100644
--- a/gm4_crossbow_cartridges/data/gm4_crossbow_cartridges/function/projectile/bucket/tadpole.mcfunction
+++ b/gm4_crossbow_cartridges/data/gm4_crossbow_cartridges/function/projectile/bucket/tadpole.mcfunction
@@ -6,7 +6,7 @@
# replace arrow with tadpole and copy data
summon minecraft:tadpole ~ ~ ~ {FromBucket:1b,Tags:["gm4_cb_projectile"],active_effects:[{id:'minecraft:regeneration',amplifier:10,duration:200,show_particles:0b}]}
-data modify storage gm4_crossbow_cartridges:temp projectile merge from entity @s Inventory[{Slot:-106b}].components."minecraft.bucket_entity_data"
+data modify storage gm4_crossbow_cartridges:temp projectile merge from entity @s equipment.offhand.components."minecraft:bucket_entity_data"
execute as @e[type=minecraft:tadpole,tag=gm4_cb_projectile,limit=1,distance=..1] run function gm4_crossbow_cartridges:projectile/arrow_motion
# fish flop sound
diff --git a/gm4_crossbow_cartridges/data/gm4_crossbow_cartridges/function/projectile/bucket/tropical.mcfunction b/gm4_crossbow_cartridges/data/gm4_crossbow_cartridges/function/projectile/bucket/tropical.mcfunction
index df97f4e6db..859e592db6 100644
--- a/gm4_crossbow_cartridges/data/gm4_crossbow_cartridges/function/projectile/bucket/tropical.mcfunction
+++ b/gm4_crossbow_cartridges/data/gm4_crossbow_cartridges/function/projectile/bucket/tropical.mcfunction
@@ -6,7 +6,7 @@
# replace arrow with tropical fish and copy data
summon minecraft:tropical_fish ~ ~ ~ {FromBucket:1b,Tags:["gm4_cb_projectile"],active_effects:[{id:'minecraft:regeneration',amplifier:10,duration:200,show_particles:0b}]}
-data modify storage gm4_crossbow_cartridges:temp projectile merge from entity @s Inventory[{Slot:-106b}].components."minecraft.bucket_entity_data"
+data modify storage gm4_crossbow_cartridges:temp projectile merge from entity @s equipment.offhand.components."minecraft:bucket_entity_data"
execute as @e[type=minecraft:tropical_fish,tag=gm4_cb_projectile,limit=1,distance=..1] run function gm4_crossbow_cartridges:projectile/arrow_motion
# fish flop sound
diff --git a/gm4_crossbow_cartridges/data/gm4_crossbow_cartridges/function/projectile/potions.mcfunction b/gm4_crossbow_cartridges/data/gm4_crossbow_cartridges/function/projectile/potions.mcfunction
index 0b19f1c4e6..63d5b53276 100644
--- a/gm4_crossbow_cartridges/data/gm4_crossbow_cartridges/function/projectile/potions.mcfunction
+++ b/gm4_crossbow_cartridges/data/gm4_crossbow_cartridges/function/projectile/potions.mcfunction
@@ -4,13 +4,13 @@
# run from check_projectile
tag @s add gm4_cb_use
-data modify storage gm4_crossbow_cartridges:temp projectile.Item.components set from entity @s Inventory[{Slot:-106b}].components
+data modify storage gm4_crossbow_cartridges:temp projectile.Item.components set from entity @s equipment.offhand.components
data modify storage gm4_crossbow_cartridges:temp projectile.Owner set from entity @s UUID
# replace arrow with splash/lingering potion and copy data
-execute if predicate gm4_crossbow_cartridges:items/splash_potion run summon minecraft:potion ~ ~ ~ {Tags:["gm4_cb_projectile"],Item:{id:"minecraft:splash_potion",count:1,components:{"minecraft:potion_contents":"minecraft:water"}}}
-execute if predicate gm4_crossbow_cartridges:items/lingering_potion run summon minecraft:potion ~ ~ ~ {Tags:["gm4_cb_projectile"],Item:{id:"minecraft:lingering_potion",count:1,components:{"minecraft:potion_contents":"minecraft:water"}}}
-execute as @e[type=minecraft:potion,tag=gm4_cb_projectile,limit=1,distance=..1] run function gm4_crossbow_cartridges:projectile/arrow_motion
+execute if predicate gm4_crossbow_cartridges:items/splash_potion run summon minecraft:splash_potion ~ ~ ~ {Tags:["gm4_cb_projectile"],Item:{id:"minecraft:splash_potion",count:1,components:{"minecraft:potion_contents":"minecraft:water"}}}
+execute if predicate gm4_crossbow_cartridges:items/lingering_potion run summon minecraft:lingering_potion ~ ~ ~ {Tags:["gm4_cb_projectile"],Item:{id:"minecraft:lingering_potion",count:1,components:{"minecraft:potion_contents":"minecraft:water"}}}
+execute as @e[tag=gm4_cb_projectile,limit=1,distance=..1] run function gm4_crossbow_cartridges:projectile/arrow_motion
# remove potion from player's offhand
item modify entity @s[gamemode=!creative] weapon.offhand gm4_crossbow_cartridges:remove_item
diff --git a/gm4_crossbow_cartridges/data/gm4_crossbow_cartridges/function/shoot/any_arrow.mcfunction b/gm4_crossbow_cartridges/data/gm4_crossbow_cartridges/function/shoot/any_arrow.mcfunction
index c8e64256ff..9e990e3cd6 100644
--- a/gm4_crossbow_cartridges/data/gm4_crossbow_cartridges/function/shoot/any_arrow.mcfunction
+++ b/gm4_crossbow_cartridges/data/gm4_crossbow_cartridges/function/shoot/any_arrow.mcfunction
@@ -9,8 +9,10 @@ execute anchored eyes positioned ^ ^ ^ if entity @e[type=minecraft:spectral_arro
# tag arrow, 3 if multishot
execute anchored eyes positioned ^ ^ ^ run tag @e[type=minecraft:arrow,nbt={inGround:0b},distance=..0.2,sort=nearest,limit=3] add gm4_cb_arrow
-# check offhand item and replace arrow by projectile
-execute positioned as @e[type=arrow,tag=gm4_cb_arrow,limit=1,distance=..2,sort=nearest] run function gm4_crossbow_cartridges:check_projectile
+# check if arrow was tipped
+execute anchored eyes positioned ^ ^ ^ run data modify storage gm4_crossbow_cartridges:temp potion_contents set from entity @e[type=minecraft:arrow,tag=gm4_cb_arrow,distance=..0.2,limit=1] item.components."minecraft:potion_contents"
+execute if data storage gm4_crossbow_cartridges:temp potion_contents run function gm4_crossbow_cartridges:shoot/tipped
+data remove storage gm4_crossbow_cartridges:temp potion_contents
-tag @s remove gm4_cb_shot_spectral
-tag @s remove gm4_cb_shot_tipped
+# check offhand item and replace arrow by projectile
+execute positioned as @e[tag=gm4_cb_arrow,limit=1,distance=..2,sort=nearest] run function gm4_crossbow_cartridges:check_projectile
diff --git a/gm4_crossbow_cartridges/data/gm4_crossbow_cartridges/function/shoot/effect.mcfunction b/gm4_crossbow_cartridges/data/gm4_crossbow_cartridges/function/shoot/effect.mcfunction
deleted file mode 100644
index b301a1530e..0000000000
--- a/gm4_crossbow_cartridges/data/gm4_crossbow_cartridges/function/shoot/effect.mcfunction
+++ /dev/null
@@ -1,51 +0,0 @@
-# @s = player using the crossbow with a tipped arrow
-# at @s
-# run from shoot/tipped
-
-execute if data storage gm4_crossbow_cartridges:temp {effect:"minecraft:swiftness"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:speed',amplifier:0b,duration:440}]
-execute if data storage gm4_crossbow_cartridges:temp {effect:"minecraft:long_swiftness"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:speed',amplifier:0b,duration:1200}]
-execute if data storage gm4_crossbow_cartridges:temp {effect:"minecraft:strong_swiftness"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:speed',amplifier:1b,duration:220}]
-
-execute if data storage gm4_crossbow_cartridges:temp {effect:"minecraft:slowness"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:slowness',amplifier:0b,duration:220}]
-execute if data storage gm4_crossbow_cartridges:temp {effect:"minecraft:long_slowness"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:slowness',amplifier:0b,duration:600}]
-execute if data storage gm4_crossbow_cartridges:temp {effect:"minecraft:strong_slowness"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:slowness',amplifier:3b,duration:40}]
-
-execute if data storage gm4_crossbow_cartridges:temp {effect:"minecraft:strength"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:strength',amplifier:0b,duration:440}]
-execute if data storage gm4_crossbow_cartridges:temp {effect:"minecraft:long_strength"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:strength',amplifier:0b,duration:1200}]
-execute if data storage gm4_crossbow_cartridges:temp {effect:"minecraft:strong_strength"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:strength',amplifier:1b,duration:220}]
-
-execute if data storage gm4_crossbow_cartridges:temp {effect:"minecraft:healing"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:instant_health',amplifier:0b,duration:1}]
-execute if data storage gm4_crossbow_cartridges:temp {effect:"minecraft:strong_healing"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:instant_health',amplifier:1b,duration:1}]
-
-execute if data storage gm4_crossbow_cartridges:temp {effect:"minecraft:harming"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:instant_damage',amplifier:0b,duration:1}]
-execute if data storage gm4_crossbow_cartridges:temp {effect:"minecraft:strong_harming"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:instant_damage',amplifier:1b,duration:1}]
-
-execute if data storage gm4_crossbow_cartridges:temp {effect:"minecraft:leaping"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:jump_boost',amplifier:0b,duration:440}]
-execute if data storage gm4_crossbow_cartridges:temp {effect:"minecraft:long_leaping"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:jump_boost',amplifier:0b,duration:1200}]
-execute if data storage gm4_crossbow_cartridges:temp {effect:"minecraft:strong_leaping"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:jump_boost',amplifier:1b,duration:220}]
-
-execute if data storage gm4_crossbow_cartridges:temp {effect:"minecraft:regeneration"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:regeneration',amplifier:0b,duration:100}]
-execute if data storage gm4_crossbow_cartridges:temp {effect:"minecraft:long_regeneration"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:regeneration',amplifier:0b,duration:220}]
-execute if data storage gm4_crossbow_cartridges:temp {effect:"minecraft:strong_regeneration"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:regeneration',amplifier:1b,duration:40}]
-
-execute if data storage gm4_crossbow_cartridges:temp {effect:"minecraft:fire_resistance"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:fire_resistance',amplifier:0b,duration:440}]
-execute if data storage gm4_crossbow_cartridges:temp {effect:"minecraft:long_fire_resistance"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:fire_resistance',amplifier:0b,duration:1200}]
-
-execute if data storage gm4_crossbow_cartridges:temp {effect:"minecraft:water_breathing"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:water_breathing',amplifier:0b,duration:440}]
-execute if data storage gm4_crossbow_cartridges:temp {effect:"minecraft:long_water_breathing"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:water_breathing',amplifier:0b,duration:1200}]
-
-execute if data storage gm4_crossbow_cartridges:temp {effect:"minecraft:invisibility"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:invisibility',amplifier:0b,duration:440}]
-execute if data storage gm4_crossbow_cartridges:temp {effect:"minecraft:long_invisibility"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:invisibility',amplifier:0b,duration:1200}]
-
-execute if data storage gm4_crossbow_cartridges:temp {effect:"minecraft:night_vision"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:night_vision',amplifier:0b,duration:440}]
-execute if data storage gm4_crossbow_cartridges:temp {effect:"minecraft:long_night_vision"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:night_vision',amplifier:0b,duration:1200}]
-
-execute if data storage gm4_crossbow_cartridges:temp {effect:"minecraft:weakness"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:weakness',amplifier:0b,duration:220}]
-execute if data storage gm4_crossbow_cartridges:temp {effect:"minecraft:long_weakness"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:weakness',amplifier:0b,duration:600}]
-
-execute if data storage gm4_crossbow_cartridges:temp {effect:"minecraft:poison"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:poison',amplifier:0b,duration:100}]
-execute if data storage gm4_crossbow_cartridges:temp {effect:"minecraft:long_poison"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:poison',amplifier:0b,duration:220}]
-execute if data storage gm4_crossbow_cartridges:temp {effect:"minecraft:strong_poison"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:poison',amplifier:1b,duration:40}]
-
-execute if data storage gm4_crossbow_cartridges:temp {effect:"minecraft:slow_falling"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:slow_falling',amplifier:0b,duration:220}]
-execute if data storage gm4_crossbow_cartridges:temp {effect:"minecraft:long_slow_falling"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:slow_falling',amplifier:0b,duration:600}]
diff --git a/gm4_crossbow_cartridges/data/gm4_crossbow_cartridges/function/shoot/potion_effect.mcfunction b/gm4_crossbow_cartridges/data/gm4_crossbow_cartridges/function/shoot/potion_effect.mcfunction
new file mode 100644
index 0000000000..1b5432809a
--- /dev/null
+++ b/gm4_crossbow_cartridges/data/gm4_crossbow_cartridges/function/shoot/potion_effect.mcfunction
@@ -0,0 +1,65 @@
+# @s = player using the crossbow with a tipped arrow
+# at @s
+# run from shoot/tipped
+
+execute if data storage gm4_crossbow_cartridges:temp potion_contents{potion:"minecraft:swiftness"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:speed',amplifier:0b,duration:440}]
+execute if data storage gm4_crossbow_cartridges:temp potion_contents{potion:"minecraft:long_swiftness"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:speed',amplifier:0b,duration:1200}]
+execute if data storage gm4_crossbow_cartridges:temp potion_contents{potion:"minecraft:strong_swiftness"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:speed',amplifier:1b,duration:220}]
+
+execute if data storage gm4_crossbow_cartridges:temp potion_contents{potion:"minecraft:slowness"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:slowness',amplifier:0b,duration:220}]
+execute if data storage gm4_crossbow_cartridges:temp potion_contents{potion:"minecraft:long_slowness"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:slowness',amplifier:0b,duration:600}]
+execute if data storage gm4_crossbow_cartridges:temp potion_contents{potion:"minecraft:strong_slowness"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:slowness',amplifier:3b,duration:40}]
+
+execute if data storage gm4_crossbow_cartridges:temp potion_contents{potion:"minecraft:strength"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:strength',amplifier:0b,duration:440}]
+execute if data storage gm4_crossbow_cartridges:temp potion_contents{potion:"minecraft:long_strength"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:strength',amplifier:0b,duration:1200}]
+execute if data storage gm4_crossbow_cartridges:temp potion_contents{potion:"minecraft:strong_strength"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:strength',amplifier:1b,duration:220}]
+
+execute if data storage gm4_crossbow_cartridges:temp potion_contents{potion:"minecraft:healing"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:instant_health',amplifier:0b,duration:1}]
+execute if data storage gm4_crossbow_cartridges:temp potion_contents{potion:"minecraft:strong_healing"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:instant_health',amplifier:1b,duration:1}]
+
+execute if data storage gm4_crossbow_cartridges:temp potion_contents{potion:"minecraft:harming"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:instant_damage',amplifier:0b,duration:1}]
+execute if data storage gm4_crossbow_cartridges:temp potion_contents{potion:"minecraft:strong_harming"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:instant_damage',amplifier:1b,duration:1}]
+
+execute if data storage gm4_crossbow_cartridges:temp potion_contents{potion:"minecraft:leaping"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:jump_boost',amplifier:0b,duration:440}]
+execute if data storage gm4_crossbow_cartridges:temp potion_contents{potion:"minecraft:long_leaping"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:jump_boost',amplifier:0b,duration:1200}]
+execute if data storage gm4_crossbow_cartridges:temp potion_contents{potion:"minecraft:strong_leaping"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:jump_boost',amplifier:1b,duration:220}]
+
+execute if data storage gm4_crossbow_cartridges:temp potion_contents{potion:"minecraft:regeneration"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:regeneration',amplifier:0b,duration:100}]
+execute if data storage gm4_crossbow_cartridges:temp potion_contents{potion:"minecraft:long_regeneration"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:regeneration',amplifier:0b,duration:220}]
+execute if data storage gm4_crossbow_cartridges:temp potion_contents{potion:"minecraft:strong_regeneration"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:regeneration',amplifier:1b,duration:40}]
+
+execute if data storage gm4_crossbow_cartridges:temp potion_contents{potion:"minecraft:fire_resistance"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:fire_resistance',amplifier:0b,duration:440}]
+execute if data storage gm4_crossbow_cartridges:temp potion_contents{potion:"minecraft:long_fire_resistance"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:fire_resistance',amplifier:0b,duration:1200}]
+
+execute if data storage gm4_crossbow_cartridges:temp potion_contents{potion:"minecraft:water_breathing"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:water_breathing',amplifier:0b,duration:440}]
+execute if data storage gm4_crossbow_cartridges:temp potion_contents{potion:"minecraft:long_water_breathing"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:water_breathing',amplifier:0b,duration:1200}]
+
+execute if data storage gm4_crossbow_cartridges:temp potion_contents{potion:"minecraft:invisibility"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:invisibility',amplifier:0b,duration:440}]
+execute if data storage gm4_crossbow_cartridges:temp potion_contents{potion:"minecraft:long_invisibility"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:invisibility',amplifier:0b,duration:1200}]
+
+execute if data storage gm4_crossbow_cartridges:temp potion_contents{potion:"minecraft:night_vision"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:night_vision',amplifier:0b,duration:440}]
+execute if data storage gm4_crossbow_cartridges:temp potion_contents{potion:"minecraft:long_night_vision"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:night_vision',amplifier:0b,duration:1200}]
+
+execute if data storage gm4_crossbow_cartridges:temp potion_contents{potion:"minecraft:weakness"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:weakness',amplifier:0b,duration:220}]
+execute if data storage gm4_crossbow_cartridges:temp potion_contents{potion:"minecraft:long_weakness"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:weakness',amplifier:0b,duration:600}]
+
+execute if data storage gm4_crossbow_cartridges:temp potion_contents{potion:"minecraft:poison"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:poison',amplifier:0b,duration:100}]
+execute if data storage gm4_crossbow_cartridges:temp potion_contents{potion:"minecraft:long_poison"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:poison',amplifier:0b,duration:220}]
+execute if data storage gm4_crossbow_cartridges:temp potion_contents{potion:"minecraft:strong_poison"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:poison',amplifier:1b,duration:40}]
+
+execute if data storage gm4_crossbow_cartridges:temp potion_contents{potion:"minecraft:slow_falling"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:slow_falling',amplifier:0b,duration:220}]
+execute if data storage gm4_crossbow_cartridges:temp potion_contents{potion:"minecraft:long_slow_falling"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:slow_falling',amplifier:0b,duration:600}]
+
+execute if data storage gm4_crossbow_cartridges:temp potion_contents{potion:"minecraft:turtle_master"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:slowness',amplifier:3b,duration:40},{id:'minecraft:resistance',amplifier:2b,duration:40}]
+execute if data storage gm4_crossbow_cartridges:temp potion_contents{potion:"minecraft:long_turtle_master"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:slowness',amplifier:3b,duration:100},{id:'minecraft:resistance',amplifier:2b,duration:100}]
+execute if data storage gm4_crossbow_cartridges:temp potion_contents{potion:"minecraft:strong_turtle_master"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:slowness',amplifier:5b,duration:40},{id:'minecraft:resistance',amplifier:3b,duration:40}]
+
+execute if data storage gm4_crossbow_cartridges:temp potion_contents{potion:"minecraft:luck"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:luck',amplifier:0b,duration:740}]
+
+execute if data storage gm4_crossbow_cartridges:temp potion_contents{potion:"minecraft:wind_charged"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:wind_charged',amplifier:0b,duration:440}]
+
+execute if data storage gm4_crossbow_cartridges:temp potion_contents{potion:"minecraft:weaving"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:weaving',amplifier:0b,duration:440}]
+
+execute if data storage gm4_crossbow_cartridges:temp potion_contents{potion:"minecraft:ozzing"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:ozzing',amplifier:0b,duration:440}]
+
+execute if data storage gm4_crossbow_cartridges:temp potion_contents{potion:"minecraft:infestation"} run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:infestation',amplifier:0b,duration:440}]
diff --git a/gm4_crossbow_cartridges/data/gm4_crossbow_cartridges/function/shoot/spectral.mcfunction b/gm4_crossbow_cartridges/data/gm4_crossbow_cartridges/function/shoot/spectral.mcfunction
index dff8bf2159..11bd481aa6 100644
--- a/gm4_crossbow_cartridges/data/gm4_crossbow_cartridges/function/shoot/spectral.mcfunction
+++ b/gm4_crossbow_cartridges/data/gm4_crossbow_cartridges/function/shoot/spectral.mcfunction
@@ -2,11 +2,9 @@
# at @s
# run from function shoot/any_arrow
-tag @s add gm4_cb_shot_spectral
-
# store type of glowing
execute if predicate gm4_crossbow_cartridges:items/bucket run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set value [{id:'minecraft:glowing',amplifier:0b,duration:200}]
execute unless predicate gm4_crossbow_cartridges:items/bucket run data modify storage gm4_crossbow_cartridges:temp projectile.Glowing set value 1
# tag arrow, 3 if multishot
-execute anchored eyes positioned ^ ^ ^ run tag @e[type=minecraft:spectral_arrow,nbt={inGround:0b},distance=..0.2,sort=nearest,limit=3] add gm4_cb_arrow
+tag @e[type=minecraft:spectral_arrow,nbt={inGround:0b},distance=..0.2,sort=nearest,limit=3] add gm4_cb_arrow
diff --git a/gm4_crossbow_cartridges/data/gm4_crossbow_cartridges/function/shoot/tipped.mcfunction b/gm4_crossbow_cartridges/data/gm4_crossbow_cartridges/function/shoot/tipped.mcfunction
index 18741af995..c1ead53cd4 100644
--- a/gm4_crossbow_cartridges/data/gm4_crossbow_cartridges/function/shoot/tipped.mcfunction
+++ b/gm4_crossbow_cartridges/data/gm4_crossbow_cartridges/function/shoot/tipped.mcfunction
@@ -1,18 +1,6 @@
-# @s = player using the crossbow with a tipped arrow
+# @s = tipped arrow
# at @s
-# run from advancement shoot/tipped
+# run from function shoot/any_arrow
-advancement revoke @s only gm4_crossbow_cartridges:shoot/tipped
-
-# tag arrow, 3 if multishot
-execute anchored eyes positioned ^ ^ ^ run tag @e[type=minecraft:arrow,nbt={inGround:0b},distance=..0.2,sort=nearest,limit=3] add gm4_cb_arrow
-
-# store tipped arrow potion data
-data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set from entity @e[type=arrow,tag=gm4_cb_arrow,limit=1,distance=..2] custom_potion_effects
-data modify storage gm4_crossbow_cartridges:temp effect set from entity @e[type=arrow,tag=gm4_cb_arrow,limit=1,distance=..2] Potion
-execute if data storage gm4_crossbow_cartridges:temp effect run function gm4_crossbow_cartridges:shoot/effect
-
-# check offhand item and replace spectral_arrow by projectile
-execute positioned as @e[type=arrow,tag=gm4_cb_arrow,limit=1,distance=..2,sort=nearest] run function gm4_crossbow_cartridges:check_projectile
-
-data remove storage gm4_crossbow_cartridges:temp effect
+execute if data storage gm4_crossbow_cartridges:temp potion_contents.potion run function gm4_crossbow_cartridges:shoot/potion_effect
+execute if data storage gm4_crossbow_cartridges:temp potion_contents.custom_effects run data modify storage gm4_crossbow_cartridges:temp projectile.active_effects set from entity @s item.components."minecraft:potion_contents".custom_effects
diff --git a/gm4_crossbow_cartridges/data/gm4_crossbow_cartridges/guidebook/crossbow_cartridges.json b/gm4_crossbow_cartridges/data/gm4_crossbow_cartridges/guidebook/crossbow_cartridges.json
index a89767fa1e..41211281d9 100644
--- a/gm4_crossbow_cartridges/data/gm4_crossbow_cartridges/guidebook/crossbow_cartridges.json
+++ b/gm4_crossbow_cartridges/data/gm4_crossbow_cartridges/guidebook/crossbow_cartridges.json
@@ -40,9 +40,9 @@
},
{
"translate": "block.minecraft.tnt",
- "hoverEvent": {
+ "hover_event": {
"action": "show_item",
- "value": "{id:\"minecraft:tnt\",count:1}"
+ "id": "minecraft:tnt"
}
},
{
@@ -50,9 +50,9 @@
},
{
"translate": "item.minecraft.fire_charge",
- "hoverEvent": {
+ "hover_event": {
"action": "show_item",
- "value": "{id:\"minecraft:fire_charge\",count:1}"
+ "id": "minecraft:fire_charge"
}
},
{
@@ -60,9 +60,9 @@
},
{
"translate": "item.minecraft.wind_charge",
- "hoverEvent": {
+ "hover_event": {
"action": "show_item",
- "value": "{id:\"minecraft:wind_charge\",count:1}"
+ "id": "minecraft:wind_charge"
}
},
{
@@ -70,9 +70,9 @@
},
{
"translate": "item.minecraft.potion",
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "item.minecraft.splash_potion"
},
@@ -90,9 +90,9 @@
},
{
"translate": "block.minecraft.torch",
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "block.minecraft.torch"
},
@@ -113,9 +113,9 @@
},
{
"text": "* ",
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.crossbow_cartridges.torch",
"fallback": "Torch is placed on the block the arrow hits.\nIf the torch cannot be placed here, it is dropped.",
@@ -129,16 +129,16 @@
},
{
"translate": "item.minecraft.string",
- "hoverEvent": {
+ "hover_event": {
"action": "show_item",
- "value": "{id:\"minecraft:string\",count:1}"
+ "id": "minecraft:string"
}
},
{
"text": "* ",
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.crossbow_cartridges.string",
"fallback": "Stand in a tripwire hook and look in one of the\ncardinal directions to create a tripwire line.\n\nA tripwire hook can be placed automatically at the end.",
@@ -166,9 +166,9 @@
},
{
"text": "* ",
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.crossbow_cartridges.bucket.2",
"fallback": "The water bucket will be kept",
diff --git a/gm4_dangerous_dungeons/beet.yaml b/gm4_dangerous_dungeons/beet.yaml
index cbb642ebd3..840c025a59 100644
--- a/gm4_dangerous_dungeons/beet.yaml
+++ b/gm4_dangerous_dungeons/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_dangerous_dungeons
name: Dangerous Dungeons
-version: 2.4.X
+version: 2.5.X
data_pack:
load: .
diff --git a/gm4_dangerous_dungeons/data/gm4_dangerous_dungeons/tags/worldgen/biome/is_stone_base.json b/gm4_dangerous_dungeons/data/gm4_dangerous_dungeons/tags/worldgen/biome/is_stone_base.json
index bb8309d1be..0b9cef5d32 100644
--- a/gm4_dangerous_dungeons/data/gm4_dangerous_dungeons/tags/worldgen/biome/is_stone_base.json
+++ b/gm4_dangerous_dungeons/data/gm4_dangerous_dungeons/tags/worldgen/biome/is_stone_base.json
@@ -29,7 +29,7 @@
"minecraft:sparse_jungle",
"minecraft:windswept_savanna",
"minecraft:frozen_peaks",
- { "id": "minecraft:pale_garden", "required": false },
+ "minecraft:pale_garden",
"#gm4_dangerous_dungeons:is_snowy",
"minecraft:dripstone_caves"
]
diff --git a/gm4_desire_lines/beet.yaml b/gm4_desire_lines/beet.yaml
index ea24c45c5d..2e8cd51327 100644
--- a/gm4_desire_lines/beet.yaml
+++ b/gm4_desire_lines/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_desire_lines
name: Desire Lines
-version: 1.5.X
+version: 1.6.X
data_pack:
load: .
@@ -44,6 +44,7 @@ meta:
Creator:
- Sparks
Updated by:
+ - Bloo
- SpecialBuilder32
- Misode
- Andante
diff --git a/gm4_desire_lines/data/gm4_celaro_shamir/function/active.mcfunction b/gm4_desire_lines/data/gm4_celaro_shamir/function/active.mcfunction
index d23fb275ef..5cff65ee2c 100644
--- a/gm4_desire_lines/data/gm4_celaro_shamir/function/active.mcfunction
+++ b/gm4_desire_lines/data/gm4_celaro_shamir/function/active.mcfunction
@@ -1,2 +1,10 @@
-scoreboard players set @s gm4_desire_lines 0
+# Effects of the Celaro Shamir
+# @s = player with Celaro on their armor
+# at unspecified
+# run from tick
+
+# semi-ensure desire lines is disabled ($probability should only be modified NOT SET, as the modification order is load dependent)
+scoreboard players remove $probability gm4_desire_lines 1000
+
+# secondary celaro effect: invisibility inside foliage
execute if predicate gm4_celaro_shamir:stealth_active run effect give @s invisibility 1 0 true
diff --git a/gm4_desire_lines/data/gm4_celaro_shamir/loot_table/band.json b/gm4_desire_lines/data/gm4_celaro_shamir/loot_table/band.json
index 664dbae2dc..0b54fd9289 100644
--- a/gm4_desire_lines/data/gm4_celaro_shamir/loot_table/band.json
+++ b/gm4_desire_lines/data/gm4_celaro_shamir/loot_table/band.json
@@ -23,7 +23,7 @@
"lore": [
{
"translate": "item.gm4.shamir.celaro",
- "fallback": "Celaro",
+ "fallback": "Celaro Shamir",
"italic": false,
"color": "gray"
}
diff --git a/gm4_desire_lines/data/gm4_desire_lines/function/init.mcfunction b/gm4_desire_lines/data/gm4_desire_lines/function/init.mcfunction
index 17f24c0f47..c822a9105a 100644
--- a/gm4_desire_lines/data/gm4_desire_lines/function/init.mcfunction
+++ b/gm4_desire_lines/data/gm4_desire_lines/function/init.mcfunction
@@ -1,14 +1,16 @@
-scoreboard objectives add gm4_dl_random dummy
-scoreboard objectives add gm4_desire_lines minecraft.custom:minecraft.walk_one_cm
-scoreboard objectives add gm4_dl_sprint minecraft.custom:minecraft.sprint_one_cm
+scoreboard objectives add gm4_desire_lines dummy
scoreboard objectives add gm4_dl_affcoarse dummy
+# constants
+scoreboard players set #base_probability gm4_desire_lines 1
+scoreboard players set #sneak_penality gm4_desire_lines -5
+scoreboard players set #sprint_penalty gm4_desire_lines 5
+scoreboard players set #impact_penalty gm4_desire_lines 15
+
execute unless score desire_lines gm4_modules matches 1 run data modify storage gm4:log queue append value {type:"install",module:"Desire Lines"}
execute unless score desire_lines gm4_earliest_version < desire_lines gm4_modules run scoreboard players operation desire_lines gm4_earliest_version = desire_lines gm4_modules
scoreboard players set desire_lines gm4_modules 1
schedule function gm4_desire_lines:tick 1t
-
-
#$moduleUpdateList
diff --git a/gm4_desire_lines/data/gm4_desire_lines/function/path.mcfunction b/gm4_desire_lines/data/gm4_desire_lines/function/path.mcfunction
index 3f276916b0..67a85a1468 100644
--- a/gm4_desire_lines/data/gm4_desire_lines/function/path.mcfunction
+++ b/gm4_desire_lines/data/gm4_desire_lines/function/path.mcfunction
@@ -1,13 +1,18 @@
-#@s=@a[gamemode=!creative,gamemode=!spectator]
-#run by player.mcfunction
+# converts the block the player is stepping on
+# @s = survival player who initiated a desire lines block conversion
+# at @s
+# run from player
-#check blocks
-fill ~ ~-1 ~ ~ ~-1 ~ coarse_dirt replace dirt
-fill ~ ~-1 ~ ~ ~-1 ~ dirt replace grass_block
+# check blocks
+fill ~ ~-0.06 ~ ~ ~-0.06 ~ coarse_dirt replace dirt
+fill ~ ~-0.06 ~ ~ ~-0.06 ~ dirt replace grass_block
fill ~ ~ ~ ~ ~ ~ air replace snow[layers=1]
fill ~ ~ ~ ~ ~ ~ snow[layers=1] replace snow[layers=2]
+
+# remove foliage
execute if block ~ ~ ~ #gm4:foliage unless block ~ ~ ~ moss_carpet run setblock ~ ~ ~ air destroy
-#advancement check
-execute if block ~ ~-1 ~ coarse_dirt run scoreboard players add @s gm4_dl_affcoarse 1
+
+# advancement check
+execute if block ~ ~-0.07 ~ coarse_dirt run scoreboard players add @s gm4_dl_affcoarse 1
advancement grant @s[scores={gm4_dl_affcoarse=8000}] only gm4:desire_lines_8000
advancement grant @s[scores={gm4_dl_affcoarse=10000}] only gm4:desire_lines_10000
diff --git a/gm4_desire_lines/data/gm4_desire_lines/function/player.mcfunction b/gm4_desire_lines/data/gm4_desire_lines/function/player.mcfunction
index 29ab28a774..0c51f6bfa2 100644
--- a/gm4_desire_lines/data/gm4_desire_lines/function/player.mcfunction
+++ b/gm4_desire_lines/data/gm4_desire_lines/function/player.mcfunction
@@ -1,11 +1,20 @@
-#@s=@a[gamemode=!spectator,gamemode=!creative]
-#run by main
+# checks the player's current state to decide whether or not to trigger a block conversion
+# @s = any survival player
+# at unspecified
+# run from tick
-scoreboard players operation @s gm4_desire_lines += @s gm4_dl_sprint
-scoreboard players set @s gm4_dl_sprint 0
-execute if score @s gm4_desire_lines matches 30.. run scoreboard players set @s gm4_desire_lines 19
-execute if score @s gm4_desire_lines matches 1.. run scoreboard players remove @s gm4_desire_lines 20
+# terminate if player is not able to create a desire line
+execute unless predicate gm4_desire_lines:is_affected run return fail
+# determine trigger probability
+scoreboard players operation $probability gm4_desire_lines = #base_probability gm4_desire_lines
+execute if predicate {"condition":"minecraft:entity_properties","entity":"this","predicate":{"flags":{"is_sneaking":true}}} run scoreboard players operation $probability gm4_desire_lines += #sneak_penality gm4_desire_lines
+execute if predicate {"condition":"minecraft:entity_properties","entity":"this","predicate":{"flags":{"is_sprinting":true}}} run scoreboard players operation $probability gm4_desire_lines += #sprint_penalty gm4_desire_lines
+execute if predicate {"condition":"minecraft:entity_properties","entity":"this","predicate":{"movement":{"vertical_speed":{"min":2}}}} run scoreboard players operation $probability gm4_desire_lines += #impact_penalty gm4_desire_lines
function #gm4_desire_lines:expansion
-execute if predicate gm4_desire_lines:has_slow_falling run scoreboard players set @s gm4_desire_lines 0
-execute if score desire_lines gm4_dl_random matches ..2 if score @s gm4_desire_lines matches 1.. positioned ~ ~ ~ run function gm4_desire_lines:path
+
+# | NOTE: if you are writing an expansion, do NOT 'set' $probability, as the order in which expansions are called is arbitrary.
+# | Instead, modify $probability by addition or subtraction. Do NOT subtract max_int, as that may cause over or underflows.
+
+# trigger block conversion
+execute if predicate {"condition":"minecraft:random_chance","chance":{"type":"minecraft:score","target":{"type":"minecraft:fixed","name":"$probability"},"score":"gm4_desire_lines","scale":0.01}} at @s run function gm4_desire_lines:path
diff --git a/gm4_desire_lines/data/gm4_desire_lines/function/tick.mcfunction b/gm4_desire_lines/data/gm4_desire_lines/function/tick.mcfunction
index 1e6b0aa3d5..bfd769c527 100644
--- a/gm4_desire_lines/data/gm4_desire_lines/function/tick.mcfunction
+++ b/gm4_desire_lines/data/gm4_desire_lines/function/tick.mcfunction
@@ -1,6 +1,3 @@
-scoreboard players add desire_lines gm4_dl_random 27
-execute if score desire_lines gm4_dl_random matches 100.. run scoreboard players remove desire_lines gm4_dl_random 100
-
-execute as @a[gamemode=!adventure,gamemode=!spectator,gamemode=!creative] at @s run function gm4_desire_lines:player
+execute as @a[gamemode=survival] run function gm4_desire_lines:player
schedule function gm4_desire_lines:tick 1t
diff --git a/gm4_desire_lines/data/gm4_desire_lines/predicate/has_slow_falling.json b/gm4_desire_lines/data/gm4_desire_lines/predicate/has_slow_falling.json
deleted file mode 100644
index b7e808ff5d..0000000000
--- a/gm4_desire_lines/data/gm4_desire_lines/predicate/has_slow_falling.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "effects": {
- "slow_falling": {}
- }
- }
-}
diff --git a/gm4_desire_lines/data/gm4_desire_lines/predicate/is_affected.json b/gm4_desire_lines/data/gm4_desire_lines/predicate/is_affected.json
new file mode 100644
index 0000000000..93d53e887e
--- /dev/null
+++ b/gm4_desire_lines/data/gm4_desire_lines/predicate/is_affected.json
@@ -0,0 +1,37 @@
+{
+ "condition": "minecraft:all_of",
+ "terms": [
+ {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "type_specific": {
+ "type": "minecraft:player",
+ "gamemode": [
+ "survival"
+ ]
+ },
+ "flags": {
+ "is_on_ground": true
+ },
+ "movement": {
+ "speed": {
+ "min": 0.01
+ }
+ }
+ }
+ },
+ {
+ "condition": "minecraft:inverted",
+ "term": {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "effects": {
+ "minecraft:slow_falling": {}
+ }
+ }
+ }
+ }
+ ]
+}
diff --git a/gm4_desire_lines/translations.csv b/gm4_desire_lines/translations.csv
index 4f987ba5d3..4a14d62e16 100644
--- a/gm4_desire_lines/translations.csv
+++ b/gm4_desire_lines/translations.csv
@@ -1,5 +1,5 @@
key,en_us
-item.gm4.shamir.celaro,Celaro
+item.gm4.shamir.celaro,Celaro Shamir
advancement.gm4.desire_lines.walk_8000.title,And I Would Walk 500 Chunks...
advancement.gm4.desire_lines.walk_8000.description,Ruin 8000 blocks to coarse dirt; you'll find those oak planks
advancement.gm4.desire_lines.walk_10000.title,That's a Lot of Damage
diff --git a/gm4_disassemblers/beet.yaml b/gm4_disassemblers/beet.yaml
index db2a97ad9f..33bebe4206 100644
--- a/gm4_disassemblers/beet.yaml
+++ b/gm4_disassemblers/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_disassemblers
name: Disassemblers
-version: 2.4.X
+version: 2.5.X
data_pack:
load: .
@@ -18,8 +18,8 @@ meta:
gm4:
versioning:
required:
- lib_custom_crafters: 3.2.0
- lib_machines: 1.3.0
+ lib_custom_crafters: 3.4.0
+ lib_machines: 1.4.0
schedule_loops: [main]
model_data:
- item: player_head
@@ -61,8 +61,6 @@ meta:
- gm4_resource_pack
- gm4_relocators
- gm4_standard_crafting
- - gm4_auto_crafting
- - gm4_record_crafting
- gm4_ender_hoppers
- gm4_enchantment_extractors
- gm4_forming_press
diff --git a/gm4_disassemblers/data/gm4_disassemblers/function/check_item.mcfunction b/gm4_disassemblers/data/gm4_disassemblers/function/check_item.mcfunction
index 67bd7d403c..e00b82e3eb 100644
--- a/gm4_disassemblers/data/gm4_disassemblers/function/check_item.mcfunction
+++ b/gm4_disassemblers/data/gm4_disassemblers/function/check_item.mcfunction
@@ -2,7 +2,7 @@
# @s = armor stand display (we need the hand) [tag=gm4_disassembler_stand]
# located at the disassembler block
# run from extract
-data modify entity @s HandItems[0] set from storage gm4_disassemblers:temp Items[0]
+data modify entity @s equipment.mainhand set from storage gm4_disassemblers:temp Items[0]
execute store result score $damage gm4_disassembler run data get storage gm4_disassemblers:temp Items[0].components."minecraft:damage"
scoreboard players set $dropped gm4_disassembler 0
function #gm4_disassemblers:before_base
diff --git a/gm4_disassemblers/data/gm4_disassemblers/function/machine/rotate/down.mcfunction b/gm4_disassemblers/data/gm4_disassemblers/function/machine/rotate/down.mcfunction
index 3a1bacf3fd..b1fbe4d3d2 100644
--- a/gm4_disassemblers/data/gm4_disassemblers/function/machine/rotate/down.mcfunction
+++ b/gm4_disassemblers/data/gm4_disassemblers/function/machine/rotate/down.mcfunction
@@ -4,8 +4,8 @@
# run from gm4_disassemblers:machine/create
# place dropper
-setblock ~ ~ ~ dropper[facing=down]{CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.disassembler","fallback":"Disassembler"},[{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.disassembler","fallback":"Disassembler","font":"gm4:half_invert"},{"translate":"container.gm4.disassembler","fallback":"Disassembler","font":"gm4:offscreen"},{"translate":"gui.gm4.disassembler","fallback":"","font":"gm4:container_gui","color":"white"},{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.disassembler","fallback":"Disassembler","font":"gm4:half_invert"},{"translate":"container.gm4.disassembler","fallback":"Disassembler","font":"gm4:default","color":"#404040"}]]}'}
+setblock ~ ~ ~ dropper[facing=down]{CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.disassembler","fallback":"Disassembler"},[{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.disassembler","fallback":"Disassembler","font":"gm4:half_invert"},{"translate":"container.gm4.disassembler","fallback":"Disassembler","font":"gm4:offscreen"},{"translate":"gui.gm4.disassembler","fallback":"","font":"gm4:container_gui","color":"white"},{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.disassembler","fallback":"Disassembler","font":"gm4:half_invert"},{"translate":"container.gm4.disassembler","fallback":"Disassembler","font":"gm4:default","color":"#404040"}]]}}
# summon display armor stand and marker entity
-summon armor_stand ~ ~-0.4 ~ {Small:1b,NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_disassembler_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:'"gm4_disassembler_stand"',ArmorItems:[{},{},{},{id:"minecraft:tnt",count:1,components:{"minecraft:custom_model_data":"block/disassembler_down"}}],Rotation:[180.0f,0.0f]}
-summon marker ~ ~ ~ {Tags:["gm4_disassembler","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_disassembler"',Rotation:[180.0f,0.0f]}
+summon armor_stand ~ ~-0.4 ~ {Small:1b,NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_disassembler_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:"gm4_disassembler_stand",equipment:{head:{id:"minecraft:tnt",count:1,components:{"minecraft:custom_model_data":"block/disassembler_down"}}},Rotation:[180.0f,0.0f]}
+summon marker ~ ~ ~ {Tags:["gm4_disassembler","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:"gm4_disassembler",Rotation:[180.0f,0.0f]}
diff --git a/gm4_disassemblers/data/gm4_disassemblers/function/machine/rotate/east.mcfunction b/gm4_disassemblers/data/gm4_disassemblers/function/machine/rotate/east.mcfunction
index ad0cf9cf76..edec9d2048 100644
--- a/gm4_disassemblers/data/gm4_disassemblers/function/machine/rotate/east.mcfunction
+++ b/gm4_disassemblers/data/gm4_disassemblers/function/machine/rotate/east.mcfunction
@@ -4,8 +4,8 @@
# run from gm4_disassemblers:machine/create
# place dropper
-setblock ~ ~ ~ dropper[facing=east]{CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.disassembler","fallback":"Disassembler"},[{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.disassembler","fallback":"Disassembler","font":"gm4:half_invert"},{"translate":"container.gm4.disassembler","fallback":"Disassembler","font":"gm4:offscreen"},{"translate":"gui.gm4.disassembler","fallback":"","font":"gm4:container_gui","color":"white"},{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.disassembler","fallback":"Disassembler","font":"gm4:half_invert"},{"translate":"container.gm4.disassembler","fallback":"Disassembler","font":"gm4:default","color":"#404040"}]]}'}
+setblock ~ ~ ~ dropper[facing=east]{CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.disassembler","fallback":"Disassembler"},[{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.disassembler","fallback":"Disassembler","font":"gm4:half_invert"},{"translate":"container.gm4.disassembler","fallback":"Disassembler","font":"gm4:offscreen"},{"translate":"gui.gm4.disassembler","fallback":"","font":"gm4:container_gui","color":"white"},{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.disassembler","fallback":"Disassembler","font":"gm4:half_invert"},{"translate":"container.gm4.disassembler","fallback":"Disassembler","font":"gm4:default","color":"#404040"}]]}}
# summon display armor stand and marker entity
-summon armor_stand ~ ~-0.4 ~ {Small:1b,NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_disassembler_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:'"gm4_disassembler_stand"',ArmorItems:[{},{},{},{id:"minecraft:tnt",count:1,components:{"minecraft:custom_model_data":"block/disassembler_side"}}],Rotation:[-90.0f,0.0f]}
-summon marker ~ ~ ~ {Tags:["gm4_disassembler","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_disassembler"',Rotation:[-90.0f,0.0f]}
+summon armor_stand ~ ~-0.4 ~ {Small:1b,NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_disassembler_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:"gm4_disassembler_stand",equipment:{head:{id:"minecraft:tnt",count:1,components:{"minecraft:custom_model_data":"block/disassembler_side"}}},Rotation:[-90.0f,0.0f]}
+summon marker ~ ~ ~ {Tags:["gm4_disassembler","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:"gm4_disassembler",Rotation:[-90.0f,0.0f]}
diff --git a/gm4_disassemblers/data/gm4_disassemblers/function/machine/rotate/north.mcfunction b/gm4_disassemblers/data/gm4_disassemblers/function/machine/rotate/north.mcfunction
index a0fb24e3ab..a063a94749 100644
--- a/gm4_disassemblers/data/gm4_disassemblers/function/machine/rotate/north.mcfunction
+++ b/gm4_disassemblers/data/gm4_disassemblers/function/machine/rotate/north.mcfunction
@@ -4,8 +4,8 @@
# run from gm4_disassemblers:machine/create
# place dropper
-setblock ~ ~ ~ dropper[facing=north]{CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.disassembler","fallback":"Disassembler"},[{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.disassembler","fallback":"Disassembler","font":"gm4:half_invert"},{"translate":"container.gm4.disassembler","fallback":"Disassembler","font":"gm4:offscreen"},{"translate":"gui.gm4.disassembler","fallback":"","font":"gm4:container_gui","color":"white"},{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.disassembler","fallback":"Disassembler","font":"gm4:half_invert"},{"translate":"container.gm4.disassembler","fallback":"Disassembler","font":"gm4:default","color":"#404040"}]]}'}
+setblock ~ ~ ~ dropper[facing=north]{CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.disassembler","fallback":"Disassembler"},[{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.disassembler","fallback":"Disassembler","font":"gm4:half_invert"},{"translate":"container.gm4.disassembler","fallback":"Disassembler","font":"gm4:offscreen"},{"translate":"gui.gm4.disassembler","fallback":"","font":"gm4:container_gui","color":"white"},{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.disassembler","fallback":"Disassembler","font":"gm4:half_invert"},{"translate":"container.gm4.disassembler","fallback":"Disassembler","font":"gm4:default","color":"#404040"}]]}}
# summon display armor stand and marker entity
-summon armor_stand ~ ~-0.4 ~ {Small:1b,NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_disassembler_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:'"gm4_disassembler_stand"',ArmorItems:[{},{},{},{id:"minecraft:tnt",count:1,components:{"minecraft:custom_model_data":"block/disassembler_side"}}],Rotation:[180.0f,0.0f]}
-summon marker ~ ~ ~ {Tags:["gm4_disassembler","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_disassembler"',Rotation:[180.0f,0.0f]}
+summon armor_stand ~ ~-0.4 ~ {Small:1b,NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_disassembler_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:"gm4_disassembler_stand",equipment:{head:{id:"minecraft:tnt",count:1,components:{"minecraft:custom_model_data":"block/disassembler_side"}}},Rotation:[180.0f,0.0f]}
+summon marker ~ ~ ~ {Tags:["gm4_disassembler","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:"gm4_disassembler",Rotation:[180.0f,0.0f]}
diff --git a/gm4_disassemblers/data/gm4_disassemblers/function/machine/rotate/south.mcfunction b/gm4_disassemblers/data/gm4_disassemblers/function/machine/rotate/south.mcfunction
index 69f1093ae8..a7ef4ce33d 100644
--- a/gm4_disassemblers/data/gm4_disassemblers/function/machine/rotate/south.mcfunction
+++ b/gm4_disassemblers/data/gm4_disassemblers/function/machine/rotate/south.mcfunction
@@ -4,8 +4,8 @@
# run from gm4_disassemblers:machine/create
# place dropper
-setblock ~ ~ ~ dropper[facing=south]{CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.disassembler","fallback":"Disassembler"},[{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.disassembler","fallback":"Disassembler","font":"gm4:half_invert"},{"translate":"container.gm4.disassembler","fallback":"Disassembler","font":"gm4:offscreen"},{"translate":"gui.gm4.disassembler","fallback":"","font":"gm4:container_gui","color":"white"},{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.disassembler","fallback":"Disassembler","font":"gm4:half_invert"},{"translate":"container.gm4.disassembler","fallback":"Disassembler","font":"gm4:default","color":"#404040"}]]}'}
+setblock ~ ~ ~ dropper[facing=south]{CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.disassembler","fallback":"Disassembler"},[{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.disassembler","fallback":"Disassembler","font":"gm4:half_invert"},{"translate":"container.gm4.disassembler","fallback":"Disassembler","font":"gm4:offscreen"},{"translate":"gui.gm4.disassembler","fallback":"","font":"gm4:container_gui","color":"white"},{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.disassembler","fallback":"Disassembler","font":"gm4:half_invert"},{"translate":"container.gm4.disassembler","fallback":"Disassembler","font":"gm4:default","color":"#404040"}]]}}
# summon display armor stand and marker entity
-summon armor_stand ~ ~-0.4 ~ {Small:1b,NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_disassembler_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:'"gm4_disassembler_stand"',ArmorItems:[{},{},{},{id:"minecraft:tnt",count:1,components:{"minecraft:custom_model_data":"block/disassembler_side"}}],Rotation:[0.0f,0.0f]}
-summon marker ~ ~ ~ {Tags:["gm4_disassembler","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_disassembler"',Rotation:[0.0f,0.0f]}
+summon armor_stand ~ ~-0.4 ~ {Small:1b,NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_disassembler_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:"gm4_disassembler_stand",equipment:{head:{id:"minecraft:tnt",count:1,components:{"minecraft:custom_model_data":"block/disassembler_side"}}},Rotation:[0.0f,0.0f]}
+summon marker ~ ~ ~ {Tags:["gm4_disassembler","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:"gm4_disassembler",Rotation:[0.0f,0.0f]}
diff --git a/gm4_disassemblers/data/gm4_disassemblers/function/machine/rotate/up.mcfunction b/gm4_disassemblers/data/gm4_disassemblers/function/machine/rotate/up.mcfunction
index d07e3cad50..1f79eb5881 100644
--- a/gm4_disassemblers/data/gm4_disassemblers/function/machine/rotate/up.mcfunction
+++ b/gm4_disassemblers/data/gm4_disassemblers/function/machine/rotate/up.mcfunction
@@ -4,8 +4,8 @@
# run from gm4_disassemblers:machine/create
# place dropper
-setblock ~ ~ ~ dropper[facing=up]{CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.disassembler","fallback":"Disassembler"},[{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.disassembler","fallback":"Disassembler","font":"gm4:half_invert"},{"translate":"container.gm4.disassembler","fallback":"Disassembler","font":"gm4:offscreen"},{"translate":"gui.gm4.disassembler","fallback":"","font":"gm4:container_gui","color":"white"},{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.disassembler","fallback":"Disassembler","font":"gm4:half_invert"},{"translate":"container.gm4.disassembler","fallback":"Disassembler","font":"gm4:default","color":"#404040"}]]}'}
+setblock ~ ~ ~ dropper[facing=up]{CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.disassembler","fallback":"Disassembler"},[{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.disassembler","fallback":"Disassembler","font":"gm4:half_invert"},{"translate":"container.gm4.disassembler","fallback":"Disassembler","font":"gm4:offscreen"},{"translate":"gui.gm4.disassembler","fallback":"","font":"gm4:container_gui","color":"white"},{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.disassembler","fallback":"Disassembler","font":"gm4:half_invert"},{"translate":"container.gm4.disassembler","fallback":"Disassembler","font":"gm4:default","color":"#404040"}]]}}
# summon display armor stand and marker entity
-summon armor_stand ~ ~-0.4 ~ {Small:1b,NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_disassembler_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:'"gm4_disassembler_stand"',ArmorItems:[{},{},{},{id:"minecraft:tnt",count:1,components:{"minecraft:custom_model_data":"block/disassembler"}}],Rotation:[0.0f,0.0f]}
-summon marker ~ ~ ~ {Tags:["gm4_disassembler","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_disassembler"',Rotation:[0.0f,0.0f]}
+summon armor_stand ~ ~-0.4 ~ {Small:1b,NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_disassembler_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:"gm4_disassembler_stand",equipment:{head:{id:"minecraft:tnt",count:1,components:{"minecraft:custom_model_data":"block/disassembler"}}},Rotation:[0.0f,0.0f]}
+summon marker ~ ~ ~ {Tags:["gm4_disassembler","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:"gm4_disassembler",Rotation:[0.0f,0.0f]}
diff --git a/gm4_disassemblers/data/gm4_disassemblers/function/machine/rotate/west.mcfunction b/gm4_disassemblers/data/gm4_disassemblers/function/machine/rotate/west.mcfunction
index 1a0b69e987..917680f4c3 100644
--- a/gm4_disassemblers/data/gm4_disassemblers/function/machine/rotate/west.mcfunction
+++ b/gm4_disassemblers/data/gm4_disassemblers/function/machine/rotate/west.mcfunction
@@ -4,8 +4,8 @@
# run from gm4_disassemblers:machine/create
# place dropper
-setblock ~ ~ ~ dropper[facing=west]{CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.disassembler","fallback":"Disassembler"},[{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.disassembler","fallback":"Disassembler","font":"gm4:half_invert"},{"translate":"container.gm4.disassembler","fallback":"Disassembler","font":"gm4:offscreen"},{"translate":"gui.gm4.disassembler","fallback":"","font":"gm4:container_gui","color":"white"},{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.disassembler","fallback":"Disassembler","font":"gm4:half_invert"},{"translate":"container.gm4.disassembler","fallback":"Disassembler","font":"gm4:default","color":"#404040"}]]}'}
+setblock ~ ~ ~ dropper[facing=west]{CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.disassembler","fallback":"Disassembler"},[{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.disassembler","fallback":"Disassembler","font":"gm4:half_invert"},{"translate":"container.gm4.disassembler","fallback":"Disassembler","font":"gm4:offscreen"},{"translate":"gui.gm4.disassembler","fallback":"","font":"gm4:container_gui","color":"white"},{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.disassembler","fallback":"Disassembler","font":"gm4:half_invert"},{"translate":"container.gm4.disassembler","fallback":"Disassembler","font":"gm4:default","color":"#404040"}]]}}
# summon display armor stand and marker entity
-summon armor_stand ~ ~-0.4 ~ {Small:1b,NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_disassembler_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:'"gm4_disassembler_stand"',ArmorItems:[{},{},{},{id:"minecraft:tnt",count:1,components:{"minecraft:custom_model_data":"block/disassembler_side"}}],Rotation:[90.0f,0.0f]}
-summon marker ~ ~ ~ {Tags:["gm4_disassembler","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_disassembler"',Rotation:[90.0f,0.0f]}
+summon armor_stand ~ ~-0.4 ~ {Small:1b,NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_disassembler_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:"gm4_disassembler_stand",equipment:{head:{id:"minecraft:tnt",count:1,components:{"minecraft:custom_model_data":"block/disassembler_side"}}},Rotation:[90.0f,0.0f]}
+summon marker ~ ~ ~ {Tags:["gm4_disassembler","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:"gm4_disassembler",Rotation:[90.0f,0.0f]}
diff --git a/gm4_disassemblers/data/gm4_disassemblers/function/relocate/place_down.mcfunction b/gm4_disassemblers/data/gm4_disassemblers/function/relocate/place_down.mcfunction
index bde6a0bbe5..5c2fe3653f 100644
--- a/gm4_disassemblers/data/gm4_disassemblers/function/relocate/place_down.mcfunction
+++ b/gm4_disassemblers/data/gm4_disassemblers/function/relocate/place_down.mcfunction
@@ -7,6 +7,6 @@ execute if block ~ ~ ~ command_block[facing=south] run setblock ~ ~ ~ dropper[fa
execute if block ~ ~ ~ command_block[facing=north] run setblock ~ ~ ~ dropper[facing=south]
execute if block ~ ~ ~ command_block[facing=down] run setblock ~ ~ ~ dropper[facing=up]
-data merge block ~ ~ ~ {CustomName:'{"translate":"container.gm4.disassembler","fallback":"Disassembler"}'}
-summon armor_stand ~ ~-.4 ~ {Small:1b,NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,DisabledSlots:2039552,Tags:["gm4_no_edit","gm4_disassembler"],HasVisualFire:1b,CustomName:'"gm4_disassembler"',ArmorItems:[{},{},{},{id:"minecraft:tnt",count:1,components:{"minecraft:custom_model_data":"block/disassembler"}}]}
+data merge block ~ ~ ~ {CustomName:{"translate":"container.gm4.disassembler","fallback":"Disassembler"}}
+summon armor_stand ~ ~-.4 ~ {Small:1b,NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,DisabledSlots:2039552,Tags:["gm4_no_edit","gm4_disassembler"],HasVisualFire:1b,CustomName:"gm4_disassembler",equipment:{head:{id:"minecraft:tnt",count:1,components:{"minecraft:custom_model_data":"block/disassembler"}}}}
playsound minecraft:block.anvil.place master @a ~ ~ ~ 0.9 0.1
diff --git a/gm4_disassemblers/data/gm4_disassemblers/function/relocate/set_pick_up_data.mcfunction b/gm4_disassemblers/data/gm4_disassemblers/function/relocate/set_pick_up_data.mcfunction
index d5769225bb..f964e3d003 100644
--- a/gm4_disassemblers/data/gm4_disassemblers/function/relocate/set_pick_up_data.mcfunction
+++ b/gm4_disassemblers/data/gm4_disassemblers/function/relocate/set_pick_up_data.mcfunction
@@ -3,9 +3,9 @@
# located at the center of the block to be picked up
# run from gm4_disassemblers:relocate/pick_up_check
-data modify storage gm4_relocators:temp merge_data set value {custom_block:"gm4_disassembler",lore:'{"translate":"block.gm4.disassembler","fallback":"Disassembler","color":"gray","italic":true}'}
+data modify storage gm4_relocators:temp merge_data set value {custom_block:"gm4_disassembler",lore:{"translate":"block.gm4.disassembler","fallback":"Disassembler","color":"gray","italic":true}}
data modify storage gm4_relocators:temp merge_data.entity_data.Rotation set from entity @s Rotation
-data modify storage gm4_relocators:temp merge_data.entity_data.ArmorItems set from entity @e[type=armor_stand,tag=gm4_disassembler_stand,distance=..0.5,limit=1] ArmorItems
+data modify storage gm4_relocators:temp merge_data.entity_data.equipment set from entity @e[type=armor_stand,tag=gm4_disassembler_stand,distance=..0.5,limit=1] equipment
execute positioned ~ ~-0.4 ~ run kill @e[type=armor_stand,tag=gm4_disassembler_stand,limit=1,distance=..0.01]
kill @s
diff --git a/gm4_disassemblers/data/gm4_disassemblers/function/relocate/summon_block_markers.mcfunction b/gm4_disassemblers/data/gm4_disassemblers/function/relocate/summon_block_markers.mcfunction
index 972ccb41fc..66203db507 100644
--- a/gm4_disassemblers/data/gm4_disassemblers/function/relocate/summon_block_markers.mcfunction
+++ b/gm4_disassemblers/data/gm4_disassemblers/function/relocate/summon_block_markers.mcfunction
@@ -5,11 +5,11 @@
scoreboard players set $placed_block gm4_rl_data 1
-summon armor_stand ~ ~-0.4 ~ {Small:1b,NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_disassembler_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:'"gm4_disassembler_stand"',ArmorItems:[{},{},{},{id:"minecraft:tnt",count:1,components:{"minecraft:custom_model_data":"block/disassembler"}}],Rotation:[0.0f,0.0f]}
-summon marker ~ ~ ~ {Tags:["gm4_disassembler","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_disassembler"',Rotation:[0.0f,0.0f]}
+summon armor_stand ~ ~-0.4 ~ {Small:1b,NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_disassembler_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:"gm4_disassembler_stand",equipment:{head:{id:"minecraft:tnt",count:1,components:{"minecraft:custom_model_data":"block/disassembler"}}},Rotation:[0.0f,0.0f]}
+summon marker ~ ~ ~ {Tags:["gm4_disassembler","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:"gm4_disassembler",Rotation:[0.0f,0.0f]}
execute as @e[tag=gm4_new_machine,distance=..2] run data modify entity @s Rotation set from storage gm4_relocators:temp gm4_relocation.entity_data.Rotation
execute as @e[tag=gm4_new_machine,distance=..2] at @s rotated as @e[type=marker,tag=gm4_new_machine,distance=..2,limit=1] run tp ~ ~ ~
-execute as @e[type=armor_stand,tag=gm4_new_machine,distance=..2] run data modify entity @s ArmorItems set from storage gm4_relocators:temp gm4_relocation.entity_data.ArmorItems
+execute as @e[type=armor_stand,tag=gm4_new_machine,distance=..2] run data modify entity @s equipment set from storage gm4_relocators:temp gm4_relocation.entity_data.equipment
scoreboard players set @e[distance=..2,tag=gm4_new_machine] gm4_entity_version 1
tag @e[distance=..2] remove gm4_new_machine
diff --git a/gm4_disassemblers/data/gm4_disassemblers/guidebook/disassemblers.json b/gm4_disassemblers/data/gm4_disassemblers/guidebook/disassemblers.json
index eb9294dd6c..6c45acc4ae 100644
--- a/gm4_disassemblers/data/gm4_disassemblers/guidebook/disassemblers.json
+++ b/gm4_disassemblers/data/gm4_disassemblers/guidebook/disassemblers.json
@@ -36,7 +36,7 @@
"blocks": [
"minecraft:dropper"
],
- "nbt": "{CustomName:'{\"translate\":\"gm4.second\",\"fallback\":\"%1$s\",\"with\":[{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\"},{\"text\":\" \",\"extra\":[{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:offscreen\"},{\"translate\":\"gui.gm4.custom_crafter\",\"fallback\":\"\",\"font\":\"gm4:container_gui\",\"color\":\"white\"},{\"text\":\" \",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:default\",\"color\":\"#404040\"}],\"font\":\"gm4:half_invert\"}]}'}"
+ "nbt": "{CustomName:{\"translate\":\"gm4.second\",\"fallback\":\"%1$s\",\"with\":[{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\"},{\"text\":\" \",\"extra\":[{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:offscreen\"},{\"translate\":\"gui.gm4.custom_crafter\",\"fallback\":\"\",\"font\":\"gm4:container_gui\",\"color\":\"white\"},{\"text\":\" \",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:default\",\"color\":\"#404040\"}],\"font\":\"gm4:half_invert\"}]}}"
}
}
}
@@ -66,7 +66,7 @@
"blocks": [
"minecraft:dropper"
],
- "nbt": "{CustomName:'{\"translate\":\"gm4.second\",\"fallback\":\"%1$s\",\"with\":[{\"translate\":\"container.gm4.disassembler\",\"fallback\":\"Disassembler\"},{\"text\":\" \",\"extra\":[{\"translate\":\"container.gm4.disassembler\",\"fallback\":\"Disassembler\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.disassembler\",\"fallback\":\"Disassembler\",\"font\":\"gm4:offscreen\"},{\"translate\":\"gui.gm4.disassembler\",\"fallback\":\"\",\"font\":\"gm4:container_gui\",\"color\":\"white\"},{\"text\":\" \",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.disassembler\",\"fallback\":\"Disassembler\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.disassembler\",\"fallback\":\"Disassembler\",\"font\":\"gm4:default\",\"color\":\"#404040\"}],\"font\":\"gm4:half_invert\"}]}'}"
+ "nbt": "{CustomName:{\"translate\":\"gm4.second\",\"fallback\":\"%1$s\",\"with\":[{\"translate\":\"container.gm4.disassembler\",\"fallback\":\"Disassembler\"},{\"text\":\" \",\"extra\":[{\"translate\":\"container.gm4.disassembler\",\"fallback\":\"Disassembler\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.disassembler\",\"fallback\":\"Disassembler\",\"font\":\"gm4:offscreen\"},{\"translate\":\"gui.gm4.disassembler\",\"fallback\":\"\",\"font\":\"gm4:container_gui\",\"color\":\"white\"},{\"text\":\" \",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.disassembler\",\"fallback\":\"Disassembler\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.disassembler\",\"fallback\":\"Disassembler\",\"font\":\"gm4:default\",\"color\":\"#404040\"}],\"font\":\"gm4:half_invert\"}]}}"
}
}
}
diff --git a/gm4_disassemblers/data/gm4_disassemblers/recipe/disassembler.json b/gm4_disassemblers/data/gm4_disassemblers/recipe/disassembler.json
index a56d429d4b..7d54e1c06f 100644
--- a/gm4_disassemblers/data/gm4_disassemblers/recipe/disassembler.json
+++ b/gm4_disassemblers/data/gm4_disassemblers/recipe/disassembler.json
@@ -19,7 +19,7 @@
"minecraft:custom_model_data": "item/disassembler",
"minecraft:profile": "$disassembler",
"minecraft:custom_data": "{gm4_machines:{id:'disassembler'}}",
- "minecraft:custom_name": "{\"translate\":\"block.gm4.disassembler\",\"fallback\":\"Disassembler\",\"color\":\"white\",\"italic\":false}"
+ "minecraft:custom_name": {"translate":"block.gm4.disassembler","fallback":"Disassembler","color":"white","italic":false}
}
}
}
diff --git a/gm4_disassemblers/generate_disassembly.py b/gm4_disassemblers/generate_disassembly.py
index 7f8d94197f..fcde183c3b 100644
--- a/gm4_disassemblers/generate_disassembly.py
+++ b/gm4_disassemblers/generate_disassembly.py
@@ -51,7 +51,7 @@
def beet_default(ctx: Context):
"""Creates a loot table for dropping the 9 result items when disassembling an item."""
vanilla = ctx.inject(Vanilla)
- vanilla.minecraft_version = '1.21.4'
+ vanilla.minecraft_version = '1.21.5'
recipes = vanilla.data.recipes
for item, durability in ITEMS.items():
diff --git a/gm4_display_frames/beet.yaml b/gm4_display_frames/beet.yaml
index 16f37347b1..c45baa02be 100644
--- a/gm4_display_frames/beet.yaml
+++ b/gm4_display_frames/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_display_frames
name: Display Frames
-version: 1.5.X
+version: 1.6.X
data_pack:
load: .
@@ -13,7 +13,7 @@ meta:
gm4:
versioning:
required:
- lib_potion_tracking: 1.2.0
+ lib_potion_tracking: 1.3.0
schedule_loops: [main]
website:
description: Splash item frames with invisibilty to make invisible item frames! Great for interior decor!
diff --git a/gm4_display_frames/data/gm4_display_frames/tags/entity_type/potion_tracker.json b/gm4_display_frames/data/gm4_display_frames/tags/entity_type/potion_tracker.json
index 0dc002b62c..2d458aa36a 100644
--- a/gm4_display_frames/data/gm4_display_frames/tags/entity_type/potion_tracker.json
+++ b/gm4_display_frames/data/gm4_display_frames/tags/entity_type/potion_tracker.json
@@ -1,6 +1,7 @@
{
"values": [
"minecraft:marker",
- "minecraft:potion"
+ "minecraft:lingering_potion",
+ "minecraft:splash_potion"
]
}
diff --git a/gm4_double_doors/beet.yaml b/gm4_double_doors/beet.yaml
index 85afc6e5d0..50c2e25a43 100644
--- a/gm4_double_doors/beet.yaml
+++ b/gm4_double_doors/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_double_doors
name: Double Doors
-version: 1.2.X
+version: 1.3.X
data_pack:
load: .
diff --git a/gm4_double_doors/data/gm4_double_doors/function/auto_toggle_marker/select_material.mcfunction b/gm4_double_doors/data/gm4_double_doors/function/auto_toggle_marker/select_material.mcfunction
index d21925b3d3..8854dbf24a 100644
--- a/gm4_double_doors/data/gm4_double_doors/function/auto_toggle_marker/select_material.mcfunction
+++ b/gm4_double_doors/data/gm4_double_doors/function/auto_toggle_marker/select_material.mcfunction
@@ -15,7 +15,7 @@ execute if score $target_door_state gm4_double_doors_data matches 1 unless block
scoreboard players set $triggered_by_auto_toggle gm4_double_doors_data 1
# select material type to run block actions & sound event
-for material_name in ctx.meta['wood_types']:
+for material_name in ctx.meta['door_materials']:
execute unless score $toggled_door gm4_double_doors_data matches 1.. if entity @s[tag=f"gm4_double_doors_{material_name}",tag=gm4_double_doors_left] run function f"gm4_double_doors:{material_name}/door/left_hinge/get_facing"
execute unless score $toggled_door gm4_double_doors_data matches 1.. if entity @s[tag=f"gm4_double_doors_{material_name}",tag=gm4_double_doors_right] run function f"gm4_double_doors:{material_name}/door/right_hinge/get_facing"
execute if score $play_sound gm4_double_doors_data matches 1 if score $target_door_state gm4_double_doors_data matches 0 run playsound ctx.meta['sound_ids'][material_name].close block @a[distance=..16] ~ ~ ~
diff --git a/gm4_double_doors/data/gm4_double_doors/templates/function/door/left_hinge/east/initialize_auto_toggle_marker.mcfunction b/gm4_double_doors/data/gm4_double_doors/templates/function/door/left_hinge/east/initialize_auto_toggle_marker.mcfunction
index 945a40594c..0950e879e2 100644
--- a/gm4_double_doors/data/gm4_double_doors/templates/function/door/left_hinge/east/initialize_auto_toggle_marker.mcfunction
+++ b/gm4_double_doors/data/gm4_double_doors/templates/function/door/left_hinge/east/initialize_auto_toggle_marker.mcfunction
@@ -4,7 +4,7 @@
# run from toggle functions in gm4_double_doors:{{ material_name }}/door/...
# set name
-data modify entity @s CustomName set value '"gm4_double_doors_auto_toggle_marker"'
+data modify entity @s CustomName set value "gm4_double_doors_auto_toggle_marker"
# store inverted target door state onto marker
execute if score $target_door_state gm4_double_doors_data matches 1 run scoreboard players set @s gm4_double_doors_auto_toggle_target_state 0
diff --git a/gm4_double_doors/data/gm4_double_doors/templates/function/door/left_hinge/north/initialize_auto_toggle_marker.mcfunction b/gm4_double_doors/data/gm4_double_doors/templates/function/door/left_hinge/north/initialize_auto_toggle_marker.mcfunction
index 49407e78c3..81ac830f9e 100644
--- a/gm4_double_doors/data/gm4_double_doors/templates/function/door/left_hinge/north/initialize_auto_toggle_marker.mcfunction
+++ b/gm4_double_doors/data/gm4_double_doors/templates/function/door/left_hinge/north/initialize_auto_toggle_marker.mcfunction
@@ -4,7 +4,7 @@
# run from toggle functions in gm4_double_doors:{{ material_name }}/door/...
# set name
-data modify entity @s CustomName set value '"gm4_double_doors_auto_toggle_marker"'
+data modify entity @s CustomName set value "gm4_double_doors_auto_toggle_marker"
# store inverted target door state onto marker
execute if score $target_door_state gm4_double_doors_data matches 1 run scoreboard players set @s gm4_double_doors_auto_toggle_target_state 0
diff --git a/gm4_double_doors/data/gm4_double_doors/templates/function/door/left_hinge/south/initialize_auto_toggle_marker.mcfunction b/gm4_double_doors/data/gm4_double_doors/templates/function/door/left_hinge/south/initialize_auto_toggle_marker.mcfunction
index 4aba9113ad..a2b7405e75 100644
--- a/gm4_double_doors/data/gm4_double_doors/templates/function/door/left_hinge/south/initialize_auto_toggle_marker.mcfunction
+++ b/gm4_double_doors/data/gm4_double_doors/templates/function/door/left_hinge/south/initialize_auto_toggle_marker.mcfunction
@@ -4,7 +4,7 @@
# run from toggle functions in gm4_double_doors:{{ material_name }}/door/...
# set name
-data modify entity @s CustomName set value '"gm4_double_doors_auto_toggle_marker"'
+data modify entity @s CustomName set value "gm4_double_doors_auto_toggle_marker"
# store inverted target door state onto marker
execute if score $target_door_state gm4_double_doors_data matches 1 run scoreboard players set @s gm4_double_doors_auto_toggle_target_state 0
diff --git a/gm4_double_doors/data/gm4_double_doors/templates/function/door/left_hinge/west/initialize_auto_toggle_marker.mcfunction b/gm4_double_doors/data/gm4_double_doors/templates/function/door/left_hinge/west/initialize_auto_toggle_marker.mcfunction
index d2e5cf3e24..1367a8b6f7 100644
--- a/gm4_double_doors/data/gm4_double_doors/templates/function/door/left_hinge/west/initialize_auto_toggle_marker.mcfunction
+++ b/gm4_double_doors/data/gm4_double_doors/templates/function/door/left_hinge/west/initialize_auto_toggle_marker.mcfunction
@@ -4,7 +4,7 @@
# run from toggle functions in gm4_double_doors:{{ material_name }}/door/...
# set name
-data modify entity @s CustomName set value '"gm4_double_doors_auto_toggle_marker"'
+data modify entity @s CustomName set value "gm4_double_doors_auto_toggle_marker"
# store inverted target door state onto marker
execute if score $target_door_state gm4_double_doors_data matches 1 run scoreboard players set @s gm4_double_doors_auto_toggle_target_state 0
diff --git a/gm4_double_doors/data/gm4_double_doors/templates/function/door/right_hinge/east/initialize_auto_toggle_marker.mcfunction b/gm4_double_doors/data/gm4_double_doors/templates/function/door/right_hinge/east/initialize_auto_toggle_marker.mcfunction
index 11001fcf51..98c7c83cc7 100644
--- a/gm4_double_doors/data/gm4_double_doors/templates/function/door/right_hinge/east/initialize_auto_toggle_marker.mcfunction
+++ b/gm4_double_doors/data/gm4_double_doors/templates/function/door/right_hinge/east/initialize_auto_toggle_marker.mcfunction
@@ -4,7 +4,7 @@
# run from toggle functions in gm4_double_doors:{{ material_name }}/door/...
# set name
-data modify entity @s CustomName set value '"gm4_double_doors_auto_toggle_marker"'
+data modify entity @s CustomName set value "gm4_double_doors_auto_toggle_marker"
# store inverted target door state onto marker
execute if score $target_door_state gm4_double_doors_data matches 1 run scoreboard players set @s gm4_double_doors_auto_toggle_target_state 0
diff --git a/gm4_double_doors/data/gm4_double_doors/templates/function/door/right_hinge/north/initialize_auto_toggle_marker.mcfunction b/gm4_double_doors/data/gm4_double_doors/templates/function/door/right_hinge/north/initialize_auto_toggle_marker.mcfunction
index 503fad3982..a8e1cc901d 100644
--- a/gm4_double_doors/data/gm4_double_doors/templates/function/door/right_hinge/north/initialize_auto_toggle_marker.mcfunction
+++ b/gm4_double_doors/data/gm4_double_doors/templates/function/door/right_hinge/north/initialize_auto_toggle_marker.mcfunction
@@ -4,7 +4,7 @@
# run from toggle functions in gm4_double_doors:{{ material_name }}/door/...
# set name
-data modify entity @s CustomName set value '"gm4_double_doors_auto_toggle_marker"'
+data modify entity @s CustomName set value "gm4_double_doors_auto_toggle_marker"
# store inverted target door state onto marker
execute if score $target_door_state gm4_double_doors_data matches 1 run scoreboard players set @s gm4_double_doors_auto_toggle_target_state 0
diff --git a/gm4_double_doors/data/gm4_double_doors/templates/function/door/right_hinge/south/initialize_auto_toggle_marker.mcfunction b/gm4_double_doors/data/gm4_double_doors/templates/function/door/right_hinge/south/initialize_auto_toggle_marker.mcfunction
index efb1c9cbee..8e49e90f6c 100644
--- a/gm4_double_doors/data/gm4_double_doors/templates/function/door/right_hinge/south/initialize_auto_toggle_marker.mcfunction
+++ b/gm4_double_doors/data/gm4_double_doors/templates/function/door/right_hinge/south/initialize_auto_toggle_marker.mcfunction
@@ -4,7 +4,7 @@
# run from toggle functions in gm4_double_doors:{{ material_name }}/door/...
# set name
-data modify entity @s CustomName set value '"gm4_double_doors_auto_toggle_marker"'
+data modify entity @s CustomName set value "gm4_double_doors_auto_toggle_marker"
# store inverted target door state onto marker
execute if score $target_door_state gm4_double_doors_data matches 1 run scoreboard players set @s gm4_double_doors_auto_toggle_target_state 0
diff --git a/gm4_double_doors/data/gm4_double_doors/templates/function/door/right_hinge/west/initialize_auto_toggle_marker.mcfunction b/gm4_double_doors/data/gm4_double_doors/templates/function/door/right_hinge/west/initialize_auto_toggle_marker.mcfunction
index d8c40d26ba..113a13972e 100644
--- a/gm4_double_doors/data/gm4_double_doors/templates/function/door/right_hinge/west/initialize_auto_toggle_marker.mcfunction
+++ b/gm4_double_doors/data/gm4_double_doors/templates/function/door/right_hinge/west/initialize_auto_toggle_marker.mcfunction
@@ -4,7 +4,7 @@
# run from toggle functions in gm4_double_doors:{{ material_name }}/door/...
# set name
-data modify entity @s CustomName set value '"gm4_double_doors_auto_toggle_marker"'
+data modify entity @s CustomName set value "gm4_double_doors_auto_toggle_marker"
# store inverted target door state onto marker
execute if score $target_door_state gm4_double_doors_data matches 1 run scoreboard players set @s gm4_double_doors_auto_toggle_target_state 0
diff --git a/gm4_double_doors/generate.py b/gm4_double_doors/generate.py
index 558f0ef9d4..e6eb8791ec 100644
--- a/gm4_double_doors/generate.py
+++ b/gm4_double_doors/generate.py
@@ -1,4 +1,4 @@
-from typing import ClassVar
+from typing import ClassVar, List
from pathlib import Path
import csv
from dataclasses import dataclass
@@ -30,6 +30,27 @@ def read_sound_id_from_csv():
csv_file = csv.reader(file)
next(csv_file) # skip header line
return {row[0]: DoorSound(open=row[1],close=row[2]) for row in csv_file}
+
+def resolve_blocktag(ctx: Context, minecraft_version: str, tag_name: str) -> List[str]:
+ """
+ Traverses the given block tag depth-first, replacing all mentions of vanilla block tags with their contents.
+ Returns a flat list of all block ids contained in the block tag and any sub-tags.
+ Raises a `ValueError` if a block tag can not be resolved.
+ """
+ vanilla = ctx.inject(Vanilla)
+ vanilla.minecraft_version = minecraft_version
+ tag_name = tag_name.removeprefix("#") # hash-symbol is not needed for lookup
+ if tag_name not in vanilla.data.block_tags: # ensure block tag exists
+ raise ValueError(f"Unknown block tag '{tag_name}' for Minecraft version '{minecraft_version}'!")
+
+ entries: List[str] = vanilla.data.block_tags[tag_name].data["values"]
+ out: List[str] = []
+ for entry in entries:
+ if entry.startswith("#minecraft:"): # found another block tag, resolve it first
+ out += resolve_blocktag(ctx, minecraft_version, entry)
+ else:
+ out.append(entry) # block id, append to out
+ return out
@dataclass
class DoorSound():
@@ -38,26 +59,25 @@ class DoorSound():
def beet_default(ctx: Context):
- vanilla = ctx.inject(Vanilla)
- vanilla.minecraft_version = '1.21.4'
- wood_types = [
- s.removeprefix("minecraft:").removesuffix("_door")
- for s in vanilla.data.block_tags["minecraft:wooden_doors"].data["values"]
- if "pale_oak" not in s
+
+ # prepare list of door materials
+ door_materials = [
+ door.removeprefix("minecraft:").removesuffix("_door")
+ for door in resolve_blocktag(ctx, "1.21.5", "minecraft:mob_interactable_doors")
]
# make list of wood types accessible for bolt
- ctx.meta['wood_types'] = wood_types
+ ctx.meta['door_materials'] = door_materials
# store door opening/closing sounds to dict
sound_ids = read_sound_id_from_csv()
- for wood in wood_types:
+ for wood in door_materials:
if not wood in sound_ids: # if sound is not specified in csv, default to normal wooden door sound
- logger.info(f"{wood} door has no sound configured sound effect. Using the default instead")
+ logger.info(f"{wood} door has no sound effect configured in sound_names.json! Using the default instead.")
sound_ids[wood] = DoorSound(open='minecraft:block.wooden_door.open', close='minecraft:block.wooden_door.close')
ctx.meta['sound_ids'] = sound_ids # make sound dict accessible to bolt
# for each wood type in the vanilla doors tag, render a copy of the "templates" directory with the appropiate wood-type
- for wood in wood_types:
+ for wood in door_materials:
subproject_config = {
"require": [
"gm4_double_doors.generate.register_snbt_files"
diff --git a/gm4_double_doors/raw/sound_names.csv b/gm4_double_doors/raw/sound_names.csv
index ffbcd8e771..89e7b439c2 100644
--- a/gm4_double_doors/raw/sound_names.csv
+++ b/gm4_double_doors/raw/sound_names.csv
@@ -3,10 +3,19 @@ acacia,minecraft:block.wooden_door.open,minecraft:block.wooden_door.close
bamboo,minecraft:block.bamboo_wood_door.open,minecraft:block.bamboo_wood_door.close
birch,minecraft:block.wooden_door.open,minecraft:block.wooden_door.close
cherry,minecraft:block.cherry_wood_door.open,minecraft:block.cherry_wood_door.close
+copper,minecraft:block.copper_door.open,minecraft:block.copper_door.close
crimson,minecraft:block.nether_wood_door.open,minecraft:block.nether_wood_door.close
dark_oak,minecraft:block.wooden_door.open,minecraft:block.wooden_door.close
+exposed_copper,minecraft:block.copper_door.open,minecraft:block.copper_door.close
jungle,minecraft:block.wooden_door.open,minecraft:block.wooden_door.close
mangrove,minecraft:block.wooden_door.open,minecraft:block.wooden_door.close
oak,minecraft:block.wooden_door.open,minecraft:block.wooden_door.close
+oxidized_copper,minecraft:block.copper_door.open,minecraft:block.copper_door.close
+pale_oak,minecraft:block.wooden_door.open,minecraft:block.wooden_door.close
spruce,minecraft:block.wooden_door.open,minecraft:block.wooden_door.close
-warped,minecraft:block.wooden_door.open,minecraft:block.wooden_door.close
+warped,minecraft:block.nether_wood_door.open,minecraft:block.nether_wood_door.close
+waxed_copper,minecraft:block.copper_door.open,minecraft:block.copper_door.close
+waxed_exposed_copper,minecraft:block.copper_door.open,minecraft:block.copper_door.close
+waxed_oxidized_copper,minecraft:block.copper_door.open,minecraft:block.copper_door.close
+waxed_weathered_copper,minecraft:block.copper_door.open,minecraft:block.copper_door.close
+weathered_copper,minecraft:block.copper_door.open,minecraft:block.copper_door.close
diff --git a/gm4_dripleaf_filters/beet.yaml b/gm4_dripleaf_filters/beet.yaml
index 36e9d62ef3..f7ce150a46 100644
--- a/gm4_dripleaf_filters/beet.yaml
+++ b/gm4_dripleaf_filters/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_dripleaf_filters
name: Dripleaf Filters
-version: 1.4.X
+version: 1.5.X
data_pack:
load: .
diff --git a/gm4_dripleaf_launchers/beet.yaml b/gm4_dripleaf_launchers/beet.yaml
index e656f0b7d9..d987504220 100644
--- a/gm4_dripleaf_launchers/beet.yaml
+++ b/gm4_dripleaf_launchers/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_dripleaf_launchers
name: Dripleaf Launchers
-version: 1.3.X
+version: 1.4.X
data_pack:
load: .
diff --git a/gm4_dripleaf_launchers/data/gm4_dripleaf_launchers/predicate/dripleaf_no_tilt.json b/gm4_dripleaf_launchers/data/gm4_dripleaf_launchers/predicate/dripleaf_no_tilt.json
index b36177d86e..cb0f962330 100644
--- a/gm4_dripleaf_launchers/data/gm4_dripleaf_launchers/predicate/dripleaf_no_tilt.json
+++ b/gm4_dripleaf_launchers/data/gm4_dripleaf_launchers/predicate/dripleaf_no_tilt.json
@@ -2,7 +2,7 @@
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
- "stepping_on": {
+ "location": {
"block": {
"blocks": [
"minecraft:big_dripleaf"
diff --git a/gm4_dripleaf_launchers/data/gm4_dripleaf_launchers/predicate/dripleaf_tilted.json b/gm4_dripleaf_launchers/data/gm4_dripleaf_launchers/predicate/dripleaf_tilted.json
index c584972af1..08eab4281b 100644
--- a/gm4_dripleaf_launchers/data/gm4_dripleaf_launchers/predicate/dripleaf_tilted.json
+++ b/gm4_dripleaf_launchers/data/gm4_dripleaf_launchers/predicate/dripleaf_tilted.json
@@ -2,7 +2,7 @@
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
- "stepping_on": {
+ "location": {
"block": {
"blocks": [
"minecraft:big_dripleaf"
diff --git a/gm4_dripleaf_launchers/data/gm4_dripleaf_launchers/predicate/dripleaf_triggered.json b/gm4_dripleaf_launchers/data/gm4_dripleaf_launchers/predicate/dripleaf_triggered.json
index 80fa3308cd..8ddc211da1 100644
--- a/gm4_dripleaf_launchers/data/gm4_dripleaf_launchers/predicate/dripleaf_triggered.json
+++ b/gm4_dripleaf_launchers/data/gm4_dripleaf_launchers/predicate/dripleaf_triggered.json
@@ -5,7 +5,7 @@
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
- "stepping_on": {
+ "location": {
"block": {
"blocks": [
"minecraft:big_dripleaf"
@@ -21,7 +21,7 @@
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
- "stepping_on": {
+ "location": {
"block": {
"blocks": [
"minecraft:big_dripleaf"
diff --git a/gm4_enchantment_extractors/beet.yaml b/gm4_enchantment_extractors/beet.yaml
index 1a6cf22e45..ff24f1e479 100644
--- a/gm4_enchantment_extractors/beet.yaml
+++ b/gm4_enchantment_extractors/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_enchantment_extractors
name: Enchantment Extractors
-version: 2.4.X
+version: 2.5.X
data_pack:
load: .
@@ -17,8 +17,8 @@ meta:
gm4:
versioning:
required:
- lib_custom_crafters: 3.2.0
- lib_machines: 1.3.0
+ lib_custom_crafters: 3.4.0
+ lib_machines: 1.4.0
schedule_loops: [main]
model_data:
- item: player_head
@@ -69,8 +69,6 @@ meta:
- gm4_resource_pack
- gm4_relocators
- gm4_standard_crafting
- - gm4_auto_crafting
- - gm4_record_crafting
- gm4_ender_hoppers
- gm4_forming_press
- gm4_block_compressors
diff --git a/gm4_enchantment_extractors/data/gm4_enchantment_extractors/function/extract_failed.mcfunction b/gm4_enchantment_extractors/data/gm4_enchantment_extractors/function/extract_failed.mcfunction
index c62b494531..94065b4291 100644
--- a/gm4_enchantment_extractors/data/gm4_enchantment_extractors/function/extract_failed.mcfunction
+++ b/gm4_enchantment_extractors/data/gm4_enchantment_extractors/function/extract_failed.mcfunction
@@ -10,10 +10,10 @@ execute if score $failed_smoke gm4_ench_data matches 1 run playsound item.shield
# congealed enchantment: 10% -> (1 - 0.8) * 0.5
scoreboard players set $failed_congealed_ench gm4_ench_data 0
-execute if score $failed_smoke gm4_ench_data matches 0 if predicate gm4_enchantment_extractors:failed_congealed_chance store success score $failed_congealed_ench gm4_ench_data run summon vex ~ ~ ~ {CustomName:'{"translate":"entity.gm4.congealed_enchantment","fallback":"Congealed Enchantment§"}',CustomNameVisible:0b,Team:"gm4_hide_name",LifeTicks:100,attributes:[{id:"minecraft:attack_damage",base:2}],Health:4.0f,Motion:[0.0,0.35,0.0]}
+execute if score $failed_smoke gm4_ench_data matches 0 if predicate gm4_enchantment_extractors:failed_congealed_chance store success score $failed_congealed_ench gm4_ench_data run summon vex ~ ~ ~ {CustomName:{"translate":"entity.gm4.congealed_enchantment","fallback":"Congealed Enchantment§"},CustomNameVisible:0b,Team:"gm4_hide_name",life_ticks:100,attributes:[{id:"minecraft:attack_damage",base:2}],Health:4.0f,Motion:[0.0,0.35,0.0]}
execute if score $failed_congealed_ench gm4_ench_data matches 1 run playsound entity.evoker.prepare_attack block @a[distance=..8] ~ ~ ~ .8 1.8
# living enchantment: 10% -> (1 - 0.8 - ((1 - 0.8) * 0.5))
scoreboard players set $failed_living_ench gm4_ench_data 0
-execute if score $failed_smoke gm4_ench_data matches 0 if score $failed_congealed_ench gm4_ench_data matches 0 store success score $failed_living_ench gm4_ench_data run summon vex ~ ~ ~ {CustomName:'{"translate":"entity.gm4.living_enchantment","fallback":"Living Enchantment§"}',CustomNameVisible:0b,Team:"gm4_hide_name",HandItems:[{id:"minecraft:golden_sword",count:1},{}],HandDropChances:[0.0f,0.0f],Motion:[0.0,0.25,0.0]}
+execute if score $failed_smoke gm4_ench_data matches 0 if score $failed_congealed_ench gm4_ench_data matches 0 store success score $failed_living_ench gm4_ench_data run summon vex ~ ~ ~ {CustomName:{"translate":"entity.gm4.living_enchantment","fallback":"Living Enchantment§"},CustomNameVisible:0b,Team:"gm4_hide_name",equipment:{mainhand:{id:"minecraft:golden_sword",count:1}},drop_chances:{mainhand:0.0f},Motion:[0.0,0.25,0.0]}
execute if score $failed_living_ench gm4_ench_data matches 1 run playsound entity.evoker.prepare_attack block @a[distance=..8] ~ ~ ~ 1.3 .6
diff --git a/gm4_enchantment_extractors/data/gm4_enchantment_extractors/function/extract_item.mcfunction b/gm4_enchantment_extractors/data/gm4_enchantment_extractors/function/extract_item.mcfunction
index 1441bf951e..bc06851820 100644
--- a/gm4_enchantment_extractors/data/gm4_enchantment_extractors/function/extract_item.mcfunction
+++ b/gm4_enchantment_extractors/data/gm4_enchantment_extractors/function/extract_item.mcfunction
@@ -3,14 +3,14 @@
# located at the enchantment extractor block
# run from process_items
-data modify entity @s HandItems[0] set from storage gm4_enchantment_extractors:temp current_item
+data modify entity @s equipment.mainhand set from storage gm4_enchantment_extractors:temp current_item
# check if mending already in extractor
execute store result score $existing_mending gm4_ench_data if items block ~ ~ ~ container.* *[stored_enchantments~[{enchantments:"minecraft:mending"}]]
# if cursed extract only the curse
-execute if data storage gm4_enchantment_extractors:temp current_item.components."minecraft:enchantments".levels."minecraft:vanishing_curse" run function gm4_enchantment_extractors:extract_vanishing
-execute if data storage gm4_enchantment_extractors:temp current_item.components."minecraft:enchantments".levels."minecraft:binding_curse" run function gm4_enchantment_extractors:extract_binding
+execute if data storage gm4_enchantment_extractors:temp current_item.components."minecraft:enchantments"."minecraft:vanishing_curse" run function gm4_enchantment_extractors:extract_vanishing
+execute if data storage gm4_enchantment_extractors:temp current_item.components."minecraft:enchantments"."minecraft:binding_curse" run function gm4_enchantment_extractors:extract_binding
# extract
execute unless score $curse_extracted gm4_ench_data matches 1 store result score $added_books gm4_ench_data run loot insert ~ ~ ~ fish gm4_enchantment_extractors:technical/extract/check ~ ~ ~ mainhand
@@ -32,7 +32,7 @@ data modify block ~ ~ ~ Items append from storage gm4_enchantment_extractors:tem
execute unless score $existing_mending gm4_ench_data matches 1.. if items block ~ ~ ~ container.* *[stored_enchantments~[{enchantments:"minecraft:mending"}]] unless items block ~ ~ ~ container.* *[stored_enchantments~[{enchantments:"minecraft:mending"},{enchantments:"minecraft:vanishing_curse"}]] run advancement grant @a[distance=..5] only gm4:enchantment_extractors_mending
# clean up
-data remove entity @s HandItems[0]
+data remove entity @s equipment.mainhand
scoreboard players reset $existing_mending gm4_ench_data
scoreboard players reset $curse_extracted gm4_ench_data
scoreboard players reset $added_books gm4_ench_data
diff --git a/gm4_enchantment_extractors/data/gm4_enchantment_extractors/function/machine/rotate/down.mcfunction b/gm4_enchantment_extractors/data/gm4_enchantment_extractors/function/machine/rotate/down.mcfunction
index 5c33e403e6..a06e6b1d1b 100644
--- a/gm4_enchantment_extractors/data/gm4_enchantment_extractors/function/machine/rotate/down.mcfunction
+++ b/gm4_enchantment_extractors/data/gm4_enchantment_extractors/function/machine/rotate/down.mcfunction
@@ -4,8 +4,8 @@
# run from gm4_enchantment_extractors:machine/create
# place dropper
-setblock ~ ~ ~ dropper[facing=down]{CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.enchantment_extractor","fallback":"Enchantment Extractor"},[{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.enchantment_extractor","fallback":"Enchantment Extractor","font":"gm4:half_invert"},{"translate":"container.gm4.enchantment_extractor","fallback":"Enchantment Extractor","font":"gm4:offscreen"},{"translate":"gui.gm4.enchantment_extractor","fallback":"","font":"gm4:container_gui","color":"white"},{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.enchantment_extractor","fallback":"Enchantment Extractor","font":"gm4:half_invert"},{"translate":"container.gm4.enchantment_extractor","fallback":"Enchantment Extractor","font":"gm4:default","color":"#404040"}]]}'}
+setblock ~ ~ ~ dropper[facing=down]{CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.enchantment_extractor","fallback":"Enchantment Extractor"},[{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.enchantment_extractor","fallback":"Enchantment Extractor","font":"gm4:half_invert"},{"translate":"container.gm4.enchantment_extractor","fallback":"Enchantment Extractor","font":"gm4:offscreen"},{"translate":"gui.gm4.enchantment_extractor","fallback":"","font":"gm4:container_gui","color":"white"},{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.enchantment_extractor","fallback":"Enchantment Extractor","font":"gm4:half_invert"},{"translate":"container.gm4.enchantment_extractor","fallback":"Enchantment Extractor","font":"gm4:default","color":"#404040"}]]}}
# summon display armor stand and marker entity
-summon armor_stand ~ ~-1.2 ~ {NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_enchantment_extractor_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:'"gm4_enchantment_extractor_stand"',ArmorItems:[{},{},{},{id:"minecraft:enchanting_table",count:1,components:{"minecraft:custom_model_data":"block/enchantment_extractor_down"}}],Rotation:[180.0f,0.0f]}
-summon marker ~ ~ ~ {Tags:["gm4_enchantment_extractor","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_enchantment_extractor"',Rotation:[180.0f,0.0f]}
+summon armor_stand ~ ~-1.2 ~ {NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_enchantment_extractor_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:"gm4_enchantment_extractor_stand",equipment:{head:{id:"minecraft:enchanting_table",count:1,components:{"minecraft:custom_model_data":"block/enchantment_extractor_down"}}},Rotation:[180.0f,0.0f]}
+summon marker ~ ~ ~ {Tags:["gm4_enchantment_extractor","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:"gm4_enchantment_extractor",Rotation:[180.0f,0.0f]}
diff --git a/gm4_enchantment_extractors/data/gm4_enchantment_extractors/function/machine/rotate/east.mcfunction b/gm4_enchantment_extractors/data/gm4_enchantment_extractors/function/machine/rotate/east.mcfunction
index c950f70ebd..0b5b135d91 100644
--- a/gm4_enchantment_extractors/data/gm4_enchantment_extractors/function/machine/rotate/east.mcfunction
+++ b/gm4_enchantment_extractors/data/gm4_enchantment_extractors/function/machine/rotate/east.mcfunction
@@ -4,8 +4,8 @@
# run from gm4_enchantment_extractors:machine/create
# place dropper
-setblock ~ ~ ~ dropper[facing=east]{CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.enchantment_extractor","fallback":"Enchantment Extractor"},[{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.enchantment_extractor","fallback":"Enchantment Extractor","font":"gm4:half_invert"},{"translate":"container.gm4.enchantment_extractor","fallback":"Enchantment Extractor","font":"gm4:offscreen"},{"translate":"gui.gm4.enchantment_extractor","fallback":"","font":"gm4:container_gui","color":"white"},{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.enchantment_extractor","fallback":"Enchantment Extractor","font":"gm4:half_invert"},{"translate":"container.gm4.enchantment_extractor","fallback":"Enchantment Extractor","font":"gm4:default","color":"#404040"}]]}'}
+setblock ~ ~ ~ dropper[facing=east]{CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.enchantment_extractor","fallback":"Enchantment Extractor"},[{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.enchantment_extractor","fallback":"Enchantment Extractor","font":"gm4:half_invert"},{"translate":"container.gm4.enchantment_extractor","fallback":"Enchantment Extractor","font":"gm4:offscreen"},{"translate":"gui.gm4.enchantment_extractor","fallback":"","font":"gm4:container_gui","color":"white"},{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.enchantment_extractor","fallback":"Enchantment Extractor","font":"gm4:half_invert"},{"translate":"container.gm4.enchantment_extractor","fallback":"Enchantment Extractor","font":"gm4:default","color":"#404040"}]]}}
# summon display armor stand and marker entity
-summon armor_stand ~ ~-1.2 ~ {NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_enchantment_extractor_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:'"gm4_enchantment_extractor_stand"',ArmorItems:[{},{},{},{id:"minecraft:enchanting_table",count:1,components:{"minecraft:custom_model_data":"block/enchantment_extractor_side"}}],Rotation:[-90.0f,0.0f]}
-summon marker ~ ~ ~ {Tags:["gm4_enchantment_extractor","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_enchantment_extractor"',Rotation:[-90.0f,0.0f]}
+summon armor_stand ~ ~-1.2 ~ {NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_enchantment_extractor_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:"gm4_enchantment_extractor_stand",equipment:{head:{id:"minecraft:enchanting_table",count:1,components:{"minecraft:custom_model_data":"block/enchantment_extractor_side"}}},Rotation:[-90.0f,0.0f]}
+summon marker ~ ~ ~ {Tags:["gm4_enchantment_extractor","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:"gm4_enchantment_extractor",Rotation:[-90.0f,0.0f]}
diff --git a/gm4_enchantment_extractors/data/gm4_enchantment_extractors/function/machine/rotate/north.mcfunction b/gm4_enchantment_extractors/data/gm4_enchantment_extractors/function/machine/rotate/north.mcfunction
index 8cd0f4bffc..70f01a7b80 100644
--- a/gm4_enchantment_extractors/data/gm4_enchantment_extractors/function/machine/rotate/north.mcfunction
+++ b/gm4_enchantment_extractors/data/gm4_enchantment_extractors/function/machine/rotate/north.mcfunction
@@ -4,8 +4,8 @@
# run from gm4_enchantment_extractors:machine/create
# place dropper
-setblock ~ ~ ~ dropper[facing=north]{CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.enchantment_extractor","fallback":"Enchantment Extractor"},[{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.enchantment_extractor","fallback":"Enchantment Extractor","font":"gm4:half_invert"},{"translate":"container.gm4.enchantment_extractor","fallback":"Enchantment Extractor","font":"gm4:offscreen"},{"translate":"gui.gm4.enchantment_extractor","fallback":"","font":"gm4:container_gui","color":"white"},{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.enchantment_extractor","fallback":"Enchantment Extractor","font":"gm4:half_invert"},{"translate":"container.gm4.enchantment_extractor","fallback":"Enchantment Extractor","font":"gm4:default","color":"#404040"}]]}'}
+setblock ~ ~ ~ dropper[facing=north]{CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.enchantment_extractor","fallback":"Enchantment Extractor"},[{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.enchantment_extractor","fallback":"Enchantment Extractor","font":"gm4:half_invert"},{"translate":"container.gm4.enchantment_extractor","fallback":"Enchantment Extractor","font":"gm4:offscreen"},{"translate":"gui.gm4.enchantment_extractor","fallback":"","font":"gm4:container_gui","color":"white"},{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.enchantment_extractor","fallback":"Enchantment Extractor","font":"gm4:half_invert"},{"translate":"container.gm4.enchantment_extractor","fallback":"Enchantment Extractor","font":"gm4:default","color":"#404040"}]]}}
# summon display armor stand and marker entity
-summon armor_stand ~ ~-1.2 ~ {NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_enchantment_extractor_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:'"gm4_enchantment_extractor_stand"',ArmorItems:[{},{},{},{id:"minecraft:enchanting_table",count:1,components:{"minecraft:custom_model_data":"block/enchantment_extractor_side"}}],Rotation:[180.0f,0.0f]}
-summon marker ~ ~ ~ {Tags:["gm4_enchantment_extractor","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_enchantment_extractor"',Rotation:[180.0f,0.0f]}
+summon armor_stand ~ ~-1.2 ~ {NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_enchantment_extractor_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:"gm4_enchantment_extractor_stand",equipment:{head:{id:"minecraft:enchanting_table",count:1,components:{"minecraft:custom_model_data":"block/enchantment_extractor_side"}}},Rotation:[180.0f,0.0f]}
+summon marker ~ ~ ~ {Tags:["gm4_enchantment_extractor","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:"gm4_enchantment_extractor",Rotation:[180.0f,0.0f]}
diff --git a/gm4_enchantment_extractors/data/gm4_enchantment_extractors/function/machine/rotate/south.mcfunction b/gm4_enchantment_extractors/data/gm4_enchantment_extractors/function/machine/rotate/south.mcfunction
index 7ae303b230..e6cc439203 100644
--- a/gm4_enchantment_extractors/data/gm4_enchantment_extractors/function/machine/rotate/south.mcfunction
+++ b/gm4_enchantment_extractors/data/gm4_enchantment_extractors/function/machine/rotate/south.mcfunction
@@ -4,8 +4,8 @@
# run from gm4_enchantment_extractors:machine/create
# place dropper
-setblock ~ ~ ~ dropper[facing=south]{CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.enchantment_extractor","fallback":"Enchantment Extractor"},[{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.enchantment_extractor","fallback":"Enchantment Extractor","font":"gm4:half_invert"},{"translate":"container.gm4.enchantment_extractor","fallback":"Enchantment Extractor","font":"gm4:offscreen"},{"translate":"gui.gm4.enchantment_extractor","fallback":"","font":"gm4:container_gui","color":"white"},{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.enchantment_extractor","fallback":"Enchantment Extractor","font":"gm4:half_invert"},{"translate":"container.gm4.enchantment_extractor","fallback":"Enchantment Extractor","font":"gm4:default","color":"#404040"}]]}'}
+setblock ~ ~ ~ dropper[facing=south]{CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.enchantment_extractor","fallback":"Enchantment Extractor"},[{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.enchantment_extractor","fallback":"Enchantment Extractor","font":"gm4:half_invert"},{"translate":"container.gm4.enchantment_extractor","fallback":"Enchantment Extractor","font":"gm4:offscreen"},{"translate":"gui.gm4.enchantment_extractor","fallback":"","font":"gm4:container_gui","color":"white"},{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.enchantment_extractor","fallback":"Enchantment Extractor","font":"gm4:half_invert"},{"translate":"container.gm4.enchantment_extractor","fallback":"Enchantment Extractor","font":"gm4:default","color":"#404040"}]]}}
# summon display armor stand and marker entity
-summon armor_stand ~ ~-1.2 ~ {NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_enchantment_extractor_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:'"gm4_enchantment_extractor_stand"',ArmorItems:[{},{},{},{id:"minecraft:enchanting_table",count:1,components:{"minecraft:custom_model_data":"block/enchantment_extractor_side"}}],Rotation:[0.0f,0.0f]}
-summon marker ~ ~ ~ {Tags:["gm4_enchantment_extractor","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_enchantment_extractor"',Rotation:[0.0f,0.0f]}
+summon armor_stand ~ ~-1.2 ~ {NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_enchantment_extractor_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:"gm4_enchantment_extractor_stand",equipment:{head:{id:"minecraft:enchanting_table",count:1,components:{"minecraft:custom_model_data":"block/enchantment_extractor_side"}}},Rotation:[0.0f,0.0f]}
+summon marker ~ ~ ~ {Tags:["gm4_enchantment_extractor","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:"gm4_enchantment_extractor",Rotation:[0.0f,0.0f]}
diff --git a/gm4_enchantment_extractors/data/gm4_enchantment_extractors/function/machine/rotate/up.mcfunction b/gm4_enchantment_extractors/data/gm4_enchantment_extractors/function/machine/rotate/up.mcfunction
index 4315831368..b4135c5014 100644
--- a/gm4_enchantment_extractors/data/gm4_enchantment_extractors/function/machine/rotate/up.mcfunction
+++ b/gm4_enchantment_extractors/data/gm4_enchantment_extractors/function/machine/rotate/up.mcfunction
@@ -4,8 +4,8 @@
# run from gm4_enchantment_extractors:machine/create
# place dropper
-setblock ~ ~ ~ dropper[facing=up]{CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.enchantment_extractor","fallback":"Enchantment Extractor"},[{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.enchantment_extractor","fallback":"Enchantment Extractor","font":"gm4:half_invert"},{"translate":"container.gm4.enchantment_extractor","fallback":"Enchantment Extractor","font":"gm4:offscreen"},{"translate":"gui.gm4.enchantment_extractor","fallback":"","font":"gm4:container_gui","color":"white"},{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.enchantment_extractor","fallback":"Enchantment Extractor","font":"gm4:half_invert"},{"translate":"container.gm4.enchantment_extractor","fallback":"Enchantment Extractor","font":"gm4:default","color":"#404040"}]]}'}
+setblock ~ ~ ~ dropper[facing=up]{CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.enchantment_extractor","fallback":"Enchantment Extractor"},[{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.enchantment_extractor","fallback":"Enchantment Extractor","font":"gm4:half_invert"},{"translate":"container.gm4.enchantment_extractor","fallback":"Enchantment Extractor","font":"gm4:offscreen"},{"translate":"gui.gm4.enchantment_extractor","fallback":"","font":"gm4:container_gui","color":"white"},{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.enchantment_extractor","fallback":"Enchantment Extractor","font":"gm4:half_invert"},{"translate":"container.gm4.enchantment_extractor","fallback":"Enchantment Extractor","font":"gm4:default","color":"#404040"}]]}}
# summon display armor stand and marker entity
-summon armor_stand ~ ~-1.2 ~ {NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_enchantment_extractor_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:'"gm4_enchantment_extractor_stand"',ArmorItems:[{},{},{},{id:"minecraft:enchanting_table",count:1,components:{"minecraft:custom_model_data":"block/enchantment_extractor"}}],Rotation:[0.0f,0.0f]}
-summon marker ~ ~ ~ {Tags:["gm4_enchantment_extractor","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_enchantment_extractor"',Rotation:[0.0f,0.0f]}
+summon armor_stand ~ ~-1.2 ~ {NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_enchantment_extractor_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:"gm4_enchantment_extractor_stand",equipment:{head:{id:"minecraft:enchanting_table",count:1,components:{"minecraft:custom_model_data":"block/enchantment_extractor"}}},Rotation:[0.0f,0.0f]}
+summon marker ~ ~ ~ {Tags:["gm4_enchantment_extractor","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:"gm4_enchantment_extractor",Rotation:[0.0f,0.0f]}
diff --git a/gm4_enchantment_extractors/data/gm4_enchantment_extractors/function/machine/rotate/west.mcfunction b/gm4_enchantment_extractors/data/gm4_enchantment_extractors/function/machine/rotate/west.mcfunction
index 26f4aaa2f5..fbe7d2e2fb 100644
--- a/gm4_enchantment_extractors/data/gm4_enchantment_extractors/function/machine/rotate/west.mcfunction
+++ b/gm4_enchantment_extractors/data/gm4_enchantment_extractors/function/machine/rotate/west.mcfunction
@@ -4,8 +4,8 @@
# run from gm4_enchantment_extractors:machine/create
# place dropper
-setblock ~ ~ ~ dropper[facing=west]{CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.enchantment_extractor","fallback":"Enchantment Extractor"},[{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.enchantment_extractor","fallback":"Enchantment Extractor","font":"gm4:half_invert"},{"translate":"container.gm4.enchantment_extractor","fallback":"Enchantment Extractor","font":"gm4:offscreen"},{"translate":"gui.gm4.enchantment_extractor","fallback":"","font":"gm4:container_gui","color":"white"},{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.enchantment_extractor","fallback":"Enchantment Extractor","font":"gm4:half_invert"},{"translate":"container.gm4.enchantment_extractor","fallback":"Enchantment Extractor","font":"gm4:default","color":"#404040"}]]}'}
+setblock ~ ~ ~ dropper[facing=west]{CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.enchantment_extractor","fallback":"Enchantment Extractor"},[{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.enchantment_extractor","fallback":"Enchantment Extractor","font":"gm4:half_invert"},{"translate":"container.gm4.enchantment_extractor","fallback":"Enchantment Extractor","font":"gm4:offscreen"},{"translate":"gui.gm4.enchantment_extractor","fallback":"","font":"gm4:container_gui","color":"white"},{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.enchantment_extractor","fallback":"Enchantment Extractor","font":"gm4:half_invert"},{"translate":"container.gm4.enchantment_extractor","fallback":"Enchantment Extractor","font":"gm4:default","color":"#404040"}]]}}
# summon display armor stand and marker entity
-summon armor_stand ~ ~-1.2 ~ {NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_enchantment_extractor_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:'"gm4_enchantment_extractor_stand"',ArmorItems:[{},{},{},{id:"minecraft:enchanting_table",count:1,components:{"minecraft:custom_model_data":"block/enchantment_extractor_side"}}],Rotation:[90.0f,0.0f]}
-summon marker ~ ~ ~ {Tags:["gm4_enchantment_extractor","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_enchantment_extractor"',Rotation:[90.0f,0.0f]}
+summon armor_stand ~ ~-1.2 ~ {NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_enchantment_extractor_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:"gm4_enchantment_extractor_stand",equipment:{head:{id:"minecraft:enchanting_table",count:1,components:{"minecraft:custom_model_data":"block/enchantment_extractor_side"}}},Rotation:[90.0f,0.0f]}
+summon marker ~ ~ ~ {Tags:["gm4_enchantment_extractor","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:"gm4_enchantment_extractor",Rotation:[90.0f,0.0f]}
diff --git a/gm4_enchantment_extractors/data/gm4_enchantment_extractors/function/relocate/place_down.mcfunction b/gm4_enchantment_extractors/data/gm4_enchantment_extractors/function/relocate/place_down.mcfunction
index 1ccd64f380..f66b52e94c 100644
--- a/gm4_enchantment_extractors/data/gm4_enchantment_extractors/function/relocate/place_down.mcfunction
+++ b/gm4_enchantment_extractors/data/gm4_enchantment_extractors/function/relocate/place_down.mcfunction
@@ -7,6 +7,6 @@ execute if block ~ ~ ~ command_block[facing=south] run setblock ~ ~ ~ dropper[fa
execute if block ~ ~ ~ command_block[facing=north] run setblock ~ ~ ~ dropper[facing=south]
execute if block ~ ~ ~ command_block[facing=down] run setblock ~ ~ ~ dropper[facing=up]
-data merge block ~ ~ ~ {CustomName:'{"translate":"container.gm4.enchantment_extractor","fallback":"Enchantment Extractor"}'}
-summon armor_stand ~ ~-1.2 ~ {CustomName:'"GM4 Enchantment Extractor"',Invisible:1b,Invulnerable:1b,Marker:1b,NoGravity:1b,Tags:["gm4_enchantment_extractor","gm4_no_edit"],ArmorItems:[{},{},{},{id:"minecraft:enchanting_table",count:1,components:{"minecraft:custom_model_data":"block/enchantment_extractor"}}],DisabledSlots:2039583}
+data merge block ~ ~ ~ {CustomName:{"translate":"container.gm4.enchantment_extractor","fallback":"Enchantment Extractor"}}
+summon armor_stand ~ ~-1.2 ~ {CustomName:"GM4 Enchantment Extractor",Invisible:1b,Invulnerable:1b,Marker:1b,NoGravity:1b,Tags:["gm4_enchantment_extractor","gm4_no_edit"],equipment:{head:{id:"minecraft:enchanting_table",count:1,components:{"minecraft:custom_model_data":"block/enchantment_extractor"}}},DisabledSlots:2039583}
playsound entity.experience_orb.pickup master @a[distance=..5] ~ ~ ~ 1 0.7 1
diff --git a/gm4_enchantment_extractors/data/gm4_enchantment_extractors/function/relocate/set_pick_up_data.mcfunction b/gm4_enchantment_extractors/data/gm4_enchantment_extractors/function/relocate/set_pick_up_data.mcfunction
index f205c03c58..88a3cf2e74 100644
--- a/gm4_enchantment_extractors/data/gm4_enchantment_extractors/function/relocate/set_pick_up_data.mcfunction
+++ b/gm4_enchantment_extractors/data/gm4_enchantment_extractors/function/relocate/set_pick_up_data.mcfunction
@@ -3,9 +3,9 @@
# located at the center of the block to be picked up
# run from gm4_enchantment_extractors:relocate/pick_up_check
-data modify storage gm4_relocators:temp merge_data set value {custom_block:"gm4_enchantment_extractor",lore:'{"translate":"block.gm4.enchantment_extractor","fallback":"Enchantment Extractor","color":"gray","italic":true}'}
+data modify storage gm4_relocators:temp merge_data set value {custom_block:"gm4_enchantment_extractor",lore:{"translate":"block.gm4.enchantment_extractor","fallback":"Enchantment Extractor","color":"gray","italic":true}}
data modify storage gm4_relocators:temp merge_data.entity_data.Rotation set from entity @s Rotation
-execute positioned ~ ~-1.2 ~ run data modify storage gm4_relocators:temp merge_data.entity_data.ArmorItems set from entity @e[type=armor_stand,tag=gm4_enchantment_extractor_stand,distance=..0.1,limit=1] ArmorItems
+execute positioned ~ ~-1.2 ~ run data modify storage gm4_relocators:temp merge_data.entity_data.equipment set from entity @e[type=armor_stand,tag=gm4_enchantment_extractor_stand,distance=..0.1,limit=1] equipment
execute positioned ~ ~-1.2 ~ run kill @e[type=armor_stand,tag=gm4_enchantment_extractor_stand,limit=1,distance=..0.01]
kill @s
diff --git a/gm4_enchantment_extractors/data/gm4_enchantment_extractors/function/relocate/summon_block_markers.mcfunction b/gm4_enchantment_extractors/data/gm4_enchantment_extractors/function/relocate/summon_block_markers.mcfunction
index ea703b3769..2446799561 100644
--- a/gm4_enchantment_extractors/data/gm4_enchantment_extractors/function/relocate/summon_block_markers.mcfunction
+++ b/gm4_enchantment_extractors/data/gm4_enchantment_extractors/function/relocate/summon_block_markers.mcfunction
@@ -5,11 +5,11 @@
scoreboard players set $placed_block gm4_rl_data 1
-summon armor_stand ~ ~-1.2 ~ {NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_enchantment_extractor_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:'"gm4_enchantment_extractor_stand"',ArmorItems:[{},{},{},{id:"minecraft:enchanting_table",count:1,components:{"minecraft:custom_model_data":"block/enchantment_extractor"}}],Rotation:[0.0f,0.0f]}
-summon marker ~ ~ ~ {Tags:["gm4_enchantment_extractor","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_enchantment_extractor"',Rotation:[0.0f,0.0f]}
+summon armor_stand ~ ~-1.2 ~ {NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_enchantment_extractor_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:"gm4_enchantment_extractor_stand",equipment:{head:{id:"minecraft:enchanting_table",count:1,components:{"minecraft:custom_model_data":"block/enchantment_extractor"}}},Rotation:[0.0f,0.0f]}
+summon marker ~ ~ ~ {Tags:["gm4_enchantment_extractor","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:"gm4_enchantment_extractor",Rotation:[0.0f,0.0f]}
execute as @e[tag=gm4_new_machine,distance=..2] run data modify entity @s Rotation set from storage gm4_relocators:temp gm4_relocation.entity_data.Rotation
execute as @e[tag=gm4_new_machine,distance=..2] at @s rotated as @e[type=marker,tag=gm4_new_machine,distance=..2,limit=1] run tp ~ ~ ~
-execute as @e[type=armor_stand,tag=gm4_new_machine,distance=..2] run data modify entity @s ArmorItems set from storage gm4_relocators:temp gm4_relocation.entity_data.ArmorItems
+execute as @e[type=armor_stand,tag=gm4_new_machine,distance=..2] run data modify entity @s equipment set from storage gm4_relocators:temp gm4_relocation.entity_data.equipment
scoreboard players set @e[distance=..2,tag=gm4_new_machine] gm4_entity_version 1
tag @e[distance=..2] remove gm4_new_machine
diff --git a/gm4_enchantment_extractors/data/gm4_enchantment_extractors/guidebook/enchantment_extractors.json b/gm4_enchantment_extractors/data/gm4_enchantment_extractors/guidebook/enchantment_extractors.json
index 68a7970db6..3110afb8ce 100644
--- a/gm4_enchantment_extractors/data/gm4_enchantment_extractors/guidebook/enchantment_extractors.json
+++ b/gm4_enchantment_extractors/data/gm4_enchantment_extractors/guidebook/enchantment_extractors.json
@@ -17,7 +17,7 @@
"blocks": [
"minecraft:dropper"
],
- "nbt": "{CustomName:'{\"translate\":\"gm4.second\",\"fallback\":\"%1$s\",\"with\":[{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\"},{\"text\":\" \",\"extra\":[{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:offscreen\"},{\"translate\":\"gui.gm4.custom_crafter\",\"fallback\":\"\",\"font\":\"gm4:container_gui\",\"color\":\"white\"},{\"text\":\" \",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:default\",\"color\":\"#404040\"}],\"font\":\"gm4:half_invert\"}]}'}"
+ "nbt": "{CustomName:{\"translate\":\"gm4.second\",\"fallback\":\"%1$s\",\"with\":[{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\"},{\"text\":\" \",\"extra\":[{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:offscreen\"},{\"translate\":\"gui.gm4.custom_crafter\",\"fallback\":\"\",\"font\":\"gm4:container_gui\",\"color\":\"white\"},{\"text\":\" \",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:default\",\"color\":\"#404040\"}],\"font\":\"gm4:half_invert\"}]}}"
}
}
}
@@ -62,7 +62,7 @@
"blocks": [
"minecraft:dropper"
],
- "nbt": "{CustomName:'{\"translate\":\"gm4.second\",\"fallback\":\"%1$s\",\"with\":[{\"translate\":\"container.gm4.enchantment_extractor\",\"fallback\":\"Enchantment Extractor\"},{\"text\":\" \",\"extra\":[{\"translate\":\"container.gm4.enchantment_extractor\",\"fallback\":\"Enchantment Extractor\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.enchantment_extractor\",\"fallback\":\"Enchantment Extractor\",\"font\":\"gm4:offscreen\"},{\"translate\":\"gui.gm4.enchantment_extractor\",\"fallback\":\"\",\"font\":\"gm4:container_gui\",\"color\":\"white\"},{\"text\":\" \",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.enchantment_extractor\",\"fallback\":\"Enchantment Extractor\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.enchantment_extractor\",\"fallback\":\"Enchantment Extractor\",\"font\":\"gm4:default\",\"color\":\"#404040\"}],\"font\":\"gm4:half_invert\"}]}'}"
+ "nbt": "{CustomName:{\"translate\":\"gm4.second\",\"fallback\":\"%1$s\",\"with\":[{\"translate\":\"container.gm4.enchantment_extractor\",\"fallback\":\"Enchantment Extractor\"},{\"text\":\" \",\"extra\":[{\"translate\":\"container.gm4.enchantment_extractor\",\"fallback\":\"Enchantment Extractor\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.enchantment_extractor\",\"fallback\":\"Enchantment Extractor\",\"font\":\"gm4:offscreen\"},{\"translate\":\"gui.gm4.enchantment_extractor\",\"fallback\":\"\",\"font\":\"gm4:container_gui\",\"color\":\"white\"},{\"text\":\" \",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.enchantment_extractor\",\"fallback\":\"Enchantment Extractor\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.enchantment_extractor\",\"fallback\":\"Enchantment Extractor\",\"font\":\"gm4:default\",\"color\":\"#404040\"}],\"font\":\"gm4:half_invert\"}]}}"
}
}
}
diff --git a/gm4_enchantment_extractors/data/gm4_enchantment_extractors/recipe/enchantment_extractor.json b/gm4_enchantment_extractors/data/gm4_enchantment_extractors/recipe/enchantment_extractor.json
index e6793dfd6f..79b87fddb1 100644
--- a/gm4_enchantment_extractors/data/gm4_enchantment_extractors/recipe/enchantment_extractor.json
+++ b/gm4_enchantment_extractors/data/gm4_enchantment_extractors/recipe/enchantment_extractor.json
@@ -18,7 +18,7 @@
"minecraft:custom_model_data": "item/enchantment_extractor",
"minecraft:profile": "$enchantment_extractor",
"minecraft:custom_data": "{gm4_machines:{id:'enchantment_extractor'}}",
- "minecraft:custom_name": "{\"translate\":\"block.gm4.enchantment_extractor\",\"fallback\":\"Enchantment Extractor\",\"color\":\"white\",\"italic\":false}"
+ "minecraft:custom_name": {"translate":"block.gm4.enchantment_extractor","fallback":"Enchantment Extractor","color":"white","italic":false}
}
}
}
diff --git a/gm4_end_fishing/beet.yaml b/gm4_end_fishing/beet.yaml
index a3df3a497b..1ec7b38d47 100644
--- a/gm4_end_fishing/beet.yaml
+++ b/gm4_end_fishing/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_end_fishing
name: End Fishing
-version: 1.5.X
+version: 1.6.X
data_pack:
load: .
@@ -26,18 +26,18 @@ meta:
reference: item/enderpuff
- item: elytra
reference: item/captains_wings
- model:
- - predicate: {broken: 0}
- model: item/elytra/captains_wings
- - predicate: {broken: 1}
- model: item/elytra/broken_captains_wings
+ template:
+ name: condition
+ property: minecraft:broken
+ on_true: item/elytra/broken_captains_wings
+ on_false: item/elytra/captains_wings
- item: elytra
reference: item/ravaged_wings
- model:
- - predicate: {broken: 0}
- model: item/elytra/ravaged_wings
- - predicate: {broken: 1}
- model: item/elytra/broken_ravaged_wings
+ template:
+ name: condition
+ property: minecraft:broken
+ on_true: item/elytra/broken_ravaged_wings
+ on_false: item/elytra/ravaged_wings
- item: fishing_rod
reference: gui/advancement/end_fishing
template: advancement
diff --git a/gm4_end_fishing/data/gm4_end_fishing/function/cast_rod/store_data.mcfunction b/gm4_end_fishing/data/gm4_end_fishing/function/cast_rod/store_data.mcfunction
index 516a665d22..ef972c13da 100644
--- a/gm4_end_fishing/data/gm4_end_fishing/function/cast_rod/store_data.mcfunction
+++ b/gm4_end_fishing/data/gm4_end_fishing/function/cast_rod/store_data.mcfunction
@@ -5,8 +5,8 @@
tag @p[scores={gm4_cast_rod=1..},distance=..2] add gm4_ef_cast_rod
# store lure value
-execute unless entity @a[tag=gm4_ef_cast_rod,predicate=gm4_end_fishing:holding_fishing_rod,limit=1] store result score @s gm4_ef_lure run data get entity @a[tag=gm4_ef_cast_rod,limit=1] Inventory[{Slot:-106b}].components."minecraft:enchantments".levels."minecraft:lure"
-execute if entity @a[tag=gm4_ef_cast_rod,predicate=gm4_end_fishing:holding_fishing_rod,limit=1] store result score @s gm4_ef_lure run data get entity @a[tag=gm4_ef_cast_rod,limit=1] SelectedItem.components."minecraft:enchantments".levels."minecraft:lure"
+execute unless entity @a[tag=gm4_ef_cast_rod,predicate=gm4_end_fishing:holding_fishing_rod,limit=1] store result score @s gm4_ef_lure run data get entity @a[tag=gm4_ef_cast_rod,limit=1] equipment.offhand.components."minecraft:enchantments"."minecraft:lure"
+execute if entity @a[tag=gm4_ef_cast_rod,predicate=gm4_end_fishing:holding_fishing_rod,limit=1] store result score @s gm4_ef_lure run data get entity @a[tag=gm4_ef_cast_rod,limit=1] SelectedItem.components."minecraft:enchantments"."minecraft:lure"
# bobber id
scoreboard players operation @s gm4_ef_id = @a[tag=gm4_ef_cast_rod,limit=1] gm4_ef_id
diff --git a/gm4_end_fishing/data/gm4_end_fishing/function/cast_rod/summon_bait.mcfunction b/gm4_end_fishing/data/gm4_end_fishing/function/cast_rod/summon_bait.mcfunction
index c05ebb718d..eba4dbf955 100644
--- a/gm4_end_fishing/data/gm4_end_fishing/function/cast_rod/summon_bait.mcfunction
+++ b/gm4_end_fishing/data/gm4_end_fishing/function/cast_rod/summon_bait.mcfunction
@@ -1,7 +1,7 @@
# @s = fishing bobber positioned ~ ~-5 ~
# run from tick
-summon minecraft:armor_stand ~ ~ ~ {DisabledSlots:2039552,Small:1b,Invisible:1b,NoGravity:1b,Tags:["gm4_no_edit","gm4_end_fishing_bait_new","gm4_end_fishing_bait"],CustomName:'"gm4_end_fishing_bait"'}
+summon minecraft:armor_stand ~ ~ ~ {DisabledSlots:2039552,Small:1b,Invisible:1b,NoGravity:1b,Tags:["gm4_no_edit","gm4_end_fishing_bait_new","gm4_end_fishing_bait"],CustomName:"gm4_end_fishing_bait"}
scoreboard players operation @e[type=armor_stand,limit=1,tag=gm4_end_fishing_bait_new] gm4_ef_id = @s gm4_ef_id
scoreboard players operation @e[type=armor_stand,limit=1,tag=gm4_end_fishing_bait_new] gm4_ef_lure = @s gm4_ef_lure
diff --git a/gm4_end_fishing/data/gm4_end_fishing/function/durability/prep_offhand.mcfunction b/gm4_end_fishing/data/gm4_end_fishing/function/durability/prep_offhand.mcfunction
index b0cb40a765..3e5ed70e6f 100644
--- a/gm4_end_fishing/data/gm4_end_fishing/function/durability/prep_offhand.mcfunction
+++ b/gm4_end_fishing/data/gm4_end_fishing/function/durability/prep_offhand.mcfunction
@@ -1,6 +1,6 @@
# @s = player who reeled in the armor stand w/ fishing rod in offhand
# run from reel_in/reel_rod and reel_in/reel_loot
-execute store result score @s gm4_ef_data run data get entity @s Inventory[{Slot:-106b}].components."minecraft:damage"
+execute store result score @s gm4_ef_data run data get entity @s equipment.offhand.components."minecraft:damage"
tag @s add gm4_ef_durability_off
schedule function gm4_end_fishing:durability/check 1t
diff --git a/gm4_end_fishing/data/gm4_end_fishing/function/durability/set_mainhand.mcfunction b/gm4_end_fishing/data/gm4_end_fishing/function/durability/set_mainhand.mcfunction
index 16dcd79e10..fda04aadf3 100644
--- a/gm4_end_fishing/data/gm4_end_fishing/function/durability/set_mainhand.mcfunction
+++ b/gm4_end_fishing/data/gm4_end_fishing/function/durability/set_mainhand.mcfunction
@@ -1,7 +1,7 @@
# @s = player who reeled in the armor stand w/ fishing rod in mainhand
# run from durability/check
-execute store result score $unbreaking_lvl gm4_ef_data run data get entity @s SelectedItem.components."minecraft:enchantments".levels."minecraft:unbreaking"
+execute store result score $unbreaking_lvl gm4_ef_data run data get entity @s SelectedItem.components."minecraft:enchantments"."minecraft:unbreaking"
function gm4_end_fishing:durability/calc_damage
item modify entity @s[gamemode=!creative] weapon.mainhand gm4_end_fishing:prepare_rod
item modify entity @s[gamemode=!creative] weapon.mainhand gm4_end_fishing:apply_damage
diff --git a/gm4_end_fishing/data/gm4_end_fishing/function/durability/set_offhand.mcfunction b/gm4_end_fishing/data/gm4_end_fishing/function/durability/set_offhand.mcfunction
index ba33ae0427..e9cc1d5eda 100644
--- a/gm4_end_fishing/data/gm4_end_fishing/function/durability/set_offhand.mcfunction
+++ b/gm4_end_fishing/data/gm4_end_fishing/function/durability/set_offhand.mcfunction
@@ -1,7 +1,7 @@
# @s = player who reeled in the armor stand w/ fishing rod in offhand
# run from durability/check
-execute store result score $unbreaking_lvl gm4_ef_data run data get entity @s Inventory[{Slot:-106b}].components."minecraft:enchantments".levels."minecraft:unbreaking"
+execute store result score $unbreaking_lvl gm4_ef_data run data get entity @s equipment.offhand.components."minecraft:enchantments"."minecraft:unbreaking"
function gm4_end_fishing:durability/calc_damage
item modify entity @s[gamemode=!creative] weapon.offhand gm4_end_fishing:prepare_rod
item modify entity @s[gamemode=!creative] weapon.offhand gm4_end_fishing:apply_damage
diff --git a/gm4_end_fishing/data/gm4_end_fishing/function/enderpuff/apply_slow_falling.mcfunction b/gm4_end_fishing/data/gm4_end_fishing/function/enderpuff/apply_slow_falling.mcfunction
index b9fe5b6206..07e480c44b 100644
--- a/gm4_end_fishing/data/gm4_end_fishing/function/enderpuff/apply_slow_falling.mcfunction
+++ b/gm4_end_fishing/data/gm4_end_fishing/function/enderpuff/apply_slow_falling.mcfunction
@@ -1,7 +1,7 @@
# @s = player who has an enderpuff and is falling
# run from tick
-execute store result score $fall_distance gm4_ef_data run data get entity @s FallDistance 10
+execute store result score $fall_distance gm4_ef_data run data get entity @s fall_distance 10
execute if score $fall_distance gm4_ef_data matches 25.. run tag @s add gm4_ef_fall
tag @s[scores={gm4_ef_sneak=1..},nbt={FallFlying:1b}] add gm4_ef_fall
effect give @s[tag=gm4_ef_fall] slow_falling 1 0
diff --git a/gm4_end_fishing/data/gm4_end_fishing/function/reel_in/reel_loot.mcfunction b/gm4_end_fishing/data/gm4_end_fishing/function/reel_in/reel_loot.mcfunction
index d7a1f2cdb0..85843ea0b2 100644
--- a/gm4_end_fishing/data/gm4_end_fishing/function/reel_in/reel_loot.mcfunction
+++ b/gm4_end_fishing/data/gm4_end_fishing/function/reel_in/reel_loot.mcfunction
@@ -5,8 +5,8 @@ advancement revoke @s only gm4_end_fishing:reel_loot
advancement grant @s only gm4:end_fishing
tag @s add gm4_ef_reel_loot
tag @s add gm4_ef_looted
-execute if entity @s[nbt={SelectedItem:{id:"minecraft:fishing_rod"}}] run function gm4_end_fishing:durability/prep_mainhand
-execute unless entity @s[nbt={SelectedItem:{id:"minecraft:fishing_rod"}}] if entity @s[nbt={Inventory:[{Slot:-106b,id:"minecraft:fishing_rod"}]}] run function gm4_end_fishing:durability/prep_offhand
+execute if items entity @s weapon.mainhand minecraft:fishing_rod run function gm4_end_fishing:durability/prep_mainhand
+execute unless items entity @s weapon.mainhand minecraft:fishing_rod if items entity @s weapon.offhand minecraft:fishing_rod run function gm4_end_fishing:durability/prep_offhand
scoreboard players operation $current gm4_ef_id = @s gm4_ef_id
execute as @e[type=armor_stand,tag=gm4_ef_has_fish] if score @s gm4_ef_id = $current gm4_ef_id run tag @s add gm4_ef_reeled_in
diff --git a/gm4_end_fishing/data/gm4_end_fishing/function/reel_in/reel_rod.mcfunction b/gm4_end_fishing/data/gm4_end_fishing/function/reel_in/reel_rod.mcfunction
index 1ab2faadbe..c7a5f9ce85 100644
--- a/gm4_end_fishing/data/gm4_end_fishing/function/reel_in/reel_rod.mcfunction
+++ b/gm4_end_fishing/data/gm4_end_fishing/function/reel_in/reel_rod.mcfunction
@@ -2,5 +2,5 @@
# run from advancement "reel_rod"
advancement revoke @s only gm4_end_fishing:reel_rod
-execute if entity @s[gamemode=!creative,nbt={SelectedItem:{id:"minecraft:fishing_rod"}}] run function gm4_end_fishing:durability/prep_mainhand
-execute unless entity @s[nbt={SelectedItem:{id:"minecraft:fishing_rod"}}] if entity @s[gamemode=!creative,nbt={Inventory:[{Slot:-106b,id:"minecraft:fishing_rod"}]}] run function gm4_end_fishing:durability/prep_offhand
+execute if entity @s[gamemode=!creative] if items entity @s weapon.mainhand minecraft:fishing_rod run function gm4_end_fishing:durability/prep_mainhand
+execute if entity @s[gamemode=!creative] unless items entity @s weapon.mainhand minecraft:fishing_rod if items entity @s weapon.offhand minecraft:fishing_rod run function gm4_end_fishing:durability/prep_offhand
diff --git a/gm4_end_fishing/data/gm4_end_fishing/function/reel_in/spawn_phantom.mcfunction b/gm4_end_fishing/data/gm4_end_fishing/function/reel_in/spawn_phantom.mcfunction
index a6398bd664..8b851f61fa 100644
--- a/gm4_end_fishing/data/gm4_end_fishing/function/reel_in/spawn_phantom.mcfunction
+++ b/gm4_end_fishing/data/gm4_end_fishing/function/reel_in/spawn_phantom.mcfunction
@@ -1,5 +1,5 @@
# @s = item that is to summon a phantom
# run from reel_in/summon_entity
-execute as @e[type=marker,tag=gm4_ef_loot,limit=1] at @s run summon phantom ^ ^ ^-1 {Health:26f,Size:3,attributes:[{id:"minecraft:max_health",base:26}],Tags:["gm4_end_phantom"],DeathLootTable:"gm4_end_fishing:entities/end_phantom"}
+execute as @e[type=marker,tag=gm4_ef_loot,limit=1] at @s run summon phantom ^ ^ ^-1 {Health:26f,size:3,attributes:[{id:"minecraft:max_health",base:26}],Tags:["gm4_end_phantom"],DeathLootTable:"gm4_end_fishing:entities/end_phantom"}
advancement grant @a[tag=gm4_ef_reel_loot,limit=1] only gm4:end_fishing_phantom
diff --git a/gm4_ender_hoppers/beet.yaml b/gm4_ender_hoppers/beet.yaml
index f4d8481120..007a9f506e 100644
--- a/gm4_ender_hoppers/beet.yaml
+++ b/gm4_ender_hoppers/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_ender_hoppers
name: Ender Hoppers
-version: 1.7.X
+version: 1.8.X
data_pack:
load: .
@@ -17,8 +17,8 @@ meta:
gm4:
versioning:
required:
- lib_custom_crafters: 3.2.0
- lib_machines: 1.3.0
+ lib_custom_crafters: 3.4.0
+ lib_machines: 1.4.0
schedule_loops: [main]
model_data:
- item: hopper_minecart
@@ -52,8 +52,6 @@ meta:
- gm4_resource_pack
- gm4_relocators
- gm4_standard_crafting
- - gm4_auto_crafting
- - gm4_record_crafting
- gm4_enchantment_extractors
- gm4_forming_press
- gm4_block_compressors
diff --git a/gm4_ender_hoppers/data/gm4_ender_hoppers/function/machine/create_cart.mcfunction b/gm4_ender_hoppers/data/gm4_ender_hoppers/function/machine/create_cart.mcfunction
index 0e7aaf62e7..2f66691a0a 100644
--- a/gm4_ender_hoppers/data/gm4_ender_hoppers/function/machine/create_cart.mcfunction
+++ b/gm4_ender_hoppers/data/gm4_ender_hoppers/function/machine/create_cart.mcfunction
@@ -6,14 +6,14 @@
scoreboard players set $placed_block gm4_machine_data 1
# summon new hopper minecart
-summon hopper_minecart ~ ~ ~ {Tags:["gm4_ender_hopper_minecart_new","gm4_new_machine"],Passengers:[{id:"minecraft:item_display",CustomName:'"gm4_ender_hopper_display"',Tags:["gm4_no_edit","gm4_ender_hopper_display","gm4_machine_cart","smithed.entity","smithed.strict","gm4_new_machine"],item:{id:"minecraft:player_head",count:1,components:{"minecraft:custom_model_data":"block/ender_hopper_minecart","minecraft:profile":"$ender_hopper_display"}},item_display:"head",transformation:{scale:[0.83,0.83,0.83],right_rotation:[0,0,0,1],left_rotation:[0,0,0,1],translation:[0.0,0.7275,0.0]}}]}
+summon hopper_minecart ~ ~ ~ {Tags:["gm4_ender_hopper_minecart_new","gm4_new_machine"],Passengers:[{id:"minecraft:item_display",CustomName:"gm4_ender_hopper_display",Tags:["gm4_no_edit","gm4_ender_hopper_display","gm4_machine_cart","smithed.entity","smithed.strict","gm4_new_machine"],item:{id:"minecraft:player_head",count:1,components:{"minecraft:custom_model_data":"block/ender_hopper_minecart","minecraft:profile":"$ender_hopper_display"}},item_display:"head",transformation:{scale:[0.83,0.83,0.83],right_rotation:[0,0,0,1],left_rotation:[0,0,0,1],translation:[0.0,0.7275,0.0]}}]}
particle large_smoke ~ ~0.5 ~ 0.2 0.2 0.2 0 10
playsound minecraft:block.respawn_anchor.charge block @a[distance=..5] ~ ~ ~ 0.3 0.7
scoreboard players set @e[tag=gm4_new_machine,distance=..2] gm4_entity_version 1
# clean up
data modify entity @e[type=hopper_minecart,tag=gm4_ender_hopper_minecart_new,distance=..0.1,limit=1] {} merge from entity @s {}
-data merge entity @e[type=hopper_minecart,tag=gm4_ender_hopper_minecart_new,distance=..0.1,limit=1] {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},[{"translate":"gui.gm4.ender_hopper_minecart","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper","font":"gm4:default","color":"#404040"}]]}',Tags:["gm4_ender_hopper_minecart","gm4_machine_cart"]}
+data merge entity @e[type=hopper_minecart,tag=gm4_ender_hopper_minecart_new,distance=..0.1,limit=1] {CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},[{"translate":"gui.gm4.ender_hopper_minecart","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper","font":"gm4:default","color":"#404040"}]]},Tags:["gm4_ender_hopper_minecart","gm4_machine_cart"]}
data merge entity @s {Items:[]}
kill @s
tag @e[distance=..2] remove gm4_new_machine
diff --git a/gm4_ender_hoppers/data/gm4_ender_hoppers/function/machine/destroy_cart/scan_hoppers.mcfunction b/gm4_ender_hoppers/data/gm4_ender_hoppers/function/machine/destroy_cart/scan_hoppers.mcfunction
index 2c4a5e7a42..311fdc1b11 100644
--- a/gm4_ender_hoppers/data/gm4_ender_hoppers/function/machine/destroy_cart/scan_hoppers.mcfunction
+++ b/gm4_ender_hoppers/data/gm4_ender_hoppers/function/machine/destroy_cart/scan_hoppers.mcfunction
@@ -5,35 +5,35 @@
# find hopper with the invalid item
scoreboard players set $found_item gm4_machine_data 0
-execute if score $found_item gm4_machine_data matches 0 positioned ~00 ~00 ~00 if block ~ ~ ~ hopper{Items:[{id:"minecraft:hopper_minecart",components:{"minecraft:custom_name":'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}'}}]} run function gm4_ender_hoppers:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~01 ~00 ~00 if block ~ ~ ~ hopper{Items:[{id:"minecraft:hopper_minecart",components:{"minecraft:custom_name":'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}'}}]} run function gm4_ender_hoppers:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~-1 ~00 ~00 if block ~ ~ ~ hopper{Items:[{id:"minecraft:hopper_minecart",components:{"minecraft:custom_name":'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}'}}]} run function gm4_ender_hoppers:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~00 ~00 ~01 if block ~ ~ ~ hopper{Items:[{id:"minecraft:hopper_minecart",components:{"minecraft:custom_name":'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}'}}]} run function gm4_ender_hoppers:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~01 ~00 ~01 if block ~ ~ ~ hopper{Items:[{id:"minecraft:hopper_minecart",components:{"minecraft:custom_name":'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}'}}]} run function gm4_ender_hoppers:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~-1 ~00 ~01 if block ~ ~ ~ hopper{Items:[{id:"minecraft:hopper_minecart",components:{"minecraft:custom_name":'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}'}}]} run function gm4_ender_hoppers:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~00 ~00 ~-1 if block ~ ~ ~ hopper{Items:[{id:"minecraft:hopper_minecart",components:{"minecraft:custom_name":'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}'}}]} run function gm4_ender_hoppers:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~01 ~00 ~-1 if block ~ ~ ~ hopper{Items:[{id:"minecraft:hopper_minecart",components:{"minecraft:custom_name":'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}'}}]} run function gm4_ender_hoppers:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~-1 ~00 ~-1 if block ~ ~ ~ hopper{Items:[{id:"minecraft:hopper_minecart",components:{"minecraft:custom_name":'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}'}}]} run function gm4_ender_hoppers:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~00 ~00 ~00 if block ~ ~ ~ hopper{Items:[{id:"minecraft:hopper_minecart",components:{"minecraft:custom_name":{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}}}]} run function gm4_ender_hoppers:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~01 ~00 ~00 if block ~ ~ ~ hopper{Items:[{id:"minecraft:hopper_minecart",components:{"minecraft:custom_name":{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}}}]} run function gm4_ender_hoppers:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~-1 ~00 ~00 if block ~ ~ ~ hopper{Items:[{id:"minecraft:hopper_minecart",components:{"minecraft:custom_name":{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}}}]} run function gm4_ender_hoppers:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~00 ~00 ~01 if block ~ ~ ~ hopper{Items:[{id:"minecraft:hopper_minecart",components:{"minecraft:custom_name":{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}}}]} run function gm4_ender_hoppers:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~01 ~00 ~01 if block ~ ~ ~ hopper{Items:[{id:"minecraft:hopper_minecart",components:{"minecraft:custom_name":{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}}}]} run function gm4_ender_hoppers:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~-1 ~00 ~01 if block ~ ~ ~ hopper{Items:[{id:"minecraft:hopper_minecart",components:{"minecraft:custom_name":{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}}}]} run function gm4_ender_hoppers:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~00 ~00 ~-1 if block ~ ~ ~ hopper{Items:[{id:"minecraft:hopper_minecart",components:{"minecraft:custom_name":{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}}}]} run function gm4_ender_hoppers:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~01 ~00 ~-1 if block ~ ~ ~ hopper{Items:[{id:"minecraft:hopper_minecart",components:{"minecraft:custom_name":{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}}}]} run function gm4_ender_hoppers:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~-1 ~00 ~-1 if block ~ ~ ~ hopper{Items:[{id:"minecraft:hopper_minecart",components:{"minecraft:custom_name":{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}}}]} run function gm4_ender_hoppers:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~00 ~-1 ~00 if block ~ ~ ~ hopper{Items:[{id:"minecraft:hopper_minecart",components:{"minecraft:custom_name":'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}'}}]} run function gm4_ender_hoppers:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~01 ~-1 ~00 if block ~ ~ ~ hopper{Items:[{id:"minecraft:hopper_minecart",components:{"minecraft:custom_name":'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}'}}]} run function gm4_ender_hoppers:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~-1 ~-1 ~00 if block ~ ~ ~ hopper{Items:[{id:"minecraft:hopper_minecart",components:{"minecraft:custom_name":'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}'}}]} run function gm4_ender_hoppers:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~00 ~-1 ~01 if block ~ ~ ~ hopper{Items:[{id:"minecraft:hopper_minecart",components:{"minecraft:custom_name":'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}'}}]} run function gm4_ender_hoppers:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~01 ~-1 ~01 if block ~ ~ ~ hopper{Items:[{id:"minecraft:hopper_minecart",components:{"minecraft:custom_name":'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}'}}]} run function gm4_ender_hoppers:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~-1 ~-1 ~01 if block ~ ~ ~ hopper{Items:[{id:"minecraft:hopper_minecart",components:{"minecraft:custom_name":'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}'}}]} run function gm4_ender_hoppers:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~00 ~-1 ~-1 if block ~ ~ ~ hopper{Items:[{id:"minecraft:hopper_minecart",components:{"minecraft:custom_name":'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}'}}]} run function gm4_ender_hoppers:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~01 ~-1 ~-1 if block ~ ~ ~ hopper{Items:[{id:"minecraft:hopper_minecart",components:{"minecraft:custom_name":'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}'}}]} run function gm4_ender_hoppers:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~-1 ~-1 ~-1 if block ~ ~ ~ hopper{Items:[{id:"minecraft:hopper_minecart",components:{"minecraft:custom_name":'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}'}}]} run function gm4_ender_hoppers:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~00 ~-1 ~00 if block ~ ~ ~ hopper{Items:[{id:"minecraft:hopper_minecart",components:{"minecraft:custom_name":{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}}}]} run function gm4_ender_hoppers:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~01 ~-1 ~00 if block ~ ~ ~ hopper{Items:[{id:"minecraft:hopper_minecart",components:{"minecraft:custom_name":{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}}}]} run function gm4_ender_hoppers:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~-1 ~-1 ~00 if block ~ ~ ~ hopper{Items:[{id:"minecraft:hopper_minecart",components:{"minecraft:custom_name":{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}}}]} run function gm4_ender_hoppers:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~00 ~-1 ~01 if block ~ ~ ~ hopper{Items:[{id:"minecraft:hopper_minecart",components:{"minecraft:custom_name":{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}}}]} run function gm4_ender_hoppers:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~01 ~-1 ~01 if block ~ ~ ~ hopper{Items:[{id:"minecraft:hopper_minecart",components:{"minecraft:custom_name":{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}}}]} run function gm4_ender_hoppers:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~-1 ~-1 ~01 if block ~ ~ ~ hopper{Items:[{id:"minecraft:hopper_minecart",components:{"minecraft:custom_name":{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}}}]} run function gm4_ender_hoppers:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~00 ~-1 ~-1 if block ~ ~ ~ hopper{Items:[{id:"minecraft:hopper_minecart",components:{"minecraft:custom_name":{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}}}]} run function gm4_ender_hoppers:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~01 ~-1 ~-1 if block ~ ~ ~ hopper{Items:[{id:"minecraft:hopper_minecart",components:{"minecraft:custom_name":{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}}}]} run function gm4_ender_hoppers:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~-1 ~-1 ~-1 if block ~ ~ ~ hopper{Items:[{id:"minecraft:hopper_minecart",components:{"minecraft:custom_name":{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}}}]} run function gm4_ender_hoppers:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~00 ~-2 ~00 if block ~ ~ ~ hopper{Items:[{id:"minecraft:hopper_minecart",components:{"minecraft:custom_name":'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}'}}]} run function gm4_ender_hoppers:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~01 ~-2 ~00 if block ~ ~ ~ hopper{Items:[{id:"minecraft:hopper_minecart",components:{"minecraft:custom_name":'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}'}}]} run function gm4_ender_hoppers:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~-1 ~-2 ~00 if block ~ ~ ~ hopper{Items:[{id:"minecraft:hopper_minecart",components:{"minecraft:custom_name":'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}'}}]} run function gm4_ender_hoppers:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~00 ~-2 ~01 if block ~ ~ ~ hopper{Items:[{id:"minecraft:hopper_minecart",components:{"minecraft:custom_name":'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}'}}]} run function gm4_ender_hoppers:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~01 ~-2 ~01 if block ~ ~ ~ hopper{Items:[{id:"minecraft:hopper_minecart",components:{"minecraft:custom_name":'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}'}}]} run function gm4_ender_hoppers:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~-1 ~-2 ~01 if block ~ ~ ~ hopper{Items:[{id:"minecraft:hopper_minecart",components:{"minecraft:custom_name":'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}'}}]} run function gm4_ender_hoppers:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~00 ~-2 ~-1 if block ~ ~ ~ hopper{Items:[{id:"minecraft:hopper_minecart",components:{"minecraft:custom_name":'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}'}}]} run function gm4_ender_hoppers:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~01 ~-2 ~-1 if block ~ ~ ~ hopper{Items:[{id:"minecraft:hopper_minecart",components:{"minecraft:custom_name":'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}'}}]} run function gm4_ender_hoppers:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~-1 ~-2 ~-1 if block ~ ~ ~ hopper{Items:[{id:"minecraft:hopper_minecart",components:{"minecraft:custom_name":'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}'}}]} run function gm4_ender_hoppers:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~00 ~-2 ~00 if block ~ ~ ~ hopper{Items:[{id:"minecraft:hopper_minecart",components:{"minecraft:custom_name":{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}}}]} run function gm4_ender_hoppers:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~01 ~-2 ~00 if block ~ ~ ~ hopper{Items:[{id:"minecraft:hopper_minecart",components:{"minecraft:custom_name":{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}}}]} run function gm4_ender_hoppers:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~-1 ~-2 ~00 if block ~ ~ ~ hopper{Items:[{id:"minecraft:hopper_minecart",components:{"minecraft:custom_name":{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}}}]} run function gm4_ender_hoppers:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~00 ~-2 ~01 if block ~ ~ ~ hopper{Items:[{id:"minecraft:hopper_minecart",components:{"minecraft:custom_name":{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}}}]} run function gm4_ender_hoppers:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~01 ~-2 ~01 if block ~ ~ ~ hopper{Items:[{id:"minecraft:hopper_minecart",components:{"minecraft:custom_name":{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}}}]} run function gm4_ender_hoppers:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~-1 ~-2 ~01 if block ~ ~ ~ hopper{Items:[{id:"minecraft:hopper_minecart",components:{"minecraft:custom_name":{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}}}]} run function gm4_ender_hoppers:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~00 ~-2 ~-1 if block ~ ~ ~ hopper{Items:[{id:"minecraft:hopper_minecart",components:{"minecraft:custom_name":{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}}}]} run function gm4_ender_hoppers:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~01 ~-2 ~-1 if block ~ ~ ~ hopper{Items:[{id:"minecraft:hopper_minecart",components:{"minecraft:custom_name":{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}}}]} run function gm4_ender_hoppers:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~-1 ~-2 ~-1 if block ~ ~ ~ hopper{Items:[{id:"minecraft:hopper_minecart",components:{"minecraft:custom_name":{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}}}]} run function gm4_ender_hoppers:machine/destroy_cart/update_hopper
# if no hoppers found, find hopper minecarts with the invalid item
-execute if score $found_item gm4_machine_data matches 0 as @e[type=hopper_minecart,distance=..3,nbt={Items:[{id:"minecraft:hopper_minecart",components:{"minecraft:custom_name":'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}'}}]}] run function gm4_ender_hoppers:machine/destroy_cart/update_hopper_minecart
+execute if score $found_item gm4_machine_data matches 0 as @e[type=hopper_minecart,distance=..3,nbt={Items:[{id:"minecraft:hopper_minecart",components:{"minecraft:custom_name":{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}}}]}] run function gm4_ender_hoppers:machine/destroy_cart/update_hopper_minecart
diff --git a/gm4_ender_hoppers/data/gm4_ender_hoppers/function/machine/destroy_cart/update_hopper.mcfunction b/gm4_ender_hoppers/data/gm4_ender_hoppers/function/machine/destroy_cart/update_hopper.mcfunction
index 7fa7d66079..fb2e677553 100644
--- a/gm4_ender_hoppers/data/gm4_ender_hoppers/function/machine/destroy_cart/update_hopper.mcfunction
+++ b/gm4_ender_hoppers/data/gm4_ender_hoppers/function/machine/destroy_cart/update_hopper.mcfunction
@@ -5,11 +5,11 @@
# replace correct slot with proper item
data modify storage gm4_machines:temp Items set from block ~ ~ ~ Items
-execute if data storage gm4_machines:temp Items[{Slot:0b,components:{"minecraft:custom_data":'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}'}}] run loot replace block ~ ~ ~ container.0 loot gm4_ender_hoppers:entities/ender_hopper_minecart
-execute if data storage gm4_machines:temp Items[{Slot:1b,components:{"minecraft:custom_data":'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}'}}] run loot replace block ~ ~ ~ container.1 loot gm4_ender_hoppers:entities/ender_hopper_minecart
-execute if data storage gm4_machines:temp Items[{Slot:2b,components:{"minecraft:custom_data":'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}'}}] run loot replace block ~ ~ ~ container.2 loot gm4_ender_hoppers:entities/ender_hopper_minecart
-execute if data storage gm4_machines:temp Items[{Slot:3b,components:{"minecraft:custom_data":'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}'}}] run loot replace block ~ ~ ~ container.3 loot gm4_ender_hoppers:entities/ender_hopper_minecart
-execute if data storage gm4_machines:temp Items[{Slot:4b,components:{"minecraft:custom_data":'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}'}}] run loot replace block ~ ~ ~ container.4 loot gm4_ender_hoppers:entities/ender_hopper_minecart
+execute if data storage gm4_machines:temp Items[{Slot:0b,components:{"minecraft:custom_name":{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}}}] run loot replace block ~ ~ ~ container.0 loot gm4_ender_hoppers:entities/ender_hopper_minecart
+execute if data storage gm4_machines:temp Items[{Slot:1b,components:{"minecraft:custom_name":{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}}}] run loot replace block ~ ~ ~ container.1 loot gm4_ender_hoppers:entities/ender_hopper_minecart
+execute if data storage gm4_machines:temp Items[{Slot:2b,components:{"minecraft:custom_name":{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}}}] run loot replace block ~ ~ ~ container.2 loot gm4_ender_hoppers:entities/ender_hopper_minecart
+execute if data storage gm4_machines:temp Items[{Slot:3b,components:{"minecraft:custom_name":{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}}}] run loot replace block ~ ~ ~ container.3 loot gm4_ender_hoppers:entities/ender_hopper_minecart
+execute if data storage gm4_machines:temp Items[{Slot:4b,components:{"minecraft:custom_name":{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}}}] run loot replace block ~ ~ ~ container.4 loot gm4_ender_hoppers:entities/ender_hopper_minecart
# clean up
data remove storage gm4_machines:temp Items
diff --git a/gm4_ender_hoppers/data/gm4_ender_hoppers/function/machine/destroy_cart/update_hopper_minecart.mcfunction b/gm4_ender_hoppers/data/gm4_ender_hoppers/function/machine/destroy_cart/update_hopper_minecart.mcfunction
index d1348ce9f6..b0fd3ee467 100644
--- a/gm4_ender_hoppers/data/gm4_ender_hoppers/function/machine/destroy_cart/update_hopper_minecart.mcfunction
+++ b/gm4_ender_hoppers/data/gm4_ender_hoppers/function/machine/destroy_cart/update_hopper_minecart.mcfunction
@@ -5,11 +5,11 @@
# replace correct slot with proper item
data modify storage gm4_machines:temp Items set from entity @s Items
-execute if data storage gm4_machines:temp Items[{Slot:0b,components:{"minecraft:custom_name":'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}'}}] run loot replace entity @s container.0 loot gm4_ender_hoppers:entities/ender_hopper_minecart
-execute if data storage gm4_machines:temp Items[{Slot:1b,components:{"minecraft:custom_name":'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}'}}] run loot replace entity @s container.1 loot gm4_ender_hoppers:entities/ender_hopper_minecart
-execute if data storage gm4_machines:temp Items[{Slot:2b,components:{"minecraft:custom_name":'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}'}}] run loot replace entity @s container.2 loot gm4_ender_hoppers:entities/ender_hopper_minecart
-execute if data storage gm4_machines:temp Items[{Slot:3b,components:{"minecraft:custom_name":'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}'}}] run loot replace entity @s container.3 loot gm4_ender_hoppers:entities/ender_hopper_minecart
-execute if data storage gm4_machines:temp Items[{Slot:4b,components:{"minecraft:custom_name":'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}'}}] run loot replace entity @s container.4 loot gm4_ender_hoppers:entities/ender_hopper_minecart
+execute if data storage gm4_machines:temp Items[{Slot:0b,components:{"minecraft:custom_name":{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}}}] run loot replace entity @s container.0 loot gm4_ender_hoppers:entities/ender_hopper_minecart
+execute if data storage gm4_machines:temp Items[{Slot:1b,components:{"minecraft:custom_name":{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}}}] run loot replace entity @s container.1 loot gm4_ender_hoppers:entities/ender_hopper_minecart
+execute if data storage gm4_machines:temp Items[{Slot:2b,components:{"minecraft:custom_name":{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}}}] run loot replace entity @s container.2 loot gm4_ender_hoppers:entities/ender_hopper_minecart
+execute if data storage gm4_machines:temp Items[{Slot:3b,components:{"minecraft:custom_name":{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}}}] run loot replace entity @s container.3 loot gm4_ender_hoppers:entities/ender_hopper_minecart
+execute if data storage gm4_machines:temp Items[{Slot:4b,components:{"minecraft:custom_name":{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},{"color":"white","font":"gm4:container_gui","extra":[{"color":"#404040","font":"gm4:default","translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"}],"translate":"gui.gm4.ender_hopper_minecart","fallback":""}]}}}] run loot replace entity @s container.4 loot gm4_ender_hoppers:entities/ender_hopper_minecart
# clean up
data remove storage gm4_machines:temp Items
diff --git a/gm4_ender_hoppers/data/gm4_ender_hoppers/function/machine/rotate/down.mcfunction b/gm4_ender_hoppers/data/gm4_ender_hoppers/function/machine/rotate/down.mcfunction
index 31b750e82f..72b7d2a065 100644
--- a/gm4_ender_hoppers/data/gm4_ender_hoppers/function/machine/rotate/down.mcfunction
+++ b/gm4_ender_hoppers/data/gm4_ender_hoppers/function/machine/rotate/down.mcfunction
@@ -4,8 +4,8 @@
# run from gm4_ender_hoppers:machine/create
# place hopper
-setblock ~ ~ ~ hopper[facing=down]{CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper","fallback":"Ender Hopper"},[{"translate":"gui.gm4.ender_hopper","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.ender_hopper","fallback":"Ender Hopper","font":"gm4:default","color":"#404040"}]]}'}
+setblock ~ ~ ~ hopper[facing=down]{CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper","fallback":"Ender Hopper"},[{"translate":"gui.gm4.ender_hopper","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.ender_hopper","fallback":"Ender Hopper","font":"gm4:default","color":"#404040"}]]}}
# summon display armor stand and marker entity
-summon item_display ~ ~ ~ {item:{id:"minecraft:player_head",count:1,components:{"minecraft:custom_model_data":'block/ender_hopper',"minecraft:profile":"$ender_hopper_display"}},item_display:head,CustomName:'"gm4_ender_hopper_display"',Tags:["gm4_ender_hopper_display","smithed.entity","smithed.strict","gm4_new_machine"],transformation:{scale:[0.83,0.83,0.83],left_rotation:[0,0,0,1],right_rotation:[0,0,0,1],translation:[0.0,0.641,0.0]}}
-summon marker ~ ~ ~ {Tags:["gm4_ender_hopper","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_ender_hopper"',Rotation:[0.0f,0.0f]}
+summon item_display ~ ~ ~ {item:{id:"minecraft:player_head",count:1,components:{"minecraft:custom_model_data":"block/ender_hopper","minecraft:profile":"$ender_hopper_display"}},item_display:head,CustomName:"gm4_ender_hopper_display",Tags:["gm4_ender_hopper_display","smithed.entity","smithed.strict","gm4_new_machine"],transformation:{scale:[0.83,0.83,0.83],left_rotation:[0,0,0,1],right_rotation:[0,0,0,1],translation:[0.0,0.641,0.0]}}
+summon marker ~ ~ ~ {Tags:["gm4_ender_hopper","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:"gm4_ender_hopper",Rotation:[0.0f,0.0f]}
diff --git a/gm4_ender_hoppers/data/gm4_ender_hoppers/function/machine/rotate/east.mcfunction b/gm4_ender_hoppers/data/gm4_ender_hoppers/function/machine/rotate/east.mcfunction
index 884b8df629..849d4a9207 100644
--- a/gm4_ender_hoppers/data/gm4_ender_hoppers/function/machine/rotate/east.mcfunction
+++ b/gm4_ender_hoppers/data/gm4_ender_hoppers/function/machine/rotate/east.mcfunction
@@ -4,8 +4,8 @@
# run from gm4_ender_hoppers:machine/create
# place hopper
-setblock ~ ~ ~ hopper[facing=east]{CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper","fallback":"Ender Hopper"},[{"translate":"gui.gm4.ender_hopper","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.ender_hopper","fallback":"Ender Hopper","font":"gm4:default","color":"#404040"}]]}'}
+setblock ~ ~ ~ hopper[facing=east]{CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper","fallback":"Ender Hopper"},[{"translate":"gui.gm4.ender_hopper","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.ender_hopper","fallback":"Ender Hopper","font":"gm4:default","color":"#404040"}]]}}
# summon display armor stand and marker entity
-summon item_display ~ ~ ~ {item:{id:"minecraft:player_head",count:1,components:{"minecraft:custom_model_data":'block/ender_hopper',"minecraft:profile":"$ender_hopper_display"}},item_display:head,CustomName:'"gm4_ender_hopper_display"',Tags:["gm4_ender_hopper_display","smithed.entity","smithed.strict","gm4_new_machine"],transformation:{scale:[0.83,0.83,0.83],left_rotation:[0,0,0,1],right_rotation:[0,0,0,1],translation:[0.0,0.641,0.0]},Rotation:[-90.0f,0.0f]}
-summon marker ~ ~ ~ {Tags:["gm4_ender_hopper","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_ender_hopper"',Rotation:[-90.0f,0.0f]}
+summon item_display ~ ~ ~ {item:{id:"minecraft:player_head",count:1,components:{"minecraft:custom_model_data":"block/ender_hopper","minecraft:profile":"$ender_hopper_display"}},item_display:head,CustomName:"gm4_ender_hopper_display",Tags:["gm4_ender_hopper_display","smithed.entity","smithed.strict","gm4_new_machine"],transformation:{scale:[0.83,0.83,0.83],left_rotation:[0,0,0,1],right_rotation:[0,0,0,1],translation:[0.0,0.641,0.0]},Rotation:[-90.0f,0.0f]}
+summon marker ~ ~ ~ {Tags:["gm4_ender_hopper","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:"gm4_ender_hopper",Rotation:[-90.0f,0.0f]}
diff --git a/gm4_ender_hoppers/data/gm4_ender_hoppers/function/machine/rotate/north.mcfunction b/gm4_ender_hoppers/data/gm4_ender_hoppers/function/machine/rotate/north.mcfunction
index ec022c8758..b3d8a6f7d1 100644
--- a/gm4_ender_hoppers/data/gm4_ender_hoppers/function/machine/rotate/north.mcfunction
+++ b/gm4_ender_hoppers/data/gm4_ender_hoppers/function/machine/rotate/north.mcfunction
@@ -4,8 +4,8 @@
# run from gm4_ender_hoppers:machine/create
# place hopper
-setblock ~ ~ ~ hopper[facing=north]{CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper","fallback":"Ender Hopper"},[{"translate":"gui.gm4.ender_hopper","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.ender_hopper","fallback":"Ender Hopper","font":"gm4:default","color":"#404040"}]]}'}
+setblock ~ ~ ~ hopper[facing=north]{CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper","fallback":"Ender Hopper"},[{"translate":"gui.gm4.ender_hopper","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.ender_hopper","fallback":"Ender Hopper","font":"gm4:default","color":"#404040"}]]}}
# summon display armor stand and marker entity
-summon item_display ~ ~ ~ {item:{id:"minecraft:player_head",count:1,components:{"minecraft:custom_model_data":'block/ender_hopper',"minecraft:profile":"$ender_hopper_display"}},item_display:head,CustomName:'"gm4_ender_hopper_display"',Tags:["gm4_ender_hopper_display","smithed.entity","smithed.strict","gm4_new_machine"],transformation:{scale:[0.83,0.83,0.83],left_rotation:[0,0,0,1],right_rotation:[0,0,0,1],translation:[0.0,0.641,0.0]},Rotation:[180.0f,0.0f]}
-summon marker ~ ~ ~ {Tags:["gm4_ender_hopper","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_ender_hopper"',Rotation:[180.0f,0.0f]}
+summon item_display ~ ~ ~ {item:{id:"minecraft:player_head",count:1,components:{"minecraft:custom_model_data":"block/ender_hopper","minecraft:profile":"$ender_hopper_display"}},item_display:head,CustomName:"gm4_ender_hopper_display",Tags:["gm4_ender_hopper_display","smithed.entity","smithed.strict","gm4_new_machine"],transformation:{scale:[0.83,0.83,0.83],left_rotation:[0,0,0,1],right_rotation:[0,0,0,1],translation:[0.0,0.641,0.0]},Rotation:[180.0f,0.0f]}
+summon marker ~ ~ ~ {Tags:["gm4_ender_hopper","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:"gm4_ender_hopper",Rotation:[180.0f,0.0f]}
diff --git a/gm4_ender_hoppers/data/gm4_ender_hoppers/function/machine/rotate/south.mcfunction b/gm4_ender_hoppers/data/gm4_ender_hoppers/function/machine/rotate/south.mcfunction
index 14ecd732af..f137d063ec 100644
--- a/gm4_ender_hoppers/data/gm4_ender_hoppers/function/machine/rotate/south.mcfunction
+++ b/gm4_ender_hoppers/data/gm4_ender_hoppers/function/machine/rotate/south.mcfunction
@@ -4,8 +4,8 @@
# run from gm4_ender_hoppers:machine/create
# place hopper
-setblock ~ ~ ~ hopper[facing=south]{CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper","fallback":"Ender Hopper"},[{"translate":"gui.gm4.ender_hopper","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.ender_hopper","fallback":"Ender Hopper","font":"gm4:default","color":"#404040"}]]}'}
+setblock ~ ~ ~ hopper[facing=south]{CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper","fallback":"Ender Hopper"},[{"translate":"gui.gm4.ender_hopper","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.ender_hopper","fallback":"Ender Hopper","font":"gm4:default","color":"#404040"}]]}}
# summon display armor stand and marker entity
-summon item_display ~ ~ ~ {item:{id:"minecraft:player_head",count:1,components:{"minecraft:custom_model_data":'block/ender_hopper',"minecraft:profile":"$ender_hopper_display"}},item_display:head,CustomName:'"gm4_ender_hopper_display"',Tags:["gm4_ender_hopper_display","smithed.entity","smithed.strict","gm4_new_machine"],transformation:{scale:[0.83,0.83,0.83],left_rotation:[0,0,0,1],right_rotation:[0,0,0,1],translation:[0.0,0.641,0.0]},Rotation:[0.0f,0.0f]}
-summon marker ~ ~ ~ {Tags:["gm4_ender_hopper","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_ender_hopper"',Rotation:[0.0f,0.0f]}
+summon item_display ~ ~ ~ {item:{id:"minecraft:player_head",count:1,components:{"minecraft:custom_model_data":"block/ender_hopper","minecraft:profile":"$ender_hopper_display"}},item_display:head,CustomName:"gm4_ender_hopper_display",Tags:["gm4_ender_hopper_display","smithed.entity","smithed.strict","gm4_new_machine"],transformation:{scale:[0.83,0.83,0.83],left_rotation:[0,0,0,1],right_rotation:[0,0,0,1],translation:[0.0,0.641,0.0]},Rotation:[0.0f,0.0f]}
+summon marker ~ ~ ~ {Tags:["gm4_ender_hopper","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:"gm4_ender_hopper",Rotation:[0.0f,0.0f]}
diff --git a/gm4_ender_hoppers/data/gm4_ender_hoppers/function/machine/rotate/west.mcfunction b/gm4_ender_hoppers/data/gm4_ender_hoppers/function/machine/rotate/west.mcfunction
index f5960b3b40..bc314f56d9 100644
--- a/gm4_ender_hoppers/data/gm4_ender_hoppers/function/machine/rotate/west.mcfunction
+++ b/gm4_ender_hoppers/data/gm4_ender_hoppers/function/machine/rotate/west.mcfunction
@@ -4,8 +4,8 @@
# run from gm4_ender_hoppers:machine/create
# place hopper
-setblock ~ ~ ~ hopper[facing=west]{CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper","fallback":"Ender Hopper"},[{"translate":"gui.gm4.ender_hopper","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.ender_hopper","fallback":"Ender Hopper","font":"gm4:default","color":"#404040"}]]}'}
+setblock ~ ~ ~ hopper[facing=west]{CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper","fallback":"Ender Hopper"},[{"translate":"gui.gm4.ender_hopper","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.ender_hopper","fallback":"Ender Hopper","font":"gm4:default","color":"#404040"}]]}}
# summon display armor stand and marker entity
-summon item_display ~ ~ ~ {item:{id:"minecraft:player_head",count:1,components:{"minecraft:custom_model_data":'block/ender_hopper',"minecraft:profile":"$ender_hopper_display"}},item_display:head,CustomName:'"gm4_ender_hopper_display"',Tags:["gm4_ender_hopper_display","smithed.entity","smithed.strict","gm4_new_machine"],transformation:{scale:[0.83,0.83,0.83],left_rotation:[0,0,0,1],right_rotation:[0,0,0,1],translation:[0.0,0.641,0.0]},Rotation:[90.0f,0.0f]}
-summon marker ~ ~ ~ {Tags:["gm4_ender_hopper","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_ender_hopper"',Rotation:[90.0f,0.0f]}
+summon item_display ~ ~ ~ {item:{id:"minecraft:player_head",count:1,components:{"minecraft:custom_model_data":"block/ender_hopper","minecraft:profile":"$ender_hopper_display"}},item_display:head,CustomName:"gm4_ender_hopper_display",Tags:["gm4_ender_hopper_display","smithed.entity","smithed.strict","gm4_new_machine"],transformation:{scale:[0.83,0.83,0.83],left_rotation:[0,0,0,1],right_rotation:[0,0,0,1],translation:[0.0,0.641,0.0]},Rotation:[90.0f,0.0f]}
+summon marker ~ ~ ~ {Tags:["gm4_ender_hopper","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:"gm4_ender_hopper",Rotation:[90.0f,0.0f]}
diff --git a/gm4_ender_hoppers/data/gm4_ender_hoppers/function/machine/verify_place_cart.mcfunction b/gm4_ender_hoppers/data/gm4_ender_hoppers/function/machine/verify_place_cart.mcfunction
index 0b519d9379..08e45346b4 100644
--- a/gm4_ender_hoppers/data/gm4_ender_hoppers/function/machine/verify_place_cart.mcfunction
+++ b/gm4_ender_hoppers/data/gm4_ender_hoppers/function/machine/verify_place_cart.mcfunction
@@ -3,4 +3,4 @@
# located at the machine minecart
# run from #gm4_machines:place_cart
-execute if score $placed_block gm4_machine_data matches 0 if data entity @s {CustomName:'{"translate":"item.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper","italic":false}'} run function gm4_ender_hoppers:machine/create_cart
+execute if score $placed_block gm4_machine_data matches 0 if data entity @s {CustomName:{"translate":"item.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper","italic":false}} run function gm4_ender_hoppers:machine/create_cart
diff --git a/gm4_ender_hoppers/data/gm4_ender_hoppers/function/relocate/set_pick_up_data.mcfunction b/gm4_ender_hoppers/data/gm4_ender_hoppers/function/relocate/set_pick_up_data.mcfunction
index 13fe14e680..ad2173a5b5 100644
--- a/gm4_ender_hoppers/data/gm4_ender_hoppers/function/relocate/set_pick_up_data.mcfunction
+++ b/gm4_ender_hoppers/data/gm4_ender_hoppers/function/relocate/set_pick_up_data.mcfunction
@@ -3,7 +3,7 @@
# located at the center of the block to be picked up
# run from gm4_ender_hoppers:relocate/pick_up_check
-data modify storage gm4_relocators:temp merge_data set value {custom_block:"gm4_ender_hopper",lore:'{"translate":"block.gm4.ender_hopper","fallback":"Ender Hopper","color":"gray","italic":true}'}
+data modify storage gm4_relocators:temp merge_data set value {custom_block:"gm4_ender_hopper",lore:{"translate":"block.gm4.ender_hopper","fallback":"Ender Hopper","color":"gray","italic":true}}
data modify storage gm4_relocators:temp merge_data.entity_data.Rotation set from entity @s Rotation
data modify storage gm4_relocators:temp merge_data.entity_data.item set from entity @e[type=item_display,tag=gm4_ender_hopper_display,limit=1,distance=..0.01] item
diff --git a/gm4_ender_hoppers/data/gm4_ender_hoppers/function/relocate/summon_block_markers.mcfunction b/gm4_ender_hoppers/data/gm4_ender_hoppers/function/relocate/summon_block_markers.mcfunction
index bc5566d9b4..7c3a597d48 100644
--- a/gm4_ender_hoppers/data/gm4_ender_hoppers/function/relocate/summon_block_markers.mcfunction
+++ b/gm4_ender_hoppers/data/gm4_ender_hoppers/function/relocate/summon_block_markers.mcfunction
@@ -5,8 +5,8 @@
scoreboard players set $placed_block gm4_rl_data 1
-summon item_display ~ ~ ~ {item:{id:"minecraft:player_head",count:1,components:{"minecraft:custom_model_data":'block/ender_hopper',"minecraft:profile":"$ender_hopper_display"}},item_display:head,CustomName:'"gm4_ender_hopper_display"',Tags:["gm4_ender_hopper_display","smithed.entity","smithed.strict","gm4_new_machine"],transformation:{scale:[0.83,0.83,0.83],left_rotation:[0,0,0,1],right_rotation:[0,0,0,1],translation:[0.0,0.641,0.0]}}
-summon marker ~ ~ ~ {Tags:["gm4_ender_hopper","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_ender_hopper"',Rotation:[0.0f,0.0f]}
+summon item_display ~ ~ ~ {item:{id:"minecraft:player_head",count:1,components:{"minecraft:custom_model_data":"block/ender_hopper","minecraft:profile":"$ender_hopper_display"}},item_display:head,CustomName:"gm4_ender_hopper_display",Tags:["gm4_ender_hopper_display","smithed.entity","smithed.strict","gm4_new_machine"],transformation:{scale:[0.83,0.83,0.83],left_rotation:[0,0,0,1],right_rotation:[0,0,0,1],translation:[0.0,0.641,0.0]}}
+summon marker ~ ~ ~ {Tags:["gm4_ender_hopper","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:"gm4_ender_hopper",Rotation:[0.0f,0.0f]}
execute as @e[tag=gm4_new_machine,distance=..2] run data modify entity @s Rotation set from storage gm4_relocators:temp gm4_relocation.entity_data.Rotation
execute as @e[tag=gm4_new_machine,distance=..2] at @s rotated as @e[type=marker,tag=gm4_new_machine,distance=..2,limit=1] run tp ~ ~ ~
diff --git a/gm4_ender_hoppers/data/gm4_ender_hoppers/function/upgrade_paths/1.5/block_upgrade.mcfunction b/gm4_ender_hoppers/data/gm4_ender_hoppers/function/upgrade_paths/1.5/block_upgrade.mcfunction
index 5010231643..29c92f4619 100644
--- a/gm4_ender_hoppers/data/gm4_ender_hoppers/function/upgrade_paths/1.5/block_upgrade.mcfunction
+++ b/gm4_ender_hoppers/data/gm4_ender_hoppers/function/upgrade_paths/1.5/block_upgrade.mcfunction
@@ -1,10 +1,10 @@
# run from upgrade_paths/1.5
# @s = ender hopper display armor stand to be replaced
-summon item_display ~ ~0.5 ~ {item:{id:"minecraft:player_head",count:1,components:{"minecraft:custom_model_data":'block/ender_hopper',"minecraft:profile":"$ender_hopper_display"}},item_display:"head",CustomName:'"gm4_ender_hopper_display"',Tags:["gm4_ender_hopper_display","smithed.entity","smithed.strict","gm4_new_machine"],transformation:{scale:[0.83,0.83,0.83],left_rotation:[0,0,0,1],right_rotation:[0,0,0,1],translation:[0.0,0.641,0.0]},Rotation:[0.0f,0.0f]}
+summon item_display ~ ~0.5 ~ {item:{id:"minecraft:player_head",count:1,components:{"minecraft:custom_model_data":"block/ender_hopper","minecraft:profile":"$ender_hopper_display"}},item_display:"head",CustomName:"gm4_ender_hopper_display",Tags:["gm4_ender_hopper_display","smithed.entity","smithed.strict","gm4_new_machine"],transformation:{scale:[0.83,0.83,0.83],left_rotation:[0,0,0,1],right_rotation:[0,0,0,1],translation:[0.0,0.641,0.0]},Rotation:[0.0f,0.0f]}
# side-facing hopper, set the right CMD
-execute if entity @s[nbt={HandItems:[{components:{"minecraft:custom_model_data":3420008}},{}]}] run data modify entity @e[type=item_display,limit=1,distance=..0.6,tag=gm4_new_machine] item.components."minecraft:custom_model_data" set value "block/ender_hopper_side"
+execute if items entity @s weapon.mainhand *[minecraft:custom_model_data={floats:[3420008]}] run data modify entity @e[type=item_display,limit=1,distance=..0.6,tag=gm4_new_machine] item.components."minecraft:custom_model_data" set value "block/ender_hopper_side"
data modify entity @e[type=item_display,limit=1,distance=..0.6,tag=gm4_new_machine] Rotation set from entity @s Rotation
scoreboard players set @e[type=item_display,limit=1,distance=..0.6,tag=gm4_new_machine] gm4_entity_version 2
diff --git a/gm4_ender_hoppers/data/gm4_ender_hoppers/function/upgrade_paths/1.5/minecart_upgrade.mcfunction b/gm4_ender_hoppers/data/gm4_ender_hoppers/function/upgrade_paths/1.5/minecart_upgrade.mcfunction
index 843a5ba4ab..2106d95222 100644
--- a/gm4_ender_hoppers/data/gm4_ender_hoppers/function/upgrade_paths/1.5/minecart_upgrade.mcfunction
+++ b/gm4_ender_hoppers/data/gm4_ender_hoppers/function/upgrade_paths/1.5/minecart_upgrade.mcfunction
@@ -1,9 +1,9 @@
# run from upgrade_paths/1.5
# @s = existing ender hopper minecart (cart entity)
-summon hopper_minecart ~ ~ ~ {Tags:["gm4_ender_hopper_minecart_new","gm4_new_machine"],Passengers:[{id:"minecraft:item_display",CustomName:'"gm4_ender_hopper_display"',Tags:["gm4_no_edit","gm4_ender_hopper_display","gm4_machine_cart","smithed.entity","smithed.strict","gm4_new_machine"],item:{id:"minecraft:player_head",count:1,components:{"minecraft:custom_model_data":"block/ender_hopper_minecart","minecraft:profile":"$ender_hopper_display"}},item_display:"head",transformation:{scale:[0.83,0.83,0.83],right_rotation:[0,0,0,1],left_rotation:[0,0,0,1],translation:[0.0,0.7275,0.0]}}]}
+summon hopper_minecart ~ ~ ~ {Tags:["gm4_ender_hopper_minecart_new","gm4_new_machine"],Passengers:[{id:"minecraft:item_display",CustomName:"gm4_ender_hopper_display",Tags:["gm4_no_edit","gm4_ender_hopper_display","gm4_machine_cart","smithed.entity","smithed.strict","gm4_new_machine"],item:{id:"minecraft:player_head",count:1,components:{"minecraft:custom_model_data":"block/ender_hopper_minecart","minecraft:profile":"$ender_hopper_display"}},item_display:"head",transformation:{scale:[0.83,0.83,0.83],right_rotation:[0,0,0,1],left_rotation:[0,0,0,1],translation:[0.0,0.7275,0.0]}}]}
data modify entity @e[type=hopper_minecart,tag=gm4_ender_hopper_minecart_new,distance=..0.1,limit=1] {} merge from entity @s {}
-data merge entity @e[type=hopper_minecart,tag=gm4_ender_hopper_minecart_new,distance=..0.1,limit=1] {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},[{"translate":"gui.gm4.ender_hopper_minecart","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper","font":"gm4:default","color":"#404040"}]]}',Tags:["gm4_ender_hopper_minecart","gm4_machine_cart"]}
+data merge entity @e[type=hopper_minecart,tag=gm4_ender_hopper_minecart_new,distance=..0.1,limit=1] {CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper"},[{"translate":"gui.gm4.ender_hopper_minecart","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper","font":"gm4:default","color":"#404040"}]]},Tags:["gm4_ender_hopper_minecart","gm4_machine_cart"]}
data merge entity @s {Items:[]}
execute on passengers run kill @s
diff --git a/gm4_ender_hoppers/data/gm4_ender_hoppers/guidebook/ender_hoppers.json b/gm4_ender_hoppers/data/gm4_ender_hoppers/guidebook/ender_hoppers.json
index 9af335d605..f6f745f282 100644
--- a/gm4_ender_hoppers/data/gm4_ender_hoppers/guidebook/ender_hoppers.json
+++ b/gm4_ender_hoppers/data/gm4_ender_hoppers/guidebook/ender_hoppers.json
@@ -17,7 +17,7 @@
"blocks": [
"minecraft:dropper"
],
- "nbt": "{CustomName:'{\"translate\":\"gm4.second\",\"fallback\":\"%1$s\",\"with\":[{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\"},{\"text\":\" \",\"extra\":[{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:offscreen\"},{\"translate\":\"gui.gm4.custom_crafter\",\"fallback\":\"\",\"font\":\"gm4:container_gui\",\"color\":\"white\"},{\"text\":\" \",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:default\",\"color\":\"#404040\"}],\"font\":\"gm4:half_invert\"}]}'}"
+ "nbt": "{CustomName:{\"translate\":\"gm4.second\",\"fallback\":\"%1$s\",\"with\":[{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\"},{\"text\":\" \",\"extra\":[{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:offscreen\"},{\"translate\":\"gui.gm4.custom_crafter\",\"fallback\":\"\",\"font\":\"gm4:container_gui\",\"color\":\"white\"},{\"text\":\" \",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:default\",\"color\":\"#404040\"}],\"font\":\"gm4:half_invert\"}]}}"
}
}
}
@@ -74,7 +74,7 @@
"blocks": [
"minecraft:hopper"
],
- "nbt": "{CustomName:'{\"translate\":\"gm4.second\",\"fallback\":\"%1$s\",\"with\":[{\"translate\":\"container.gm4.ender_hopper\",\"fallback\":\"Ender Hopper\"},{\"translate\":\"gui.gm4.ender_hopper\",\"fallback\":\"\",\"extra\":[{\"translate\":\"container.gm4.ender_hopper\",\"fallback\":\"Ender Hopper\",\"font\":\"gm4:default\",\"color\":\"#404040\"}],\"font\":\"gm4:container_gui\",\"color\":\"white\"}]}'}"
+ "nbt": "{CustomName:{\"translate\":\"gm4.second\",\"fallback\":\"%1$s\",\"with\":[{\"translate\":\"container.gm4.ender_hopper\",\"fallback\":\"Ender Hopper\"},{\"translate\":\"gui.gm4.ender_hopper\",\"fallback\":\"\",\"extra\":[{\"translate\":\"container.gm4.ender_hopper\",\"fallback\":\"Ender Hopper\",\"font\":\"gm4:default\",\"color\":\"#404040\"}],\"font\":\"gm4:container_gui\",\"color\":\"white\"}]}}"
}
}
}
diff --git a/gm4_ender_hoppers/data/gm4_ender_hoppers/recipe/ender_hopper.json b/gm4_ender_hoppers/data/gm4_ender_hoppers/recipe/ender_hopper.json
index 2ebd3af6ac..0b3783bcc6 100644
--- a/gm4_ender_hoppers/data/gm4_ender_hoppers/recipe/ender_hopper.json
+++ b/gm4_ender_hoppers/data/gm4_ender_hoppers/recipe/ender_hopper.json
@@ -17,7 +17,7 @@
"minecraft:custom_model_data": "item/ender_hopper",
"minecraft:profile": "$ender_hopper",
"minecraft:custom_data": "{gm4_machines:{id:'ender_hopper'}}",
- "minecraft:custom_name": "{\"translate\":\"block.gm4.ender_hopper\",\"fallback\":\"Ender Hopper\",\"color\":\"white\",\"italic\":false}"
+ "minecraft:custom_name": {"translate":"block.gm4.ender_hopper","fallback":"Ender Hopper","color":"white","italic":false}
}
}
}
diff --git a/gm4_ender_hoppers/data/gm4_ender_hoppers/recipe/ender_hopper_minecart.json b/gm4_ender_hoppers/data/gm4_ender_hoppers/recipe/ender_hopper_minecart.json
index 57abfe94bf..7e47ffbf61 100644
--- a/gm4_ender_hoppers/data/gm4_ender_hoppers/recipe/ender_hopper_minecart.json
+++ b/gm4_ender_hoppers/data/gm4_ender_hoppers/recipe/ender_hopper_minecart.json
@@ -16,7 +16,7 @@
"components": {
"minecraft:custom_model_data": "item/ender_hopper_minecart",
"minecraft:custom_data": "{gm4_machines:{id:'ender_hopper_minecart'}}",
- "minecraft:custom_name": "{\"translate\":\"item.gm4.ender_hopper_minecart\",\"fallback\":\"Minecart with Ender Hopper\",\"color\":\"white\",\"italic\":false}"
+ "minecraft:custom_name": {"translate":"item.gm4.ender_hopper_minecart","fallback":"Minecart with Ender Hopper","color":"white","italic":false}
}
}
}
diff --git a/gm4_enderman_support_class/beet.yaml b/gm4_enderman_support_class/beet.yaml
index c644bfe41e..566dbb9cfc 100644
--- a/gm4_enderman_support_class/beet.yaml
+++ b/gm4_enderman_support_class/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_enderman_support_class
name: Enderman Support Class
-version: 1.6.X
+version: 1.7.X
data_pack:
load: .
diff --git a/gm4_everstone/beet.yaml b/gm4_everstone/beet.yaml
index 2607bed30c..ef31593b0e 100644
--- a/gm4_everstone/beet.yaml
+++ b/gm4_everstone/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_everstone
name: Everstone
-version: 1.4.X
+version: 1.5.X
data_pack:
load: .
diff --git a/gm4_everstone/data/gm4_everstone/function/age_locking/check.mcfunction b/gm4_everstone/data/gm4_everstone/function/age_locking/check.mcfunction
index f7b595755b..e9f484e4bf 100644
--- a/gm4_everstone/data/gm4_everstone/function/age_locking/check.mcfunction
+++ b/gm4_everstone/data/gm4_everstone/function/age_locking/check.mcfunction
@@ -8,7 +8,7 @@ tag @e[distance=..1,type=#gm4_everstone:affected,limit=1,tag=!gm4_everstone_lock
function #gm4_everstone:age_locking_check
execute as @e[type=#gm4_everstone:affected,distance=..1,tag=gm4_everstone_check,limit=1] store result score @s gm4_es_data run data get entity @s Age
-scoreboard players set @e[type=#gm4_everstone:aging_mob,distance=..1,tag=gm4_everstone_check,limit=1] gm4_es_data -1
+scoreboard players set @e[type=#gm4_everstone:force_age_lock,distance=..1,tag=gm4_everstone_check,limit=1] gm4_es_data -1
execute as @e[type=#gm4_everstone:affected,distance=..1,tag=gm4_everstone_check,limit=1,scores={gm4_es_data=..-1}] at @s run function gm4_everstone:age_locking/lock_age
scoreboard players reset @e[distance=..1] gm4_es_data
tag @e[distance=..1] remove gm4_everstone_check
diff --git a/gm4_everstone/data/gm4_everstone/function/aging/convert/bogged.mcfunction b/gm4_everstone/data/gm4_everstone/function/aging/convert/bogged.mcfunction
index 1d6e6ced69..77e048bd2b 100644
--- a/gm4_everstone/data/gm4_everstone/function/aging/convert/bogged.mcfunction
+++ b/gm4_everstone/data/gm4_everstone/function/aging/convert/bogged.mcfunction
@@ -23,5 +23,5 @@ playsound minecraft:entity.bogged.ambient hostile @a[distance=..16] ~ ~ ~ 0.5
playsound block.redstone_torch.burnout hostile @a[distance=..16] ~ ~ ~ 0.5 .1
# clean up
-data merge entity @s {DeathTime:19s,Health:0,DeathLootTable:"gm4:empty",HandDropChances:[-327.67F,-327.67F],ArmorDropChances:[-327.67F,-327.67F,-327.67F,-327.67F]}
+data merge entity @s {DeathTime:19s,Health:0,DeathLootTable:"gm4:empty",drop_chances:{mainhand:0F,offhand:0F,feet:0F,legs:0F,chest:0F,head:0F}}
tp @s ~ ~-5000 ~
diff --git a/gm4_everstone/data/gm4_everstone/function/aging/convert/elder_guardian.mcfunction b/gm4_everstone/data/gm4_everstone/function/aging/convert/elder_guardian.mcfunction
index 9237ccb4c4..fa35e813a5 100644
--- a/gm4_everstone/data/gm4_everstone/function/aging/convert/elder_guardian.mcfunction
+++ b/gm4_everstone/data/gm4_everstone/function/aging/convert/elder_guardian.mcfunction
@@ -23,5 +23,5 @@ playsound minecraft:entity.elder_guardian.ambient hostile @a[distance=..16] ~ ~
playsound block.redstone_torch.burnout hostile @a[distance=..16] ~ ~ ~ 0.5 .1
# clean up
-data merge entity @s {DeathTime:19s,Health:0,DeathLootTable:"gm4:empty",HandDropChances:[-327.67F,-327.67F],ArmorDropChances:[-327.67F,-327.67F,-327.67F,-327.67F]}
+data merge entity @s {DeathTime:19s,Health:0,DeathLootTable:"gm4:empty",drop_chances:{mainhand:0F,offhand:0F,feet:0F,legs:0F,chest:0F,head:0F}}
tp @s ~ ~-5000 ~
diff --git a/gm4_everstone/data/gm4_everstone/function/aging/convert/evoker.mcfunction b/gm4_everstone/data/gm4_everstone/function/aging/convert/evoker.mcfunction
index ea80b77edb..033df9914b 100644
--- a/gm4_everstone/data/gm4_everstone/function/aging/convert/evoker.mcfunction
+++ b/gm4_everstone/data/gm4_everstone/function/aging/convert/evoker.mcfunction
@@ -23,5 +23,5 @@ playsound minecraft:entity.evoker.ambient hostile @a[distance=..16] ~ ~ ~ 0.5
playsound block.redstone_torch.burnout hostile @a[distance=..16] ~ ~ ~ 0.5 .1
# clean up
-data merge entity @s {DeathTime:19s,Health:0,DeathLootTable:"gm4:empty",HandDropChances:[-327.67F,-327.67F],ArmorDropChances:[-327.67F,-327.67F,-327.67F,-327.67F]}
+data merge entity @s {DeathTime:19s,Health:0,DeathLootTable:"gm4:empty",drop_chances:{mainhand:0F,offhand:0F,feet:0F,legs:0F,chest:0F,head:0F}}
tp @s ~ ~-5000 ~
diff --git a/gm4_everstone/data/gm4_everstone/function/aging/convert/husk.mcfunction b/gm4_everstone/data/gm4_everstone/function/aging/convert/husk.mcfunction
index 3f6eaea91c..70cd7bf539 100644
--- a/gm4_everstone/data/gm4_everstone/function/aging/convert/husk.mcfunction
+++ b/gm4_everstone/data/gm4_everstone/function/aging/convert/husk.mcfunction
@@ -23,5 +23,5 @@ playsound minecraft:entity.husk.ambient hostile @a[distance=..16] ~ ~ ~ 0.5
playsound block.redstone_torch.burnout hostile @a[distance=..16] ~ ~ ~ 0.5 .1
# clean up
-data merge entity @s {DeathTime:19s,Health:0,DeathLootTable:"gm4:empty",HandDropChances:[-327.67F,-327.67F],ArmorDropChances:[-327.67F,-327.67F,-327.67F,-327.67F]}
+data merge entity @s {DeathTime:19s,Health:0,DeathLootTable:"gm4:empty",drop_chances:{mainhand:0F,offhand:0F,feet:0F,legs:0F,chest:0F,head:0F}}
tp @s ~ ~-5000 ~
diff --git a/gm4_everstone/data/gm4_everstone/function/aging/convert/magma_cube.mcfunction b/gm4_everstone/data/gm4_everstone/function/aging/convert/magma_cube.mcfunction
index 24d0fe0896..db3f4ee9e4 100644
--- a/gm4_everstone/data/gm4_everstone/function/aging/convert/magma_cube.mcfunction
+++ b/gm4_everstone/data/gm4_everstone/function/aging/convert/magma_cube.mcfunction
@@ -23,5 +23,5 @@ playsound minecraft:entity.magma_cube.squish hostile @a[distance=..16] ~ ~ ~ 0.5
playsound block.redstone_torch.burnout hostile @a[distance=..16] ~ ~ ~ 0.5 .1
# clean up
-data merge entity @s {DeathTime:19s,Health:0,DeathLootTable:"gm4:empty",HandDropChances:[-327.67F,-327.67F],ArmorDropChances:[-327.67F,-327.67F,-327.67F,-327.67F]}
+data merge entity @s {DeathTime:19s,Health:0,DeathLootTable:"gm4:empty",drop_chances:{mainhand:0F,offhand:0F,feet:0F,legs:0F,chest:0F,head:0F}}
tp @s ~ ~-5000 ~
diff --git a/gm4_everstone/data/gm4_everstone/function/aging/convert/piglin_brute.mcfunction b/gm4_everstone/data/gm4_everstone/function/aging/convert/piglin_brute.mcfunction
index 6315c89581..ec0cc0bcbe 100644
--- a/gm4_everstone/data/gm4_everstone/function/aging/convert/piglin_brute.mcfunction
+++ b/gm4_everstone/data/gm4_everstone/function/aging/convert/piglin_brute.mcfunction
@@ -23,5 +23,5 @@ playsound minecraft:entity.piglin_brute.ambient hostile @a[distance=..16] ~ ~ ~
playsound block.redstone_torch.burnout hostile @a[distance=..16] ~ ~ ~ 0.5 .1
# clean up
-data merge entity @s {DeathTime:19s,Health:0,DeathLootTable:"gm4:empty",HandDropChances:[-327.67F,-327.67F],ArmorDropChances:[-327.67F,-327.67F,-327.67F,-327.67F]}
+data merge entity @s {DeathTime:19s,Health:0,DeathLootTable:"gm4:empty",drop_chances:{mainhand:0F,offhand:0F,feet:0F,legs:0F,chest:0F,head:0F}}
tp @s ~ ~-5000 ~
diff --git a/gm4_everstone/data/gm4_everstone/function/aging/convert/skeleton.mcfunction b/gm4_everstone/data/gm4_everstone/function/aging/convert/skeleton.mcfunction
index 831c6bf718..00fecdc4d9 100644
--- a/gm4_everstone/data/gm4_everstone/function/aging/convert/skeleton.mcfunction
+++ b/gm4_everstone/data/gm4_everstone/function/aging/convert/skeleton.mcfunction
@@ -23,5 +23,5 @@ playsound minecraft:entity.skeleton.ambient hostile @a[distance=..16] ~ ~ ~ 0.5
playsound block.redstone_torch.burnout hostile @a[distance=..16] ~ ~ ~ 0.5 .1
# clean up
-data merge entity @s {DeathTime:19s,Health:0,DeathLootTable:"gm4:empty",HandDropChances:[-327.67F,-327.67F],ArmorDropChances:[-327.67F,-327.67F,-327.67F,-327.67F]}
+data merge entity @s {DeathTime:19s,Health:0,DeathLootTable:"gm4:empty",drop_chances:{mainhand:0F,offhand:0F,feet:0F,legs:0F,chest:0F,head:0F}}
tp @s ~ ~-5000 ~
diff --git a/gm4_everstone/data/gm4_everstone/function/aging/convert/stray.mcfunction b/gm4_everstone/data/gm4_everstone/function/aging/convert/stray.mcfunction
index f9f24a1baa..568bde3427 100644
--- a/gm4_everstone/data/gm4_everstone/function/aging/convert/stray.mcfunction
+++ b/gm4_everstone/data/gm4_everstone/function/aging/convert/stray.mcfunction
@@ -23,5 +23,5 @@ playsound minecraft:entity.stray.ambient hostile @a[distance=..16] ~ ~ ~ 0.5
playsound block.redstone_torch.burnout hostile @a[distance=..16] ~ ~ ~ 0.5 .1
# clean up
-data merge entity @s {DeathTime:19s,Health:0,DeathLootTable:"gm4:empty",HandDropChances:[-327.67F,-327.67F],ArmorDropChances:[-327.67F,-327.67F,-327.67F,-327.67F]}
+data merge entity @s {DeathTime:19s,Health:0,DeathLootTable:"gm4:empty",drop_chances:{mainhand:0F,offhand:0F,feet:0F,legs:0F,chest:0F,head:0F}}
tp @s ~ ~-5000 ~
diff --git a/gm4_everstone/data/gm4_everstone/function/aging/single.mcfunction b/gm4_everstone/data/gm4_everstone/function/aging/single.mcfunction
index 9dc3913c65..b4437ad57b 100644
--- a/gm4_everstone/data/gm4_everstone/function/aging/single.mcfunction
+++ b/gm4_everstone/data/gm4_everstone/function/aging/single.mcfunction
@@ -4,7 +4,7 @@
# run from aging/age_mobs
# get random value
-summon marker ~ ~ ~ {CustomName:'"gm4_everstone_random"',Tags:["gm4_everstone_random"]}
+summon marker ~ ~ ~ {CustomName:"gm4_everstone_random",Tags:["gm4_everstone_random"]}
execute store result score $random gm4_es_data run data get entity @e[type=marker,tag=gm4_everstone_random,distance=0,limit=1] UUID[3]
kill @e[type=marker,tag=gm4_everstone_random]
diff --git a/gm4_everstone/data/gm4_everstone/tags/entity_type/affected.json b/gm4_everstone/data/gm4_everstone/tags/entity_type/affected.json
index aaacfd1a9a..e8c8edb063 100644
--- a/gm4_everstone/data/gm4_everstone/tags/entity_type/affected.json
+++ b/gm4_everstone/data/gm4_everstone/tags/entity_type/affected.json
@@ -28,6 +28,6 @@
"minecraft:villager",
"minecraft:wolf",
"minecraft:zombie_horse",
- "#gm4_everstone:aging_mob"
+ "#gm4_everstone:force_age_lock"
]
}
diff --git a/gm4_everstone/data/gm4_everstone/tags/entity_type/force_age_lock.json b/gm4_everstone/data/gm4_everstone/tags/entity_type/force_age_lock.json
new file mode 100644
index 0000000000..da24d9fd79
--- /dev/null
+++ b/gm4_everstone/data/gm4_everstone/tags/entity_type/force_age_lock.json
@@ -0,0 +1,6 @@
+{
+ "values": [
+ "#gm4_everstone:aging_mob",
+ "minecraft:tadpole"
+ ]
+}
diff --git a/gm4_forming_press/beet.yaml b/gm4_forming_press/beet.yaml
index 96f93b022d..a7a2a8b38b 100644
--- a/gm4_forming_press/beet.yaml
+++ b/gm4_forming_press/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_forming_press
name: Forming Press
-version: 1.5.X
+version: 1.6.X
data_pack:
load: .
@@ -17,8 +17,8 @@ meta:
gm4:
versioning:
required:
- lib_custom_crafters: 3.2.0
- lib_machines: 1.3.0
+ lib_custom_crafters: 3.4.0
+ lib_machines: 1.4.0
schedule_loops: [main]
model_data:
- item: player_head
@@ -64,8 +64,6 @@ meta:
- gm4_resource_pack
- gm4_relocators
- gm4_standard_crafting
- - gm4_auto_crafting
- - gm4_record_crafting
- gm4_ender_hoppers
- gm4_enchantment_extractors
- gm4_block_compressors
diff --git a/gm4_forming_press/data/gm4_forming_press/function/check_item.mcfunction b/gm4_forming_press/data/gm4_forming_press/function/check_item.mcfunction
index 8e1f5f0058..a7be304714 100644
--- a/gm4_forming_press/data/gm4_forming_press/function/check_item.mcfunction
+++ b/gm4_forming_press/data/gm4_forming_press/function/check_item.mcfunction
@@ -6,9 +6,9 @@
# update item
data modify storage gm4_forming_press:temp/crafter item set from storage gm4_forming_press:temp/crafter Items[-1]
-data modify entity @e[type=armor_stand,tag=gm4_forming_press_stand,distance=..0.5,limit=1] HandItems[0] set from storage gm4_forming_press:temp/crafter item
+data modify entity @e[type=armor_stand,tag=gm4_forming_press_stand,distance=..0.5,limit=1] equipment.mainhand set from storage gm4_forming_press:temp/crafter item
execute as @e[type=armor_stand,tag=gm4_forming_press_stand,distance=..0.5,limit=1] run function #gm4_forming_press:custom_item_checks
-data remove entity @e[type=armor_stand,tag=gm4_forming_press_stand,distance=..0.5,limit=1] HandItems[0]
+data remove entity @e[type=armor_stand,tag=gm4_forming_press_stand,distance=..0.5,limit=1] equipment.mainhand
data modify storage gm4_forming_press:temp/crafter new_items append from storage gm4_forming_press:temp/crafter item
# clean up storage
diff --git a/gm4_forming_press/data/gm4_forming_press/function/machine/rotate/down.mcfunction b/gm4_forming_press/data/gm4_forming_press/function/machine/rotate/down.mcfunction
index bb001b5427..21a3eb89b8 100644
--- a/gm4_forming_press/data/gm4_forming_press/function/machine/rotate/down.mcfunction
+++ b/gm4_forming_press/data/gm4_forming_press/function/machine/rotate/down.mcfunction
@@ -4,8 +4,8 @@
# run from gm4_forming_press:machine/create
# place dropper
-setblock ~ ~ ~ dropper[facing=down]{CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.forming_press","fallback":"Forming Press"},[{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.forming_press","fallback":"Forming Press","font":"gm4:half_invert"},{"translate":"container.gm4.forming_press","fallback":"Forming Press","font":"gm4:offscreen"},{"translate":"gui.gm4.forming_press","fallback":"","font":"gm4:container_gui","color":"white"},{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.forming_press","fallback":"Forming Press","font":"gm4:half_invert"},{"translate":"container.gm4.forming_press","fallback":"Forming Press","font":"gm4:default","color":"#404040"}]]}'}
+setblock ~ ~ ~ dropper[facing=down]{CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.forming_press","fallback":"Forming Press"},[{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.forming_press","fallback":"Forming Press","font":"gm4:half_invert"},{"translate":"container.gm4.forming_press","fallback":"Forming Press","font":"gm4:offscreen"},{"translate":"gui.gm4.forming_press","fallback":"","font":"gm4:container_gui","color":"white"},{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.forming_press","fallback":"Forming Press","font":"gm4:half_invert"},{"translate":"container.gm4.forming_press","fallback":"Forming Press","font":"gm4:default","color":"#404040"}]]}}
# summon display armor stand and marker entity
-summon armor_stand ~ ~-0.4 ~ {NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_forming_press_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:'"gm4_forming_press_stand"',ArmorItems:[{},{},{},{id:"minecraft:piston",count:1,components:{"minecraft:custom_model_data":"block/forming_press_down"}}],Pose:{Head:[180f,0f,0f]},Rotation:[180.0f,0.0f]}
-summon marker ~ ~ ~ {Tags:["gm4_forming_press","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_forming_press"',Rotation:[180.0f,0.0f]}
+summon armor_stand ~ ~-0.4 ~ {NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_forming_press_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:"gm4_forming_press_stand",equipment:{head:{id:"minecraft:piston",count:1,components:{"minecraft:custom_model_data":"block/forming_press_down"}}},Pose:{Head:[180f,0f,0f]},Rotation:[180.0f,0.0f]}
+summon marker ~ ~ ~ {Tags:["gm4_forming_press","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:"gm4_forming_press",Rotation:[180.0f,0.0f]}
diff --git a/gm4_forming_press/data/gm4_forming_press/function/machine/rotate/east.mcfunction b/gm4_forming_press/data/gm4_forming_press/function/machine/rotate/east.mcfunction
index 73d46856ac..55f3fc6d4d 100644
--- a/gm4_forming_press/data/gm4_forming_press/function/machine/rotate/east.mcfunction
+++ b/gm4_forming_press/data/gm4_forming_press/function/machine/rotate/east.mcfunction
@@ -4,8 +4,8 @@
# run from gm4_forming_press:machine/create
# place dropper
-setblock ~ ~ ~ dropper[facing=east]{CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.forming_press","fallback":"Forming Press"},[{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.forming_press","fallback":"Forming Press","font":"gm4:half_invert"},{"translate":"container.gm4.forming_press","fallback":"Forming Press","font":"gm4:offscreen"},{"translate":"gui.gm4.forming_press","fallback":"","font":"gm4:container_gui","color":"white"},{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.forming_press","fallback":"Forming Press","font":"gm4:half_invert"},{"translate":"container.gm4.forming_press","fallback":"Forming Press","font":"gm4:default","color":"#404040"}]]}'}
+setblock ~ ~ ~ dropper[facing=east]{CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.forming_press","fallback":"Forming Press"},[{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.forming_press","fallback":"Forming Press","font":"gm4:half_invert"},{"translate":"container.gm4.forming_press","fallback":"Forming Press","font":"gm4:offscreen"},{"translate":"gui.gm4.forming_press","fallback":"","font":"gm4:container_gui","color":"white"},{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.forming_press","fallback":"Forming Press","font":"gm4:half_invert"},{"translate":"container.gm4.forming_press","fallback":"Forming Press","font":"gm4:default","color":"#404040"}]]}}
# summon display armor stand and marker entity
-summon armor_stand ~ ~-0.4 ~ {NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_forming_press_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:'"gm4_forming_press_stand"',ArmorItems:[{},{},{},{id:"minecraft:piston",count:1,components:{"minecraft:custom_model_data":"block/forming_press_side"}}],Pose:{Head:[180f,0f,0f]},Rotation:[-90.0f,0.0f]}
-summon marker ~ ~ ~ {Tags:["gm4_forming_press","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_forming_press"',Rotation:[-90.0f,0.0f]}
+summon armor_stand ~ ~-0.4 ~ {NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_forming_press_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:"gm4_forming_press_stand",equipment:{head:{id:"minecraft:piston",count:1,components:{"minecraft:custom_model_data":"block/forming_press_side"}}},Pose:{Head:[180f,0f,0f]},Rotation:[-90.0f,0.0f]}
+summon marker ~ ~ ~ {Tags:["gm4_forming_press","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:"gm4_forming_press",Rotation:[-90.0f,0.0f]}
diff --git a/gm4_forming_press/data/gm4_forming_press/function/machine/rotate/north.mcfunction b/gm4_forming_press/data/gm4_forming_press/function/machine/rotate/north.mcfunction
index 0870f91f79..09dee58d4f 100644
--- a/gm4_forming_press/data/gm4_forming_press/function/machine/rotate/north.mcfunction
+++ b/gm4_forming_press/data/gm4_forming_press/function/machine/rotate/north.mcfunction
@@ -4,8 +4,8 @@
# run from gm4_forming_press:machine/create
# place dropper
-setblock ~ ~ ~ dropper[facing=north]{CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.forming_press","fallback":"Forming Press"},[{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.forming_press","fallback":"Forming Press","font":"gm4:half_invert"},{"translate":"container.gm4.forming_press","fallback":"Forming Press","font":"gm4:offscreen"},{"translate":"gui.gm4.forming_press","fallback":"","font":"gm4:container_gui","color":"white"},{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.forming_press","fallback":"Forming Press","font":"gm4:half_invert"},{"translate":"container.gm4.forming_press","fallback":"Forming Press","font":"gm4:default","color":"#404040"}]]}'}
+setblock ~ ~ ~ dropper[facing=north]{CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.forming_press","fallback":"Forming Press"},[{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.forming_press","fallback":"Forming Press","font":"gm4:half_invert"},{"translate":"container.gm4.forming_press","fallback":"Forming Press","font":"gm4:offscreen"},{"translate":"gui.gm4.forming_press","fallback":"","font":"gm4:container_gui","color":"white"},{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.forming_press","fallback":"Forming Press","font":"gm4:half_invert"},{"translate":"container.gm4.forming_press","fallback":"Forming Press","font":"gm4:default","color":"#404040"}]]}}
# summon display armor stand and marker entity
-summon armor_stand ~ ~-0.4 ~ {NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_forming_press_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:'"gm4_forming_press_stand"',ArmorItems:[{},{},{},{id:"minecraft:piston",count:1,components:{"minecraft:custom_model_data":"block/forming_press_side"}}],Pose:{Head:[180f,0f,0f]},Rotation:[180.0f,0.0f]}
-summon marker ~ ~ ~ {Tags:["gm4_forming_press","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_forming_press"',Rotation:[180.0f,0.0f]}
+summon armor_stand ~ ~-0.4 ~ {NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_forming_press_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:"gm4_forming_press_stand",equipment:{head:{id:"minecraft:piston",count:1,components:{"minecraft:custom_model_data":"block/forming_press_side"}}},Pose:{Head:[180f,0f,0f]},Rotation:[180.0f,0.0f]}
+summon marker ~ ~ ~ {Tags:["gm4_forming_press","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:"gm4_forming_press",Rotation:[180.0f,0.0f]}
diff --git a/gm4_forming_press/data/gm4_forming_press/function/machine/rotate/south.mcfunction b/gm4_forming_press/data/gm4_forming_press/function/machine/rotate/south.mcfunction
index fcb284b5ee..ca97d22eb7 100644
--- a/gm4_forming_press/data/gm4_forming_press/function/machine/rotate/south.mcfunction
+++ b/gm4_forming_press/data/gm4_forming_press/function/machine/rotate/south.mcfunction
@@ -4,8 +4,8 @@
# run from gm4_forming_press:machine/create
# place dropper
-setblock ~ ~ ~ dropper[facing=south]{CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.forming_press","fallback":"Forming Press"},[{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.forming_press","fallback":"Forming Press","font":"gm4:half_invert"},{"translate":"container.gm4.forming_press","fallback":"Forming Press","font":"gm4:offscreen"},{"translate":"gui.gm4.forming_press","fallback":"","font":"gm4:container_gui","color":"white"},{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.forming_press","fallback":"Forming Press","font":"gm4:half_invert"},{"translate":"container.gm4.forming_press","fallback":"Forming Press","font":"gm4:default","color":"#404040"}]]}'}
+setblock ~ ~ ~ dropper[facing=south]{CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.forming_press","fallback":"Forming Press"},[{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.forming_press","fallback":"Forming Press","font":"gm4:half_invert"},{"translate":"container.gm4.forming_press","fallback":"Forming Press","font":"gm4:offscreen"},{"translate":"gui.gm4.forming_press","fallback":"","font":"gm4:container_gui","color":"white"},{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.forming_press","fallback":"Forming Press","font":"gm4:half_invert"},{"translate":"container.gm4.forming_press","fallback":"Forming Press","font":"gm4:default","color":"#404040"}]]}}
# summon display armor stand and marker entity
-summon armor_stand ~ ~-0.4 ~ {NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_forming_press_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:'"gm4_forming_press_stand"',ArmorItems:[{},{},{},{id:"minecraft:piston",count:1,components:{"minecraft:custom_model_data":"block/forming_press_side"}}],Pose:{Head:[180f,0f,0f]},Rotation:[0.0f,0.0f]}
-summon marker ~ ~ ~ {Tags:["gm4_forming_press","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_forming_press"',Rotation:[0.0f,0.0f]}
+summon armor_stand ~ ~-0.4 ~ {NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_forming_press_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:"gm4_forming_press_stand",equipment:{head:{id:"minecraft:piston",count:1,components:{"minecraft:custom_model_data":"block/forming_press_side"}}},Pose:{Head:[180f,0f,0f]},Rotation:[0.0f,0.0f]}
+summon marker ~ ~ ~ {Tags:["gm4_forming_press","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:"gm4_forming_press",Rotation:[0.0f,0.0f]}
diff --git a/gm4_forming_press/data/gm4_forming_press/function/machine/rotate/up.mcfunction b/gm4_forming_press/data/gm4_forming_press/function/machine/rotate/up.mcfunction
index 64c06a5fa9..de47528d36 100644
--- a/gm4_forming_press/data/gm4_forming_press/function/machine/rotate/up.mcfunction
+++ b/gm4_forming_press/data/gm4_forming_press/function/machine/rotate/up.mcfunction
@@ -4,8 +4,8 @@
# run from gm4_forming_press:machine/create
# place dropper
-setblock ~ ~ ~ dropper[facing=up]{CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.forming_press","fallback":"Forming Press"},[{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.forming_press","fallback":"Forming Press","font":"gm4:half_invert"},{"translate":"container.gm4.forming_press","fallback":"Forming Press","font":"gm4:offscreen"},{"translate":"gui.gm4.forming_press","fallback":"","font":"gm4:container_gui","color":"white"},{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.forming_press","fallback":"Forming Press","font":"gm4:half_invert"},{"translate":"container.gm4.forming_press","fallback":"Forming Press","font":"gm4:default","color":"#404040"}]]}'}
+setblock ~ ~ ~ dropper[facing=up]{CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.forming_press","fallback":"Forming Press"},[{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.forming_press","fallback":"Forming Press","font":"gm4:half_invert"},{"translate":"container.gm4.forming_press","fallback":"Forming Press","font":"gm4:offscreen"},{"translate":"gui.gm4.forming_press","fallback":"","font":"gm4:container_gui","color":"white"},{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.forming_press","fallback":"Forming Press","font":"gm4:half_invert"},{"translate":"container.gm4.forming_press","fallback":"Forming Press","font":"gm4:default","color":"#404040"}]]}}
# summon display armor stand and marker entity
-summon armor_stand ~ ~-0.4 ~ {NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_forming_press_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:'"gm4_forming_press_stand"',ArmorItems:[{},{},{},{id:"minecraft:piston",count:1,components:{"minecraft:custom_model_data":"block/forming_press"}}],Pose:{Head:[180f,0f,0f]},Rotation:[0.0f,0.0f]}
-summon marker ~ ~ ~ {Tags:["gm4_forming_press","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_forming_press"',Rotation:[0.0f,0.0f]}
+summon armor_stand ~ ~-0.4 ~ {NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_forming_press_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:"gm4_forming_press_stand",equipment:{head:{id:"minecraft:piston",count:1,components:{"minecraft:custom_model_data":"block/forming_press"}}},Pose:{Head:[180f,0f,0f]},Rotation:[0.0f,0.0f]}
+summon marker ~ ~ ~ {Tags:["gm4_forming_press","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:"gm4_forming_press",Rotation:[0.0f,0.0f]}
diff --git a/gm4_forming_press/data/gm4_forming_press/function/machine/rotate/west.mcfunction b/gm4_forming_press/data/gm4_forming_press/function/machine/rotate/west.mcfunction
index 4439a055be..c034f3901d 100644
--- a/gm4_forming_press/data/gm4_forming_press/function/machine/rotate/west.mcfunction
+++ b/gm4_forming_press/data/gm4_forming_press/function/machine/rotate/west.mcfunction
@@ -4,8 +4,8 @@
# run from gm4_forming_press:machine/create
# place dropper
-setblock ~ ~ ~ dropper[facing=west]{CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.forming_press","fallback":"Forming Press"},[{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.forming_press","fallback":"Forming Press","font":"gm4:half_invert"},{"translate":"container.gm4.forming_press","fallback":"Forming Press","font":"gm4:offscreen"},{"translate":"gui.gm4.forming_press","fallback":"","font":"gm4:container_gui","color":"white"},{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.forming_press","fallback":"Forming Press","font":"gm4:half_invert"},{"translate":"container.gm4.forming_press","fallback":"Forming Press","font":"gm4:default","color":"#404040"}]]}'}
+setblock ~ ~ ~ dropper[facing=west]{CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.forming_press","fallback":"Forming Press"},[{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.forming_press","fallback":"Forming Press","font":"gm4:half_invert"},{"translate":"container.gm4.forming_press","fallback":"Forming Press","font":"gm4:offscreen"},{"translate":"gui.gm4.forming_press","fallback":"","font":"gm4:container_gui","color":"white"},{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.forming_press","fallback":"Forming Press","font":"gm4:half_invert"},{"translate":"container.gm4.forming_press","fallback":"Forming Press","font":"gm4:default","color":"#404040"}]]}}
# summon display armor stand and marker entity
-summon armor_stand ~ ~-0.4 ~ {NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_forming_press_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:'"gm4_forming_press_stand"',ArmorItems:[{},{},{},{id:"minecraft:piston",count:1,components:{"minecraft:custom_model_data":"block/forming_press_side"}}],Pose:{Head:[180f,0f,0f]},Rotation:[90.0f,0.0f]}
-summon marker ~ ~ ~ {Tags:["gm4_forming_press","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_forming_press"',Rotation:[90.0f,0.0f]}
+summon armor_stand ~ ~-0.4 ~ {NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_forming_press_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:"gm4_forming_press_stand",equipment:{head:{id:"minecraft:piston",count:1,components:{"minecraft:custom_model_data":"block/forming_press_side"}}},Pose:{Head:[180f,0f,0f]},Rotation:[90.0f,0.0f]}
+summon marker ~ ~ ~ {Tags:["gm4_forming_press","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:"gm4_forming_press",Rotation:[90.0f,0.0f]}
diff --git a/gm4_forming_press/data/gm4_forming_press/function/recipes/brick_recipes.mcfunction b/gm4_forming_press/data/gm4_forming_press/function/recipes/brick_recipes.mcfunction
index c718275a0b..2803d55d4c 100644
--- a/gm4_forming_press/data/gm4_forming_press/function/recipes/brick_recipes.mcfunction
+++ b/gm4_forming_press/data/gm4_forming_press/function/recipes/brick_recipes.mcfunction
@@ -36,3 +36,6 @@ execute if score $crafted gm4_crafting matches 0 store success score $crafted gm
# tuff bricks
execute if score $crafted gm4_crafting matches 0 store success score $crafted gm4_crafting if score $stack_size gm4_crafting matches ..4 if data storage gm4_forming_press:temp/crafter {Items:[{Slot:0b,id:"minecraft:tuff"},{Slot:1b,id:"minecraft:tuff"},{Slot:2b,id:"minecraft:tuff"},{Slot:3b,id:"minecraft:tuff"},{Slot:4b,id:"minecraft:clay_ball"},{Slot:5b,id:"minecraft:tuff"},{Slot:6b,id:"minecraft:tuff"},{Slot:7b,id:"minecraft:tuff"},{Slot:8b,id:"minecraft:tuff"}]} run loot replace block ~ ~ ~ container.0 loot gm4_forming_press:crafting/tuff_bricks
+
+# resin bricks
+execute if score $crafted gm4_crafting matches 0 store success score $crafted gm4_crafting if score $stack_size gm4_crafting matches ..4 if data storage gm4_forming_press:temp/crafter {Items:[{Slot:0b,id:"minecraft:resin_clump"},{Slot:1b,id:"minecraft:resin_clump"},{Slot:2b,id:"minecraft:resin_clump"},{Slot:3b,id:"minecraft:resin_clump"},{Slot:4b,id:"minecraft:clay_ball"},{Slot:5b,id:"minecraft:resin_clump"},{Slot:6b,id:"minecraft:resin_clump"},{Slot:7b,id:"minecraft:resin_clump"},{Slot:8b,id:"minecraft:resin_clump"}]} run loot replace block ~ ~ ~ container.0 loot gm4_forming_press:crafting/resin_bricks
diff --git a/gm4_forming_press/data/gm4_forming_press/function/relocate/set_pick_up_data.mcfunction b/gm4_forming_press/data/gm4_forming_press/function/relocate/set_pick_up_data.mcfunction
index 4f82216580..d0285a0409 100644
--- a/gm4_forming_press/data/gm4_forming_press/function/relocate/set_pick_up_data.mcfunction
+++ b/gm4_forming_press/data/gm4_forming_press/function/relocate/set_pick_up_data.mcfunction
@@ -3,9 +3,9 @@
# located at the center of the block to be picked up
# run from gm4_forming_press:relocate/pick_up_check
-data modify storage gm4_relocators:temp merge_data set value {custom_block:"gm4_forming_press",lore:'{"translate":"block.gm4.forming_press","fallback":"Forming Press","color":"gray","italic":true}'}
+data modify storage gm4_relocators:temp merge_data set value {custom_block:"gm4_forming_press",lore:{"translate":"block.gm4.forming_press","fallback":"Forming Press","color":"gray","italic":true}}
data modify storage gm4_relocators:temp merge_data.entity_data.Rotation set from entity @s Rotation
-data modify storage gm4_relocators:temp merge_data.entity_data.ArmorItems set from entity @e[type=armor_stand,tag=gm4_forming_press_stand,distance=..0.5,limit=1] ArmorItems
+data modify storage gm4_relocators:temp merge_data.entity_data.equipment set from entity @e[type=armor_stand,tag=gm4_forming_press_stand,distance=..0.5,limit=1] equipment
execute positioned ~ ~-0.4 ~ run kill @e[type=armor_stand,tag=gm4_forming_press_stand,limit=1,distance=..0.01]
kill @s
diff --git a/gm4_forming_press/data/gm4_forming_press/function/relocate/summon_block_markers.mcfunction b/gm4_forming_press/data/gm4_forming_press/function/relocate/summon_block_markers.mcfunction
index 72e648bb52..2a2ce57430 100644
--- a/gm4_forming_press/data/gm4_forming_press/function/relocate/summon_block_markers.mcfunction
+++ b/gm4_forming_press/data/gm4_forming_press/function/relocate/summon_block_markers.mcfunction
@@ -5,11 +5,11 @@
scoreboard players set $placed_block gm4_rl_data 1
-summon armor_stand ~ ~-0.4 ~ {NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_forming_press_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:'"gm4_forming_press_stand"',ArmorItems:[{},{},{},{id:"minecraft:piston",count:1,components:{"minecraft:custom_model_data":"block/forming_press"}}],Pose:{Head:[180f,0f,0f]},Rotation:[0.0f,0.0f]}
-summon marker ~ ~ ~ {Tags:["gm4_forming_press","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_forming_press"',Rotation:[0.0f,0.0f]}
+summon armor_stand ~ ~-0.4 ~ {NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_forming_press_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:"gm4_forming_press_stand",equipment:{head:{id:"minecraft:piston",count:1,components:{"minecraft:custom_model_data":"block/forming_press"}}},Pose:{Head:[180f,0f,0f]},Rotation:[0.0f,0.0f]}
+summon marker ~ ~ ~ {Tags:["gm4_forming_press","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:"gm4_forming_press",Rotation:[0.0f,0.0f]}
execute as @e[tag=gm4_new_machine,distance=..2] run data modify entity @s Rotation set from storage gm4_relocators:temp gm4_relocation.entity_data.Rotation
execute as @e[tag=gm4_new_machine,distance=..2] at @s rotated as @e[type=marker,tag=gm4_new_machine,distance=..2,limit=1] run tp ~ ~ ~
-execute as @e[type=armor_stand,tag=gm4_new_machine,distance=..2] run data modify entity @s ArmorItems set from storage gm4_relocators:temp gm4_relocation.entity_data.ArmorItems
+execute as @e[type=armor_stand,tag=gm4_new_machine,distance=..2] run data modify entity @s equipment set from storage gm4_relocators:temp gm4_relocation.entity_data.equipment
scoreboard players set @e[distance=..2,tag=gm4_new_machine] gm4_entity_version 1
tag @e[distance=..2] remove gm4_new_machine
diff --git a/gm4_forming_press/data/gm4_forming_press/guidebook/forming_press.json b/gm4_forming_press/data/gm4_forming_press/guidebook/forming_press.json
index 0712aec2f4..a33ffd6e12 100644
--- a/gm4_forming_press/data/gm4_forming_press/guidebook/forming_press.json
+++ b/gm4_forming_press/data/gm4_forming_press/guidebook/forming_press.json
@@ -36,7 +36,7 @@
"blocks": [
"minecraft:dropper"
],
- "nbt": "{CustomName:'{\"translate\":\"gm4.second\",\"fallback\":\"%1$s\",\"with\":[{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\"},{\"text\":\" \",\"extra\":[{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:offscreen\"},{\"translate\":\"gui.gm4.custom_crafter\",\"fallback\":\"\",\"font\":\"gm4:container_gui\",\"color\":\"white\"},{\"text\":\" \",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:default\",\"color\":\"#404040\"}],\"font\":\"gm4:half_invert\"}]}'}"
+ "nbt": "{CustomName:{\"translate\":\"gm4.second\",\"fallback\":\"%1$s\",\"with\":[{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\"},{\"text\":\" \",\"extra\":[{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:offscreen\"},{\"translate\":\"gui.gm4.custom_crafter\",\"fallback\":\"\",\"font\":\"gm4:container_gui\",\"color\":\"white\"},{\"text\":\" \",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:default\",\"color\":\"#404040\"}],\"font\":\"gm4:half_invert\"}]}}"
}
}
}
@@ -78,7 +78,7 @@
"blocks": [
"minecraft:dropper"
],
- "nbt": "{CustomName:'{\"translate\":\"gm4.second\",\"fallback\":\"%1$s\",\"with\":[{\"translate\":\"container.gm4.forming_press\",\"fallback\":\"Forming Press\"},{\"text\":\" \",\"extra\":[{\"translate\":\"container.gm4.forming_press\",\"fallback\":\"Forming Press\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.forming_press\",\"fallback\":\"Forming Press\",\"font\":\"gm4:offscreen\"},{\"translate\":\"gui.gm4.forming_press\",\"fallback\":\"\",\"font\":\"gm4:container_gui\",\"color\":\"white\"},{\"text\":\" \",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.forming_press\",\"fallback\":\"Forming Press\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.forming_press\",\"fallback\":\"Forming Press\",\"font\":\"gm4:default\",\"color\":\"#404040\"}],\"font\":\"gm4:half_invert\"}]}'}"
+ "nbt": "{CustomName:{\"translate\":\"gm4.second\",\"fallback\":\"%1$s\",\"with\":[{\"translate\":\"container.gm4.forming_press\",\"fallback\":\"Forming Press\"},{\"text\":\" \",\"extra\":[{\"translate\":\"container.gm4.forming_press\",\"fallback\":\"Forming Press\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.forming_press\",\"fallback\":\"Forming Press\",\"font\":\"gm4:offscreen\"},{\"translate\":\"gui.gm4.forming_press\",\"fallback\":\"\",\"font\":\"gm4:container_gui\",\"color\":\"white\"},{\"text\":\" \",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.forming_press\",\"fallback\":\"Forming Press\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.forming_press\",\"fallback\":\"Forming Press\",\"font\":\"gm4:default\",\"color\":\"#404040\"}],\"font\":\"gm4:half_invert\"}]}}"
}
}
}
diff --git a/gm4_forming_press/data/gm4_forming_press/loot_table/crafting/resin_bricks.json b/gm4_forming_press/data/gm4_forming_press/loot_table/crafting/resin_bricks.json
new file mode 100644
index 0000000000..8f4e52909d
--- /dev/null
+++ b/gm4_forming_press/data/gm4_forming_press/loot_table/crafting/resin_bricks.json
@@ -0,0 +1,29 @@
+{
+ "type": "minecraft:generic",
+ "pools": [
+ {
+ "rolls": 8,
+ "entries": [
+ {
+ "type": "minecraft:loot_table",
+ "value": "gm4:air"
+ }
+ ]
+ },
+ {
+ "rolls": 1,
+ "entries": [
+ {
+ "type": "minecraft:item",
+ "name": "minecraft:resin_brick",
+ "functions": [
+ {
+ "function": "minecraft:set_count",
+ "count": 16
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/gm4_forming_press/data/gm4_forming_press/recipe/forming_press.json b/gm4_forming_press/data/gm4_forming_press/recipe/forming_press.json
index b2514dd8ed..a37912b417 100644
--- a/gm4_forming_press/data/gm4_forming_press/recipe/forming_press.json
+++ b/gm4_forming_press/data/gm4_forming_press/recipe/forming_press.json
@@ -18,7 +18,7 @@
"minecraft:custom_model_data": "item/forming_press",
"minecraft:profile": "$forming_press",
"minecraft:custom_data": "{gm4_machines:{id:'forming_press'}}",
- "minecraft:custom_name": "{\"translate\":\"block.gm4.forming_press\",\"fallback\":\"Forming Press\",\"color\":\"white\",\"italic\":false}"
+ "minecraft:custom_name": {"translate":"block.gm4.forming_press","fallback":"Forming Press","color":"white","italic":false}
}
}
}
diff --git a/gm4_fulcio_shamir/assets/translations.csv b/gm4_fulcio_shamir/assets/translations.csv
index bcfea25b73..d92e096291 100644
--- a/gm4_fulcio_shamir/assets/translations.csv
+++ b/gm4_fulcio_shamir/assets/translations.csv
@@ -1,5 +1,5 @@
key,en_us
-item.gm4.shamir.fulcio,Fulcio
+item.gm4.shamir.fulcio,Fulcio Shamir
text.gm4.guidebook.module_desc.fulcio_shamir,Adds the shamir 'Fulcio' to Metallurgy. It allows you to place blocks in mid-air! This also enables you to choose the orientation of blocks like logs without needing a supporting block.
text.gm4.guidebook.fulcio_shamir.description,"Fulcio changes block placement. While sneaking, blocks can be placed in mid-air."
text.gm4.guidebook.fulcio_shamir.usage,The Fulcio Shamir is found on Barimium Bands. It can be placed onto compasses.\n\nHolding the tool and sneaking will create a temporary space where blocks can be placed.
diff --git a/gm4_fulcio_shamir/beet.yaml b/gm4_fulcio_shamir/beet.yaml
index a99b428250..9985aa036e 100644
--- a/gm4_fulcio_shamir/beet.yaml
+++ b/gm4_fulcio_shamir/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_fulcio_shamir
name: Fulcio Shamir
-version: 1.4.X
+version: 1.5.X
data_pack:
load: .
@@ -16,7 +16,7 @@ meta:
gm4:
versioning:
required:
- gm4_metallurgy: 1.4.0
+ gm4_metallurgy: 1.5.0
schedule_loops:
- main
- 4_tick
diff --git a/gm4_fulcio_shamir/data/gm4_fulcio_shamir/function/create_block.mcfunction b/gm4_fulcio_shamir/data/gm4_fulcio_shamir/function/create_block.mcfunction
index ee72baa5e6..5f133ddf56 100644
--- a/gm4_fulcio_shamir/data/gm4_fulcio_shamir/function/create_block.mcfunction
+++ b/gm4_fulcio_shamir/data/gm4_fulcio_shamir/function/create_block.mcfunction
@@ -2,4 +2,4 @@
#@s = players holding a fulcio compass and looking at air positioned ^ ^ ^3 align xyz
setblock ~ ~ ~ structure_void keep
-summon marker ~0.5 ~0.5 ~0.5 {CustomName:'"gm4_fulcio_block"',Tags:["gm4_fulcio_block"]}
+summon marker ~0.5 ~0.5 ~0.5 {CustomName:"gm4_fulcio_block",Tags:["gm4_fulcio_block"]}
diff --git a/gm4_fulcio_shamir/data/gm4_fulcio_shamir/loot_table/band.json b/gm4_fulcio_shamir/data/gm4_fulcio_shamir/loot_table/band.json
index 24a6949090..0a3a2f98ab 100644
--- a/gm4_fulcio_shamir/data/gm4_fulcio_shamir/loot_table/band.json
+++ b/gm4_fulcio_shamir/data/gm4_fulcio_shamir/loot_table/band.json
@@ -23,7 +23,7 @@
"lore": [
{
"translate": "item.gm4.shamir.fulcio",
- "fallback": "Fulcio",
+ "fallback": "Fulcio Shamir",
"italic": false,
"color": "gray"
}
diff --git a/gm4_guidebook/assets/gm4/font/vanilla_items.json b/gm4_guidebook/assets/gm4/font/vanilla_items.json
index 706bafbf05..6af758e542 100644
--- a/gm4_guidebook/assets/gm4/font/vanilla_items.json
+++ b/gm4_guidebook/assets/gm4/font/vanilla_items.json
@@ -398,7 +398,7 @@
},
{
"type": "bitmap",
- "file": "minecraft:item/broken_elytra.png",
+ "file": "minecraft:item/elytra_broken.png",
"ascent": -32768,
"height": -16,
"chars": [
@@ -3393,24 +3393,6 @@
"\u0a7d"
]
},
- {
- "type": "bitmap",
- "file": "minecraft:item/spawn_egg.png",
- "ascent": -32768,
- "height": -16,
- "chars": [
- "\u0a7e"
- ]
- },
- {
- "type": "bitmap",
- "file": "minecraft:item/spawn_egg_overlay.png",
- "ascent": -32768,
- "height": -16,
- "chars": [
- "\u0a7f"
- ]
- },
{
"type": "bitmap",
"file": "minecraft:item/spectral_arrow.png",
@@ -4402,7 +4384,7 @@
},
{
"type": "bitmap",
- "file": "minecraft:item/broken_elytra.png",
+ "file": "minecraft:item/elytra_broken.png",
"ascent": 8,
"height": 16,
"chars": [
@@ -7397,24 +7379,6 @@
"\u0f0c"
]
},
- {
- "type": "bitmap",
- "file": "minecraft:item/spawn_egg.png",
- "ascent": 8,
- "height": 16,
- "chars": [
- "\u0f0d"
- ]
- },
- {
- "type": "bitmap",
- "file": "minecraft:item/spawn_egg_overlay.png",
- "ascent": 8,
- "height": 16,
- "chars": [
- "\u0f0e"
- ]
- },
{
"type": "bitmap",
"file": "minecraft:item/spectral_arrow.png",
diff --git a/gm4_guidebook/assets/gm4_guidebook/lang/en_us.json b/gm4_guidebook/assets/gm4_guidebook/lang/en_us.json
index 583b76cf73..21e217cbfe 100644
--- a/gm4_guidebook/assets/gm4_guidebook/lang/en_us.json
+++ b/gm4_guidebook/assets/gm4_guidebook/lang/en_us.json
@@ -1176,8 +1176,6 @@
"gui.gm4.guidebook.crafting.display.minecraft.soul_campfire": "\u0f0a\u0a7b\uf015",
"gui.gm4.guidebook.crafting.display.minecraft.soul_lantern": "\u0f0b\u0a7c\uf015",
"gui.gm4.guidebook.crafting.display.minecraft.soul_torch": "\u0f0c\u0a7d\uf015",
- "gui.gm4.guidebook.crafting.display.minecraft.spawn_egg": "\u0f0d\u0a7e\uf015",
- "gui.gm4.guidebook.crafting.display.overlay.minecraft.spawn_egg": "\uffff\ue018\u0f0e\u0a7f\uf015",
"gui.gm4.guidebook.crafting.display.minecraft.spectral_arrow": "\u0f0f\u0a80\uf015",
"gui.gm4.guidebook.crafting.display.minecraft.spider_eye": "\u0f10\u0a81\uf015",
"gui.gm4.guidebook.crafting.display.minecraft.splash_potion": "\u0f11\u0a82\uf015",
diff --git a/gm4_guidebook/backport_42/assets/gm4/font/vanilla_items.json b/gm4_guidebook/backport_42/assets/gm4/font/vanilla_items.json
new file mode 100644
index 0000000000..706bafbf05
--- /dev/null
+++ b/gm4_guidebook/backport_42/assets/gm4/font/vanilla_items.json
@@ -0,0 +1,7978 @@
+{
+ "providers": [
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/acacia_boat.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0903"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/acacia_door.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0904"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/acacia_sapling.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0905"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/acacia_sign.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0906"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/activator_rail.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0907"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/allium.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0908"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/amethyst_cluster.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0909"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/amethyst_shard.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u090a"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/apple.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u090b"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/armor_stand.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u090c"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/arrow.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u090d"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/axolotl_bucket.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u090e"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/azure_bluet.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u090f"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/baked_potato.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0910"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/bamboo.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0911"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/barrier.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0912"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/beef.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0913"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/beetroot.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0914"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/beetroot_seeds.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0915"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/beetroot_soup.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0916"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/bell.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0917"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/birch_boat.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0916"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/birch_door.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0919"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/birch_sapling.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u091a"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/birch_sign.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u091b"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/black_candle.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u091c"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/black_dye.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u091d"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/black_stained_glass.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u091e"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/blaze_powder.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u091f"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/blaze_rod.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0920"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/blue_candle.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0921"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/blue_dye.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0922"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/blue_orchid.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0923"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/blue_stained_glass.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0924"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/bone.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0925"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/bone_meal.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0926"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/book.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0927"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/bow.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0928"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/bowl.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0929"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/brain_coral.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u092a"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/brain_coral_fan.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u092b"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/bread.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u092c"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/brewing_stand.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u092d"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/brick.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u092e"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/broken_elytra.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u092f"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/brown_candle.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0930"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/brown_dye.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0931"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/brown_mushroom.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0932"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/brown_stained_glass.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0933"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/bubble_coral.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0934"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/bubble_coral_fan.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0935"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/bucket.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0936"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/bundle.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0937"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/cake.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0939"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/campfire.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u093a"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/candle.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u093b"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/carrot.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u093c"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/carrot_on_a_stick.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u093d"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/cauldron.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u093e"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/chain.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u093f"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/chainmail_boots.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0940"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/chainmail_chestplate.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0941"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/chainmail_helmet.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0942"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/chainmail_leggings.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0943"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/charcoal.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0944"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/chest_minecart.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0945"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/chicken.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0946"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/chorus_fruit.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0947"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/clay_ball.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0948"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/clock_00.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0949"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/coal.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u094a"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/cobweb.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u094b"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/cocoa_beans.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u094c"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/cod.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u094d"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/cod_bucket.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u094e"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/command_block_minecart.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u094f"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/comparator.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0950"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/compass_16.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0951"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/cooked_beef.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0952"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/cooked_chicken.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0953"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/cooked_cod.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0954"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/cooked_mutton.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0955"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/cooked_porkchop.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0956"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/cooked_rabbit.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0957"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/cooked_salmon.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0958"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/cookie.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0959"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/copper_ingot.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u095a"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/cornflower.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u095b"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/creeper_banner_pattern.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u095c"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/crimson_door.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u095d"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/crimson_fungus.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u095e"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/crimson_roots.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u095f"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/crimson_sign.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0960"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/crossbow_standby.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0961"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/crossbow_arrow.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0962"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/crossbow_firework.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0963"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/cyan_candle.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0964"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/cyan_dye.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0965"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/cyan_stained_glass.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0966"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/dandelion.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0967"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/dark_oak_boat.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0968"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/dark_oak_door.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0969"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/dark_oak_sapling.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u096a"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/dark_oak_sign.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u096b"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/dead_brain_coral.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u096c"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/dead_brain_coral_fan.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u096d"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/dead_bubble_coral.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u096e"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/dead_bubble_coral_fan.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u096f"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/dead_bush.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0970"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/dead_fire_coral.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0971"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/dead_fire_coral_fan.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0972"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/dead_horn_coral.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0973"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/dead_horn_coral_fan.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0974"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/dead_tube_coral.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0975"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/dead_tube_coral_fan.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0976"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/detector_rail.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0977"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/diamond.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0978"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/diamond_axe.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0979"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/diamond_boots.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u097a"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/diamond_chestplate.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u097b"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/diamond_helmet.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u097c"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/diamond_hoe.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u097d"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/diamond_horse_armor.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u097e"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/diamond_leggings.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u097f"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/diamond_pickaxe.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0980"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/diamond_shovel.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0981"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/diamond_sword.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0982"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/dragon_breath.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0983"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/dried_kelp.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0984"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/egg.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0985"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/elytra.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0986"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/emerald.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0987"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/enchanted_book.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0988"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/end_crystal.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0989"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/ender_eye.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u098a"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/ender_pearl.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u098b"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/experience_bottle.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u098c"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/feather.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u098d"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/fermented_spider_eye.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u098e"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/fern.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u098f"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/filled_map.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0990"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/filled_map_markings.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0991"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/fire_charge.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0992"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/fire_coral.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0993"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/fire_coral_fan.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0994"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/firework_rocket.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0995"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/firework_star.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0996"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/firework_star_overlay.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0997"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/fishing_rod.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0998"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/flint.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0999"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/flint_and_steel.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u099a"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/flower_banner_pattern.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u099b"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/flower_pot.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u099c"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/furnace_minecart.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u099d"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/ghast_tear.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u099e"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/glass_bottle.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u099f"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/glass.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09a0"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/glistering_melon_slice.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09a1"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/globe_banner_pattern.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09a2"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/glow_berries.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09a3"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/glow_ink_sac.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09a4"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/glow_item_frame.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09a5"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/glow_lichen.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09a6"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/glowstone_dust.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09a7"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/gold_ingot.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09a8"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/gold_nugget.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09a9"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/golden_apple.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09aa"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/golden_axe.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09ab"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/golden_boots.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09ac"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/golden_carrot.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09ad"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/golden_chestplate.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09ae"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/golden_helmet.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09af"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/golden_hoe.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09b0"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/golden_horse_armor.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09b1"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/golden_leggings.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09b2"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/golden_pickaxe.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09b3"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/golden_shovel.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09b4"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/golden_sword.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09b5"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/gray_candle.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09b7"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/gray_dye.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09b8"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/gray_stained_glass.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09b9"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/green_candle.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09ba"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/green_dye.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09bb"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/green_stained_glass.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09bc"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/gunpowder.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09bd"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/hanging_roots.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09be"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/heart_of_the_sea.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09bf"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/honey_bottle.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09c0"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/honeycomb.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09c1"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/hopper.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09c2"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/hopper_minecart.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09c3"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/horn_coral.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09c4"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/horn_coral_fan.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09c5"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/ink_sac.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09c6"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/iron_axe.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09c7"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/iron_bars.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09c8"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/iron_boots.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09c9"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/iron_chestplate.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09ca"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/iron_door.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09cb"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/iron_helmet.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09cc"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/iron_hoe.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09cd"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/iron_horse_armor.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09ce"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/iron_ingot.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09cf"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/iron_leggings.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09d0"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/iron_nugget.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09d1"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/iron_pickaxe.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09d2"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/iron_shovel.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09d3"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/iron_sword.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09d4"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/item_frame.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09d5"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/jungle_boat.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09d6"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/jungle_door.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09d7"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/jungle_sapling.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09d8"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/jungle_sign.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09d9"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/kelp.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09da"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/knowledge_book.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09db"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/ladder.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09dc"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/lantern.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09dd"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/lapis_lazuli.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09de"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/large_amethyst_bud.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09df"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/large_fern_top.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09e0"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/lava_bucket.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09e1"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/lead.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09e2"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/leather.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09e3"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/leather_boots.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09e4"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/leather_boots_overlay.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09e5"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/leather_chestplate.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09e6"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/leather_chestplate_overlay.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09e7"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/leather_helmet.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09e8"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/leather_helmet_overlay.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09e9"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/leather_horse_armor.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09ea"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/leather_leggings.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09eb"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/leather_leggings_overlay.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09ec"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/lever.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09ed"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/light.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09ee"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/light_00.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09ef"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/light_01.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09f0"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/light_02.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09f1"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/light_03.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09f2"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/light_04.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09f3"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/light_05.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09f4"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/light_06.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09f5"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/light_07.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09f6"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/light_08.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09f7"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/light_09.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09f8"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/light_10.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09f9"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/light_11.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09fa"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/light_12.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09fb"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/light_13.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09fc"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/light_14.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09fd"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/light_15.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09fe"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/light_blue_candle.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u09ff"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/light_blue_dye.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a00"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/light_blue_stained_glass.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a01"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/light_gray_candle.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a02"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/light_gray_dye.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a03"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/light_gray_stained_glass.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a04"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/lilac_top.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a05"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/lily_of_the_valley.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a06"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/lily_pad.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a07"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/lime_candle.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a08"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/lime_dye.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a09"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/lime_stained_glass.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a0a"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/lingering_potion.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a0b"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/magenta_candle.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a0c"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/magenta_dye.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a0d"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/magenta_stained_glass.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a0e"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/magma_cream.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a0f"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/map.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a10"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/medium_amethyst_bud.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a11"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/melon_seeds.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a12"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/melon_slice.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a13"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/milk_bucket.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a14"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/minecart.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a15"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/mojang_banner_pattern.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a16"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/mushroom_stew.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a17"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/music_disc_11.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a16"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/music_disc_13.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a19"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/music_disc_blocks.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a1a"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/music_disc_cat.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a1b"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/music_disc_chirp.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a1c"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/music_disc_far.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a1d"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/music_disc_mall.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a1e"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/music_disc_mellohi.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a1f"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/music_disc_pigstep.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a20"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/music_disc_stal.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a21"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/music_disc_strad.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a22"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/music_disc_wait.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a23"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/music_disc_ward.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a24"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/mutton.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a25"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/name_tag.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a26"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/nautilus_shell.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a27"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/nether_brick.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a28"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/nether_sprouts.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a29"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/nether_star.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a2a"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/nether_wart.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a2b"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/netherite_axe.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a2c"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/netherite_boots.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a2d"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/netherite_chestplate.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a2e"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/netherite_helmet.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a2f"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/netherite_hoe.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a30"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/netherite_ingot.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a31"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/netherite_leggings.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a32"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/netherite_pickaxe.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a33"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/netherite_scrap.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a34"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/netherite_shovel.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a35"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/netherite_sword.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a36"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/oak_boat.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a37"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/oak_door.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a38"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/oak_sapling.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a39"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/oak_sign.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a3a"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/orange_candle.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a3b"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/orange_dye.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a3c"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/orange_stained_glass.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a3d"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/orange_tulip.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a3e"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/oxeye_daisy.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a3f"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/painting.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a40"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/paper.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a41"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/peony_top.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a42"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/phantom_membrane.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a43"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/piglin_banner_pattern.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a44"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/pink_candle.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a45"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/pink_dye.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a46"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/pink_stained_glass.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a47"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/pink_tulip.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a48"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/pointed_dripstone.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a49"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/poisonous_potato.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a4a"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/popped_chorus_fruit.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a4b"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/poppy.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a4c"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/porkchop.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a4d"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/potato.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a4e"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/potion.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a4f"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/potion_overlay.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a50"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/powder_snow_bucket.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a51"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/powered_rail.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a52"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/prismarine_crystals.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a53"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/prismarine_shard.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a54"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/pufferfish.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a55"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/pufferfish_bucket.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a56"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/pumpkin_pie.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a57"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/pumpkin_seeds.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a58"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/purple_candle.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a59"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/purple_dye.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a5a"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/purple_stained_glass.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a5b"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/quartz.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a5c"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/rabbit.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a5d"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/rabbit_foot.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a5e"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/rabbit_hide.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a5f"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/rabbit_stew.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a60"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/rail.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a61"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/raw_copper.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a62"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/raw_gold.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a63"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/raw_iron.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a64"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/red_candle.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a65"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/red_dye.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a66"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/red_mushroom.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a67"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/red_stained_glass.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a68"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/red_tulip.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a69"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/redstone.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a6a"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/redstone_torch.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a6b"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/repeater.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a6c"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/rose_bush_top.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a6d"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/rotten_flesh.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a6e"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/saddle.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a6f"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/salmon.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a70"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/salmon_bucket.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a71"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/turtle_scute.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a72"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/sea_pickle.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a73"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/seagrass.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a74"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/shears.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a75"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/shulker_shell.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a76"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/skull_banner_pattern.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a77"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/slime_ball.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a78"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/small_amethyst_bud.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a79"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/snowball.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a7a"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/soul_campfire.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a7b"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/soul_lantern.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a7c"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/soul_torch.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a7d"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/spawn_egg.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a7e"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/spawn_egg_overlay.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a7f"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/spectral_arrow.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a80"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/spider_eye.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a81"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/splash_potion.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a82"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/spruce_boat.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a83"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/spruce_door.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a84"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/spruce_sapling.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a85"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/spruce_sign.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a86"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/spyglass.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a87"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/stick.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a88"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/stone_axe.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a89"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/stone_hoe.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a8a"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/stone_pickaxe.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a8b"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/stone_shovel.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a8c"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/stone_sword.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a8d"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/string.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a8e"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/structure_void.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a8f"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/sugar.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a90"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/sugar_cane.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a91"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/sunflower_front.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a92"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/suspicious_stew.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a93"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/sweet_berries.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a94"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/tall_grass_top.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a95"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/tipped_arrow_base.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a96"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/tipped_arrow_base.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a97"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/tipped_arrow_head.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a98"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/tnt_minecart.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a99"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/torch.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a9a"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/totem_of_undying.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a9b"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/trident.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a9c"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/tripwire_hook.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a9d"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/tropical_fish.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a9e"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/tropical_fish_bucket.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0a9f"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/tube_coral.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0aa0"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/tube_coral_fan.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0aa1"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/turtle_egg.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0aa2"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/turtle_helmet.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0aa3"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/twisting_vines_plant.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0aa4"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/vine.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0aa5"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/warped_door.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0aa6"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/warped_fungus.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0aa7"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/warped_fungus_on_a_stick.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0aa8"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/warped_roots.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0aa9"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/warped_sign.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0aaa"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/water_bucket.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0aab"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/weeping_vines_plant.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0aac"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/wheat.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0aad"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/wheat_seeds.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0aae"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/white_candle.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0aaf"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/white_dye.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0ab0"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/white_stained_glass.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0ab1"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/white_tulip.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0ab2"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/wither_rose.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0ab3"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/wooden_axe.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0ab4"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/wooden_hoe.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0ab5"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/wooden_pickaxe.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0ab6"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/wooden_shovel.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0ab7"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/wooden_sword.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0ab8"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/writable_book.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0ab9"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/written_book.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0aba"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/yellow_candle.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0abb"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/yellow_dye.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0abc"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/yellow_stained_glass.png",
+ "ascent": -32768,
+ "height": -16,
+ "chars": [
+ "\u0abd"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "gm4_guidebook:font_magic/block_sheet.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0ad7\u0ad8\u0ad9\u0ada\u0adb\u0adc\u0add\u0ade\u0adf\u0ae0\u0ae1\u0ae2\u0ae3\u0ae4\u0ae5\u0ae6\u0ae7\u0ae8\u0ae9\u0aea\u0aeb\u0aec\u0aed\u0aee\u0aef\u0af0\u0af1",
+ "\u0af2\u0af3\u0af4\u0af5\u0af6\u0af7\u0af8\u0af9\u0afa\u0afb\u0afc\u0afd\u0afe\u0aff\u0b00\u0b01\u0b02\u0b03\u0b04\u0b05\u0b06\u0b07\u0b08\u0b09\u0b0a\u0b0b\u0b0c",
+ "\u0b0d\u0b0e\u0b0f\u0b10\u0b11\u0b12\u0b13\u0b14\u0b15\u0b16\u0b17\u0b18\u0b19\u0b1a\u0b1b\u0b1c\u0b1d\u0b1e\u0b1f\u0b20\u0b21\u0b22\u0b23\u0b24\u0b25\u0b26\u0b27",
+ "\u0b28\u0b29\u0b2a\u0b2b\u0b2c\u0b2d\u0b2e\u0b2f\u0b30\u0b31\u0b32\u0b33\u0b34\u0b35\u0b36\u0b37\u0b38\u0b39\u0b3a\u0b3b\u0b3c\u0b3d\u0b3e\u0b3f\u0b40\u0b41\u0b42",
+ "\u0b43\u0b44\u0b45\u0b46\u0b47\u0b48\u0b49\u0b4a\u0b4b\u0b4c\u0b4d\u0b4e\u0b4f\u0b50\u0b51\u0b52\u0b53\u0b54\u0b55\u0b56\u0b57\u0b58\u0b59\u0b5a\u0b5b\u0b5c\u0b5d",
+ "\u0b5e\u0b5f\u0b60\u0b61\u0b62\u0b63\u0b64\u0b65\u0b66\u0b67\u0b68\u0b69\u0b6a\u0b6b\u0b6c\u0b6d\u0b6e\u0b6f\u0b70\u0b71\u0b72\u0b73\u0b74\u0b75\u0b76\u0b77\u0b78",
+ "\u0b79\u0b7a\u0b7b\u0b7c\u0b7d\u0b7e\u0b7f\u0b80\u0b81\u0b82\u0b83\u0b84\u0b85\u0b86\u0b87\u0b88\u0b89\u0b8a\u0b8b\u0b8c\u0b8d\u0b8e\u0b8f\u0b90\u0b91\u0b92\u0b93",
+ "\u0b94\u0b95\u0b96\u0b97\u0b98\u0b99\u0b9a\u0b9b\u0b9c\u0b9d\u0b9e\u0b9f\u0ba0\u0ba1\u0ba2\u0ba3\u0ba4\u0ba5\u0ba6\u0ba7\u0ba8\u0ba9\u0baa\u0bab\u0bac\u0bad\u0bae",
+ "\u0baf\u0bb0\u0bb1\u0bb2\u0bb3\u0bb4\u0bb5\u0bb6\u0bb7\u0bb8\u0bb9\u0bba\u0bbb\u0bbc\u0bbd\u0bbe\u0bbf\u0bc0\u0bc1\u0bc2\u0bc3\u0bc4\u0bc5\u0bc6\u0bc7\u0bc8\u0bc9",
+ "\u0bca\u0bcb\u0bcc\u0bcd\u0bce\u0bcf\u0bd0\u0bd1\u0bd2\u0bd3\u0bd4\u0bd5\u0bd6\u0bd7\u0bd8\u0bd9\u0bda\u0bdb\u0bdc\u0bdd\u0bde\u0bdf\u0be0\u0be1\u0be2\u0be3\u0be4",
+ "\u0be5\u0be6\u0be7\u0be8\u0be9\u0bea\u0beb\u0bec\u0bed\u0bee\u0bef\u0bf0\u0bf1\u0bf2\u0bf3\u0bf4\u0bf5\u0bf6\u0bf7\u0bf8\u0bf9\u0bfa\u0bfb\u0bfc\u0bfd\u0bfe\u0bff",
+ "\u0c00\u0c01\u0c02\u0c03\u0c04\u0c05\u0c06\u0c07\u0c08\u0c09\u0c0a\u0c0b\u0c0c\u0c0d\u0c0e\u0c0f\u0c10\u0c11\u0c12\u0c13\u0c14\u0c15\u0c16\u0c17\u0c18\u0c19\u0c1a",
+ "\u0c1b\u0c1c\u0c1d\u0c1e\u0c1f\u0c20\u0c21\u0c22\u0c23\u0c24\u0c25\u0c26\u0c27\u0c28\u0c29\u0c2a\u0c2b\u0c2c\u0c2d\u0c2e\u0c2f\u0c30\u0c31\u0c32\u0c33\u0c34\u0c35",
+ "\u0c36\u0c37\u0c38\u0c39\u0c3a\u0c3b\u0c3c\u0c3d\u0c3e\u0c3f\u0c40\u0c41\u0c42\u0c43\u0c44\u0c45\u0c46\u0c47\u0c48\u0c49\u0c4a\u0c4b\u0c4c\u0c4d\u0c4e\u0c4f\u0c50",
+ "\u0c51\u0c52\u0c53\u0c54\u0c55\u0c56\u0c57\u0c58\u0c59\u0c5a\u0c5b\u0c5c\u0c5d\u0c5e\u0c5f\u0c60\u0c61\u0c62\u0c63\u0c64\u0c65\u0c66\u0c67\u0c68\u0c69\u0c6a\u0c6b",
+ "\u0c6c\u0c6d\u0c6e\u0c6f\u0c70\u0c71\u0c72\u0c73\u0c74\u0c75\u0c76\u0c77\u0c78\u0c79\u0c7a\u0c7b\u0c7c\u0c7d\u0c7e\u0c7f\u0c80\u0c81\u0c82\u0c83\u0c84\u0c85\u0c86",
+ "\u0c87\u0c88\u0c89\u0c8a\u0c8b\u0c8c\u0c8d\u0c8e\u0c8f\u0c90\u0c91\u0c92\u0c93\u0c94\u0c95\u0c96\u0c97\u0c98\u0c99\u0c9a\u0c9b\u0c9c\u0c9d\u0c9e\u0c9f\u0ca0\u0ca1",
+ "\u0ca2\u0ca3\u0ca4\u0ca5\u0ca6\u0ca7\u0ca8\u0ca9\u0caa\u0cab\u0cac\u0cad\u0cae\u0caf\u0cb0\u0cb1\u0cb2\u0cb3\u0cb4\u0cb5\u0cb6\u0cb7\u0cb8\u0cb9\u0cba\u0cbb\u0cbc",
+ "\u0cbd\u0cbe\u0cbf\u0cc0\u0cc1\u0cc2\u0cc3\u0cc4\u0cc5\u0cc6\u0cc7\u0cc8\u0cc9\u0cca\u0ccb\u0ccc\u0ccd\u0cce\u0ccf\u0cd0\u0cd1\u0cd2\u0cd3\u0cd4\u0cd5\u0cd6\u0cd7",
+ "\u0cd8\u0cd9\u0cda\u0cdb\u0cdc\u0cdd\u0cde\u0cdf\u0ce0\u0ce1\u0ce2\u0ce3\u0ce4\u0ce5\u0ce6\u0ce7\u0ce8\u0ce9\u0cea\u0ceb\u0cec\u0ced\u0cee\u0cef\u0cf0\u0cf1\u0cf2",
+ "\u0cf3\u0cf4\u0cf5\u0cf6\u0cf7\u0cf8\u0cf9\u0cfa\u0cfb\u0cfc\u0cfd\u0cfe\u0cff\u0d00\u0d01\u0d02\u0d03\u0d04\u0d05\u0d06\u0d07\u0d08\u0d09\u0d0a\u0d0b\u0d0c\u0d0d",
+ "\u0d0e\u0d0f\u0d10\u0d11\u0d12\u0d13\u0d14\u0d15\u0d16\u0d17\u0d18\u0d19\u0d1a\u0d1b\u0d1c\u0d1d\u0d1e\u0d1f\u0d20\u0d21\u0d22\u0d23\u0d24\u0d25\u0d26\u0d27\u0d28",
+ "\u0d29\u0d2a\u0d2b\u0d2c\u0d2d\u0d2e\u0d2f\u0d30\u0d31\u0d32\u0d33\u0d34\u0d35\u0d36\u0d37\u0d38\u0d39\u0d3a\u0d3b\u0d3c\u0d3d\u0d3e\u0d3f\u0d40\u0d41\u0d42\u0d43",
+ "\u0d44\u0d45\u0d46\u0d47\u0d48\u0d49\u0d4a\u0d4b\u0d4c\u0d4d\u0d4e\u0d4f\u0d50\u0d51\u0d52\u0d53\u0d54\u0d55\u0d56\u0d57\u0d58\u0d59\u0d5a\u0d5b\u0d5c\u0d5d\u0d5e",
+ "\u0d5f\u0d60\u0d61\u0d62\u0d63\u0d64\u0d65\u0d66\u0d67\u0d68\u0d69\u0d6a\u0d6b\u0d6c\u0d6d\u0d6e\u0d6f\u0d70\u0d71\u0d72\u0d73\u0d74\u0d75\u0d76\u0d77\u0d78\u0d79",
+ "\u0d7a\u0d7b\u0d7c\u0d7d\u0d7e\u0d7f\u0d80\u0d81\u0d82\u0d83\u0d84\u0d85\u0d86\u0d87\u0d88\u0d89\u0d8a\u0d8b\u0d8c\u0d8d\u0d8e\u0d8f\u0d90\u0d91\u0000\u0000\u0000",
+ "\u4001\u4002\u4003\u4004\u4005\u4006\u4007\u4008\u4009\u4010\u4011\u4012\u4013\u4014\u4015\u4016\u4017\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/acacia_boat.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0d92"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/acacia_door.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0d93"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/acacia_sapling.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0d94"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/acacia_sign.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0d95"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/activator_rail.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0d96"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/allium.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0d97"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/amethyst_cluster.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0d98"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/amethyst_shard.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0d99"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/apple.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0d9a"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/armor_stand.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0d9b"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/arrow.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0d9c"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/axolotl_bucket.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0d9d"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/azure_bluet.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0d9e"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/baked_potato.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0d9f"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/bamboo.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0da0"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/barrier.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0da1"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/beef.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0da2"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/beetroot.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0da3"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/beetroot_seeds.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0da4"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/beetroot_soup.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0da5"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/bell.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0da6"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/birch_boat.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0da7"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/birch_door.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0da8"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/birch_sapling.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0da9"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/birch_sign.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0daa"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/black_candle.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0dab"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/black_dye.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0dac"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/black_stained_glass.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0dad"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/blaze_powder.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0dae"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/blaze_rod.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0daf"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/blue_candle.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0db0"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/blue_dye.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0db1"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/blue_orchid.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0db2"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/blue_stained_glass.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0db3"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/bone.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0db4"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/bone_meal.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0db5"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/book.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0db6"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/bow.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0db7"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/bowl.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0db8"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/brain_coral.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0db9"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/brain_coral_fan.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0dba"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/bread.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0dbb"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/brewing_stand.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0dbc"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/brick.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0dbd"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/broken_elytra.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0dbe"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/brown_candle.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0dbf"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/brown_dye.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0dc0"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/brown_mushroom.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0dc1"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/brown_stained_glass.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0dc2"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/bubble_coral.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0dc3"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/bubble_coral_fan.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0dc4"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/bucket.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0dc5"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/bundle.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0dc6"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/cake.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0dc8"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/campfire.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0dc9"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/candle.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0dca"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/carrot.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0dcb"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/carrot_on_a_stick.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0dcc"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/cauldron.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0dcd"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/chain.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0dce"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/chainmail_boots.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0dcf"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/chainmail_chestplate.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0dd0"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/chainmail_helmet.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0dd1"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/chainmail_leggings.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0dd2"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/charcoal.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0dd3"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/chest_minecart.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0dd4"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/chicken.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0dd5"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/chorus_fruit.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0dd6"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/clay_ball.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0dd7"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/clock_00.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0dd8"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/coal.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0dd9"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/cobweb.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0dda"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/cocoa_beans.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0ddb"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/cod.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0ddc"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/cod_bucket.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0ddd"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/command_block_minecart.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0dde"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/comparator.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0ddf"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/compass_16.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0de0"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/cooked_beef.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0de1"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/cooked_chicken.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0de2"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/cooked_cod.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0de3"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/cooked_mutton.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0de4"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/cooked_porkchop.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0de5"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/cooked_rabbit.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0de6"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/cooked_salmon.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0de7"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/cookie.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0de8"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/copper_ingot.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0de9"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/cornflower.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0dea"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/creeper_banner_pattern.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0deb"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/crimson_door.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0dec"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/crimson_fungus.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0ded"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/crimson_roots.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0dee"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/crimson_sign.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0def"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/crossbow_standby.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0df0"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/crossbow_arrow.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0df1"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/crossbow_firework.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0df2"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/cyan_candle.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0df3"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/cyan_dye.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0df4"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/cyan_stained_glass.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0df5"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/dandelion.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0df6"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/dark_oak_boat.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0df7"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/dark_oak_door.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0df8"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/dark_oak_sapling.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0df9"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/dark_oak_sign.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0dfa"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/dead_brain_coral.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0dfb"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/dead_brain_coral_fan.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0dfc"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/dead_bubble_coral.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0dfd"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/dead_bubble_coral_fan.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0dfe"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/dead_bush.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0dff"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/dead_fire_coral.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e00"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/dead_fire_coral_fan.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e01"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/dead_horn_coral.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e02"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/dead_horn_coral_fan.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e03"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/dead_tube_coral.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e04"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/dead_tube_coral_fan.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e05"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/detector_rail.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e06"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/diamond.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e07"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/diamond_axe.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e08"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/diamond_boots.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e09"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/diamond_chestplate.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e0a"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/diamond_helmet.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e0b"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/diamond_hoe.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e0c"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/diamond_horse_armor.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e0d"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/diamond_leggings.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e0e"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/diamond_pickaxe.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e0f"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/diamond_shovel.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e10"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/diamond_sword.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e11"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/dragon_breath.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e12"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/dried_kelp.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e13"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/egg.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e14"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/elytra.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e15"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/emerald.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e16"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/enchanted_book.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e17"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/end_crystal.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e16"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/ender_eye.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e19"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/ender_pearl.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e1a"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/experience_bottle.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e1b"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/feather.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e1c"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/fermented_spider_eye.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e1d"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/fern.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e1e"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/filled_map.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e1f"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/filled_map_markings.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e20"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/fire_charge.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e21"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/fire_coral.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e22"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/fire_coral_fan.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e23"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/firework_rocket.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e24"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/firework_star.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e25"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/firework_star_overlay.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e26"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/fishing_rod.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e27"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/flint.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e28"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/flint_and_steel.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e29"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/flower_banner_pattern.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e2a"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/flower_pot.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e2b"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/furnace_minecart.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e2c"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/ghast_tear.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e2d"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/glass_bottle.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e2e"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/glass.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e2f"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/glistering_melon_slice.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e30"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/globe_banner_pattern.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e31"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/glow_berries.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e32"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/glow_ink_sac.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e33"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/glow_item_frame.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e34"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/glow_lichen.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e35"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/glowstone_dust.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e36"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/gold_ingot.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e37"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/gold_nugget.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e38"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/golden_apple.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e39"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/golden_axe.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e3a"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/golden_boots.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e3b"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/golden_carrot.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e3c"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/golden_chestplate.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e3d"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/golden_helmet.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e3e"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/golden_hoe.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e3f"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/golden_horse_armor.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e40"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/golden_leggings.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e41"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/golden_pickaxe.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e42"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/golden_shovel.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e43"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/golden_sword.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e44"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/gray_candle.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e46"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/gray_dye.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e47"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/gray_stained_glass.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e48"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/green_candle.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e49"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/green_dye.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e4a"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/green_stained_glass.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e4b"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/gunpowder.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e4c"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/hanging_roots.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e4d"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/heart_of_the_sea.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e4e"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/honey_bottle.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e4f"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/honeycomb.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e50"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/hopper.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e51"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/hopper_minecart.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e52"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/horn_coral.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e53"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/horn_coral_fan.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e54"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/ink_sac.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e55"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/iron_axe.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e56"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/iron_bars.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e57"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/iron_boots.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e58"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/iron_chestplate.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e59"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/iron_door.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e5a"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/iron_helmet.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e5b"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/iron_hoe.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e5c"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/iron_horse_armor.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e5d"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/iron_ingot.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e5e"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/iron_leggings.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e5f"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/iron_nugget.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e60"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/iron_pickaxe.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e61"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/iron_shovel.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e62"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/iron_sword.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e63"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/item_frame.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e64"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/jungle_boat.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e65"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/jungle_door.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e66"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/jungle_sapling.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e67"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/jungle_sign.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e68"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/kelp.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e69"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/knowledge_book.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e6a"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/ladder.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e6b"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/lantern.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e6c"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/lapis_lazuli.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e6d"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/large_amethyst_bud.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e6e"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/large_fern_top.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e6f"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/lava_bucket.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e70"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/lead.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e71"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/leather.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e72"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/leather_boots.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e73"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/leather_boots_overlay.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e74"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/leather_chestplate.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e75"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/leather_chestplate_overlay.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e76"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/leather_helmet.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e77"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/leather_helmet_overlay.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e78"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/leather_horse_armor.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e79"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/leather_leggings.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e7a"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/leather_leggings_overlay.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e7b"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/lever.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e7c"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/light.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e7d"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/light_00.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e7e"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/light_01.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e7f"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/light_02.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e80"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/light_03.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e81"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/light_04.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e82"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/light_05.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e83"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/light_06.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e84"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/light_07.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e85"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/light_08.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e86"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/light_09.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e87"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/light_10.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e88"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/light_11.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e89"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/light_12.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e8a"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/light_13.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e8b"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/light_14.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e8c"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/light_15.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e8d"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/light_blue_candle.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e8e"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/light_blue_dye.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e8f"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/light_blue_stained_glass.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e90"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/light_gray_candle.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e91"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/light_gray_dye.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e92"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/light_gray_stained_glass.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e93"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/lilac_top.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e94"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/lily_of_the_valley.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e95"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/lily_pad.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e96"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/lime_candle.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e97"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/lime_dye.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e98"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/lime_stained_glass.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e99"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/lingering_potion.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e9a"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/magenta_candle.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e9b"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/magenta_dye.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e9c"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/magenta_stained_glass.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e9d"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/magma_cream.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e9e"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/map.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0e9f"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/medium_amethyst_bud.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0ea0"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/melon_seeds.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0ea1"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/melon_slice.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0ea2"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/milk_bucket.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0ea3"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/minecart.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0ea4"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/mojang_banner_pattern.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0ea5"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/mushroom_stew.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0ea6"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/music_disc_11.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0ea7"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/music_disc_13.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0ea8"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/music_disc_blocks.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0ea9"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/music_disc_cat.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0eaa"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/music_disc_chirp.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0eab"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/music_disc_far.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0eac"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/music_disc_mall.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0ead"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/music_disc_mellohi.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0eae"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/music_disc_pigstep.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0eaf"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/music_disc_stal.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0eb0"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/music_disc_strad.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0eb1"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/music_disc_wait.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0eb2"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/music_disc_ward.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0eb3"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/mutton.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0eb4"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/name_tag.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0eb5"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/nautilus_shell.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0eb6"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/nether_brick.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0eb7"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/nether_sprouts.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0eb8"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/nether_star.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0eb9"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/nether_wart.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0eba"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/netherite_axe.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0ebb"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/netherite_boots.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0ebc"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/netherite_chestplate.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0ebd"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/netherite_helmet.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0ebe"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/netherite_hoe.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0ebf"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/netherite_ingot.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0ec0"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/netherite_leggings.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0ec1"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/netherite_pickaxe.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0ec2"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/netherite_scrap.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0ec3"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/netherite_shovel.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0ec4"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/netherite_sword.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0ec5"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/oak_boat.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0ec6"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/oak_door.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0ec7"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/oak_sapling.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0ec8"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/oak_sign.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0ec9"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/orange_candle.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0eca"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/orange_dye.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0ecb"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/orange_stained_glass.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0ecc"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/orange_tulip.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0ecd"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/oxeye_daisy.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0ece"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/painting.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0ecf"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/paper.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0ed0"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/peony_top.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0ed1"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/phantom_membrane.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0ed2"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/piglin_banner_pattern.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0ed3"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/pink_candle.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0ed4"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/pink_dye.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0ed5"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/pink_stained_glass.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0ed6"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/pink_tulip.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0ed7"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/pointed_dripstone.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0ed8"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/poisonous_potato.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0ed9"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/popped_chorus_fruit.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0eda"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/poppy.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0edb"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/porkchop.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0edc"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/potato.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0edd"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/potion.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0ede"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/potion_overlay.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0edf"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/powder_snow_bucket.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0ee0"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/powered_rail.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0ee1"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/prismarine_crystals.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0ee2"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/prismarine_shard.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0ee3"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/pufferfish.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0ee4"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/pufferfish_bucket.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0ee5"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/pumpkin_pie.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0ee6"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/pumpkin_seeds.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0ee7"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/purple_candle.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0ee8"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/purple_dye.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0ee9"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/purple_stained_glass.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0eea"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/quartz.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0eeb"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/rabbit.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0eec"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/rabbit_foot.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0eed"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/rabbit_hide.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0eee"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/rabbit_stew.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0eef"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/rail.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0ef0"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/raw_copper.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0ef1"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/raw_gold.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0ef2"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/raw_iron.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0ef3"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/red_candle.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0ef4"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/red_dye.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0ef5"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/red_mushroom.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0ef6"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/red_stained_glass.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0ef7"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/red_tulip.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0ef8"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/redstone.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0ef9"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/redstone_torch.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0efa"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/repeater.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0efb"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/rose_bush_top.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0efc"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/rotten_flesh.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0efd"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/saddle.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0efe"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/salmon.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0eff"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/salmon_bucket.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f00"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/turtle_scute.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f01"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/sea_pickle.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f02"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/seagrass.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f03"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/shears.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f04"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/shulker_shell.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f05"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/skull_banner_pattern.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f06"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/slime_ball.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f07"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/small_amethyst_bud.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f08"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/snowball.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f09"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/soul_campfire.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f0a"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/soul_lantern.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f0b"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/soul_torch.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f0c"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/spawn_egg.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f0d"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/spawn_egg_overlay.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f0e"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/spectral_arrow.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f0f"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/spider_eye.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f10"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/splash_potion.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f11"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/spruce_boat.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f12"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/spruce_door.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f13"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/spruce_sapling.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f14"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/spruce_sign.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f15"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/spyglass.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f16"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/stick.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f17"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/stone_axe.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f16"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/stone_hoe.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f19"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/stone_pickaxe.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f1a"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/stone_shovel.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f1b"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/stone_sword.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f1c"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/string.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f1d"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/structure_void.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f1e"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/sugar.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f1f"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/sugar_cane.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f20"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/sunflower_front.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f21"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/suspicious_stew.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f22"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/sweet_berries.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f23"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/tall_grass_top.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f24"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/tipped_arrow_base.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f25"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/tipped_arrow_base.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f26"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/tipped_arrow_head.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f27"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/tnt_minecart.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f28"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/torch.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f29"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/totem_of_undying.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f2a"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/trident.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f2b"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/tripwire_hook.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f2c"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/tropical_fish.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f2d"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/tropical_fish_bucket.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f2e"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/tube_coral.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f2f"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/tube_coral_fan.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f30"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/turtle_egg.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f31"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/turtle_helmet.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f32"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/twisting_vines_plant.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f33"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/vine.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f34"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/warped_door.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f35"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/warped_fungus.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f36"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/warped_fungus_on_a_stick.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f37"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/warped_roots.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f38"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/warped_sign.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f39"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/water_bucket.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f3a"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/weeping_vines_plant.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f3b"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/wheat.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f3c"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/wheat_seeds.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f3d"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/white_candle.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f3e"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/white_dye.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f3f"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/white_stained_glass.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f40"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/white_tulip.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f41"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/wither_rose.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f42"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/wooden_axe.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f43"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/wooden_hoe.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f44"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/wooden_pickaxe.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f45"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/wooden_shovel.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f46"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/wooden_sword.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f47"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/writable_book.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f48"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/written_book.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f49"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/yellow_candle.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f4a"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:item/yellow_dye.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f4b"
+ ]
+ },
+ {
+ "type": "bitmap",
+ "file": "minecraft:block/yellow_stained_glass.png",
+ "ascent": 8,
+ "height": 16,
+ "chars": [
+ "\u0f4c"
+ ]
+ }
+
+ ]
+}
diff --git a/gm4_guidebook/beet.yaml b/gm4_guidebook/beet.yaml
index 889298dc35..2d7e3bce29 100644
--- a/gm4_guidebook/beet.yaml
+++ b/gm4_guidebook/beet.yaml
@@ -1,12 +1,17 @@
id: gm4_guidebook
name: Guidebook
-version: 3.0.X
+version: 3.1.X
data_pack:
load: .
resource_pack:
load: .
+ overlays:
+ - formats:
+ min_inclusive: 0
+ max_inclusive: 42
+ directory: backport_42
require:
- bolt
@@ -20,7 +25,7 @@ meta:
gm4:
versioning:
required:
- lib_forceload: 1.4.0
+ lib_forceload: 1.5.0
schedule_loops:
- main
- tick
diff --git a/gm4_guidebook/data/gm4_guidebook/function/get_book/zombie_villager.mcfunction b/gm4_guidebook/data/gm4_guidebook/function/get_book/zombie_villager.mcfunction
index e9e48bbdab..33289866f9 100644
--- a/gm4_guidebook/data/gm4_guidebook/function/get_book/zombie_villager.mcfunction
+++ b/gm4_guidebook/data/gm4_guidebook/function/get_book/zombie_villager.mcfunction
@@ -7,4 +7,4 @@
$loot replace entity @s weapon.mainhand loot {"pools":[{"rolls":1,"entries":[{"type":"minecraft:loot_table","value":"gm4_guidebook:items/guidebook","functions":[{"function":"minecraft:set_custom_data","tag":"{gm4_guidebook:{lectern:0b,trigger:1}}"},{"function":"minecraft:set_components","components":{"minecraft:written_book_content":{"pages":$(front_matter),"title":"Gamemode 4 Guidebook","author":"Unknown","generation":3}}}]}]}]}
# make zombie drop the book upon player kill
-data modify entity @s HandDropChances[0] set value 1.0f
+data modify entity @s drop_chances.mainhand set value 1.0f
diff --git a/gm4_guidebook/data/gm4_guidebook/function/hand/update.mcfunction b/gm4_guidebook/data/gm4_guidebook/function/hand/update.mcfunction
index e09a847e4e..a1553d6cef 100644
--- a/gm4_guidebook/data/gm4_guidebook/function/hand/update.mcfunction
+++ b/gm4_guidebook/data/gm4_guidebook/function/hand/update.mcfunction
@@ -6,7 +6,7 @@
# save item count
scoreboard players set $count gm4_guide 0
execute store result score $count gm4_guide run data get entity @s[predicate=gm4_guidebook:book_in_mainhand] SelectedItem.count
-execute if score $count gm4_guide matches 0 store result score $count gm4_guide run data get entity @s[predicate=gm4_guidebook:book_in_offhand] Inventory[{Slot:-106b}].count
+execute if score $count gm4_guide matches 0 store result score $count gm4_guide run data get entity @s[predicate=gm4_guidebook:book_in_offhand] equipment.offhand.count
# replace book
## short-circuit if it's the table of contents
diff --git a/gm4_guidebook/data/gm4_guidebook/function/init.mcfunction b/gm4_guidebook/data/gm4_guidebook/function/init.mcfunction
index 7f8f36ec17..210f0f2f03 100644
--- a/gm4_guidebook/data/gm4_guidebook/function/init.mcfunction
+++ b/gm4_guidebook/data/gm4_guidebook/function/init.mcfunction
@@ -21,7 +21,7 @@ schedule function gm4_guidebook:update_storage/setup_markers 1t
schedule function #gm4_guidebook:setup_storage 5t
-data modify storage gm4_guidebook:register front_matter set value [{raw:'["",{"translate":"gui.gm4.guidebook.page.intro","fallback": "","color": "white","font": "gm4:guidebook"},{"translate":"text.gm4.guidebook.introduction","fallback":"Introduction","underlined":true},{"text":"\\n\\n"},{"translate":"text.gm4.guidebook.letter","fallback":"This is a world unlike others. It appears that certain things work...differently to say the least.\\n\\nThis book will document discoveries regarding these new mechanics."},{"text":"\\n\\n> ","color":"#4AA0C7"},{"translate":"text.gm4.guidebook.refresh_findings","fallback":"Refresh Findings","color":"#4AA0C7","hoverEvent":{"action":"show_text","contents":[{"translate":"text.gm4.guidebook.refresh_toc","fallback":"Refresh Table of Contents","color":"gold"}]},"clickEvent":{"action":"run_command","value":"/trigger gm4_guide set 1"}}]'}]
+data modify storage gm4_guidebook:register front_matter set value [{raw:["",{"translate":"gui.gm4.guidebook.page.intro","fallback": "","color": "white","font": "gm4:guidebook"},{"translate":"text.gm4.guidebook.introduction","fallback":"Introduction","underlined":true},{"text":"\n\n"},{"translate":"text.gm4.guidebook.letter","fallback":"This is a world unlike others. It appears that certain things work...differently to say the least.\n\nThis book will document discoveries regarding these new mechanics."},{"text":"\n\n> ","color":"#4AA0C7"},{"translate":"text.gm4.guidebook.refresh_findings","fallback":"Refresh Findings","color":"#4AA0C7","hover_event":{"action":"show_text","value":[{"translate":"text.gm4.guidebook.refresh_toc","fallback":"Refresh Table of Contents","color":"gold"}]},"click_event":{"action":"run_command","command":"/trigger gm4_guide set 1"}}]}]
# start up module
execute unless score guidebook gm4_modules matches 1 run data modify storage gm4:log queue append value {type:"install",module:"Guidebook"}
diff --git a/gm4_guidebook/data/gm4_guidebook/function/lecterns/replace/update.mcfunction b/gm4_guidebook/data/gm4_guidebook/function/lecterns/replace/update.mcfunction
index 33e6b346aa..901ca56ad1 100644
--- a/gm4_guidebook/data/gm4_guidebook/function/lecterns/replace/update.mcfunction
+++ b/gm4_guidebook/data/gm4_guidebook/function/lecterns/replace/update.mcfunction
@@ -6,7 +6,7 @@
scoreboard players set $found gm4_guide 1
# summon marker
-execute unless entity @e[type=marker,tag=gm4_guide_lectern,distance=..0.5,limit=1] run summon marker ~ ~ ~ {CustomName:'"gm4_guide_lectern"',Tags:["gm4_guide_lectern"]}
+execute unless entity @e[type=marker,tag=gm4_guide_lectern,distance=..0.5,limit=1] run summon marker ~ ~ ~ {CustomName:"gm4_guide_lectern",Tags:["gm4_guide_lectern"]}
# replace book with lectern book
execute store result score $trigger gm4_guide run data get block ~ ~ ~ Book.components."minecraft:custom_data".gm4_guidebook.trigger
diff --git a/gm4_guidebook/data/gm4_guidebook/function/lecterns/restore/search.mcfunction b/gm4_guidebook/data/gm4_guidebook/function/lecterns/restore/search.mcfunction
index fbbfca3629..7bfa5e5827 100644
--- a/gm4_guidebook/data/gm4_guidebook/function/lecterns/restore/search.mcfunction
+++ b/gm4_guidebook/data/gm4_guidebook/function/lecterns/restore/search.mcfunction
@@ -6,6 +6,7 @@
advancement revoke @s only gm4_guidebook:take_lectern_book
+# TODO 1.21.5: this might not work for the offhand
# get item data
scoreboard players set $slot gm4_guide -1
data modify storage gm4_guidebook:temp Inventory set from entity @s Inventory
diff --git a/gm4_guidebook/data/gm4_guidebook/function/main.mcfunction b/gm4_guidebook/data/gm4_guidebook/function/main.mcfunction
index ae83d4da5d..e46f822e87 100644
--- a/gm4_guidebook/data/gm4_guidebook/function/main.mcfunction
+++ b/gm4_guidebook/data/gm4_guidebook/function/main.mcfunction
@@ -1,7 +1,7 @@
schedule function gm4_guidebook:main 16t
# give random zombie villagers the guidebook
-execute as @e[type=zombie_villager,tag=!gm4_guidebook_checked,predicate=gm4_guidebook:chance_zombie_villager,nbt={HandItems:[{},{}],PersistenceRequired:0b}] unless data entity @s Gossips run function gm4_guidebook:get_book/zombie_villager with storage gm4_guidebook:register
+execute as @e[type=zombie_villager,tag=!gm4_guidebook_checked,predicate=gm4_guidebook:chance_zombie_villager,nbt={PersistenceRequired:0b}] unless items entity @s weapon.* * unless data entity @s Gossips run function gm4_guidebook:get_book/zombie_villager with storage gm4_guidebook:register
tag @e[type=zombie_villager,tag=!gm4_guidebook_checked] add gm4_guidebook_checked
# process lectern markers
diff --git a/gm4_guidebook/data/gm4_guidebook/function/update_storage/add_to_toc.mcfunction b/gm4_guidebook/data/gm4_guidebook/function/update_storage/add_to_toc.mcfunction
index 8cf7a43963..94603e5470 100644
--- a/gm4_guidebook/data/gm4_guidebook/function/update_storage/add_to_toc.mcfunction
+++ b/gm4_guidebook/data/gm4_guidebook/function/update_storage/add_to_toc.mcfunction
@@ -1 +1 @@
-$data modify storage gm4_guidebook:register front_matter append value {raw:'$(page_content)'}
+$data modify storage gm4_guidebook:register front_matter append value {raw:$(page_content)}
diff --git a/gm4_guidebook/data/gm4_guidebook/function/update_storage/build_page.mcfunction b/gm4_guidebook/data/gm4_guidebook/function/update_storage/build_page.mcfunction
index 8e08b16007..6999119f20 100644
--- a/gm4_guidebook/data/gm4_guidebook/function/update_storage/build_page.mcfunction
+++ b/gm4_guidebook/data/gm4_guidebook/function/update_storage/build_page.mcfunction
@@ -6,12 +6,12 @@
# build lines
scoreboard players set $line_count gm4_guide 2
-data merge storage gm4_guidebook:temp {page:['["",{"translate":"gui.gm4.guidebook.page.toc","fallback":"","color":"white","font":"gm4:guidebook"}]'],lectern_page:[]}
+data merge storage gm4_guidebook:temp {page:[["",{"translate":"gui.gm4.guidebook.page.toc","fallback":"","color":"white","font":"gm4:guidebook"}]],lectern_page:[]}
function gm4_guidebook:update_storage/build_line
execute if score $line_count gm4_guide matches 2 run return 1
# add table of contents page
-data modify block 29999998 1 7133 front_text.messages[0] set value '{"nbt":"page[]","storage":"gm4_guidebook:temp","interpret":true,"separator":{"text":"\\\\n","color":"white"}}'
+data modify block 29999998 1 7133 front_text.messages[0] set value {"nbt":"page[]","storage":"gm4_guidebook:temp","interpret":true,"separator":{"text":"\n","color":"white"}}
data modify storage gm4_guidebook:temp page_content set from block 29999998 1 7133 front_text.messages[0]
function gm4_guidebook:update_storage/add_to_toc with storage gm4_guidebook:temp
diff --git a/gm4_guidebook/data/gm4_guidebook/function/update_storage/build_toc.mcfunction b/gm4_guidebook/data/gm4_guidebook/function/update_storage/build_toc.mcfunction
index d207de8962..7bb8701eae 100644
--- a/gm4_guidebook/data/gm4_guidebook/function/update_storage/build_toc.mcfunction
+++ b/gm4_guidebook/data/gm4_guidebook/function/update_storage/build_toc.mcfunction
@@ -15,7 +15,7 @@ execute store result score $expansion_count gm4_guide run data get storage gm4_g
# build pages
scoreboard players operation $front_matter gm4_guide_pages = #intro gm4_guide_pages
data modify storage gm4_guidebook:temp prev_trigger_order set from storage gm4_guidebook:register trigger_order
-data merge storage gm4_guidebook:register {table_of_contents:[],trigger_order:[],lectern_toc:["[\"\",{\"translate\":\"gui.gm4.guidebook.page.toc\",\"fallback\":\"\",\"color\":\"white\",\"font\":\"gm4:guidebook\"}]","[\"\",{\"translate\":\"gui.gm4.guidebook.page.intro\",\"fallback\": \"\",\"color\": \"white\",\"font\": \"gm4:guidebook\"},{\"translate\":\"text.gm4.guidebook.introduction\",\"fallback\":\"Introduction\",\"underlined\":true},{\"text\":\"\\n\\n\"},{\"translate\":\"text.gm4.guidebook.letter\",\"fallback\":\"This is a world unlike others. It appears that certain things work...differently to say the least.\\n\\nThis book will document discoveries regarding these new mechanics.\"},{\"text\":\"\\n\\n> \",\"color\":\"#4AA0C7\"},{\"translate\":\"text.gm4.guidebook.refresh_findings\",\"fallback\":\"Refresh Findings\",\"color\":\"#4AA0C7\",\"hoverEvent\":{\"action\":\"show_text\",\"contents\":[{\"translate\":\"text.gm4.guidebook.refresh_toc\",\"fallback\":\"Refresh Table of Contents\",\"color\":\"gold\"}]},\"clickEvent\":{\"action\":\"change_page\",\"value\":\"1\"}}]"]}
+data merge storage gm4_guidebook:register {table_of_contents:[],trigger_order:[],lectern_toc:[["",{"translate":"gui.gm4.guidebook.page.toc","fallback":"","color":"white","font":"gm4:guidebook"}],["",{"translate":"gui.gm4.guidebook.page.intro","fallback": "","color": "white","font": "gm4:guidebook"},{"translate":"text.gm4.guidebook.introduction","fallback":"Introduction","underlined":true},{"text":"\n\n"},{"translate":"text.gm4.guidebook.letter","fallback":"This is a world unlike others. It appears that certain things work...differently to say the least.\n\nThis book will document discoveries regarding these new mechanics."},{"text":"\n\n> ","color":"#4AA0C7"},{"translate":"text.gm4.guidebook.refresh_findings","fallback":"Refresh Findings","color":"#4AA0C7","hover_event":{"action":"show_text","value":[{"translate":"text.gm4.guidebook.refresh_toc","fallback":"Refresh Table of Contents","color":"gold"}]},"click_event":{"action":"change_page","page":1}}]]}
data merge storage gm4_guidebook:temp {lectern_pages:[],toc_back:[]}
function gm4_guidebook:update_storage/build_page
diff --git a/gm4_guidebook/data/gm4_guidebook/function/update_storage/lectern/build_line.mcfunction b/gm4_guidebook/data/gm4_guidebook/function/update_storage/lectern/build_line.mcfunction
index 246561095b..59ac7dd5c8 100644
--- a/gm4_guidebook/data/gm4_guidebook/function/update_storage/lectern/build_line.mcfunction
+++ b/gm4_guidebook/data/gm4_guidebook/function/update_storage/lectern/build_line.mcfunction
@@ -9,7 +9,7 @@ function gm4_guidebook:update_storage/lectern/click_event with storage gm4_guide
data modify storage gm4_guidebook:temp page append from block 29999998 1 7133 front_text.messages[0]
# add blank page for each module
-data modify storage gm4_guidebook:temp toc_back append value '["\\n\\n",{"translate":"gui.gm4.guidebook.page","fallback":"","color":"white","font":"gm4:guidebook"}]'
+data modify storage gm4_guidebook:temp toc_back append value ["\n\n",{"translate":"gui.gm4.guidebook.page","fallback":"","color":"white","font":"gm4:guidebook"}]
# check the next module
execute store result storage gm4_guidebook:temp click int 1 run scoreboard players add $click gm4_guide_pages 1
diff --git a/gm4_guidebook/data/gm4_guidebook/function/update_storage/lectern/build_page.mcfunction b/gm4_guidebook/data/gm4_guidebook/function/update_storage/lectern/build_page.mcfunction
index 2c2edcf4f1..92b9b097d3 100644
--- a/gm4_guidebook/data/gm4_guidebook/function/update_storage/lectern/build_page.mcfunction
+++ b/gm4_guidebook/data/gm4_guidebook/function/update_storage/lectern/build_page.mcfunction
@@ -1,4 +1,3 @@
-import json
# builds each page of the lectern table of contents
# @s = none
# located at world spawn
@@ -6,17 +5,11 @@ import json
# run from self
# build module lines
-data merge storage gm4_guidebook:temp {page:['["",{"translate":"gui.gm4.guidebook.page.toc","fallback":"","color":"white","font":"gm4:guidebook"}]']}
+data merge storage gm4_guidebook:temp {page:[["",{"translate":"gui.gm4.guidebook.page.toc","fallback":"","color":"white","font":"gm4:guidebook"}]]}
function gm4_guidebook:update_storage/lectern/build_line
# add table of contents page
-page = {
- "nbt": "page[]",
- "storage": "gm4_guidebook:temp",
- "interpret": True,
- "separator":"\n"
- }
-data modify block 29999998 1 7133 front_text.messages[0] set value json.dumps(page,separators=(',',':'))
+data modify block 29999998 1 7133 front_text.messages[0] set value {"nbt": "page[]","storage": "gm4_guidebook:temp","interpret": True,"separator":"\n"}
data modify storage gm4_guidebook:register lectern_toc append from block 29999998 1 7133 front_text.messages[0]
# loop for all modules
diff --git a/gm4_guidebook/data/gm4_guidebook/function/update_storage/lectern/click_event.mcfunction b/gm4_guidebook/data/gm4_guidebook/function/update_storage/lectern/click_event.mcfunction
index a2be2e04c1..5e14e4796b 100644
--- a/gm4_guidebook/data/gm4_guidebook/function/update_storage/lectern/click_event.mcfunction
+++ b/gm4_guidebook/data/gm4_guidebook/function/update_storage/lectern/click_event.mcfunction
@@ -3,4 +3,4 @@
# located at world spawn
# run from gm4_guidebook:update_storage/lectern/build_line
-$data modify block 29999998 1 7133 front_text.messages[0] set value '{"nbt":"lectern_pages[0][0]","storage":"gm4_guidebook:temp","color":"#4AA0C7","clickEvent":{"action":"change_page","value":"$(click)"},"hoverEvent":{"action":"show_text","contents":[{"translate":"text.gm4.guidebook.jump_to_section","fallback":"Jump to Section","color":"gold"}]}}'
+$data modify block 29999998 1 7133 front_text.messages[0] set value {"nbt":"lectern_pages[0][0]","storage":"gm4_guidebook:temp","color":"#4AA0C7","click_event":{"action":"change_page","page":$(click)},"hover_event":{"action":"show_text","value":[{"translate":"text.gm4.guidebook.jump_to_section","fallback":"Jump to Section","color":"gold"}]}}
diff --git a/gm4_guidebook/data/gm4_guidebook/loot_table/items/guidebook.json b/gm4_guidebook/data/gm4_guidebook/loot_table/items/guidebook.json
index 9dcaed5dc2..1eaee999f2 100644
--- a/gm4_guidebook/data/gm4_guidebook/loot_table/items/guidebook.json
+++ b/gm4_guidebook/data/gm4_guidebook/loot_table/items/guidebook.json
@@ -13,7 +13,7 @@
"minecraft:custom_model_data": "gm4_guidebook:item/guidebook",
"minecraft:written_book_content": {
"pages": [
- "[\"\",{\"translate\":\"gui.gm4.guidebook.page.intro\",\"fallback\": \"\",\"color\": \"white\",\"font\": \"gm4:guidebook\"},{\"translate\":\"text.gm4.guidebook.introduction\",\"fallback\":\"Introduction\",\"underlined\":true},{\"text\":\"\n\n\"},{\"translate\":\"text.gm4.guidebook.letter\",\"fallback\":\"This is a world unlike others. It appears that certain things work...differently to say the least.\n\nThis book will document discoveries regarding these new mechanics.\"},{\"text\":\"\n\n> \",\"color\":\"#4AA0C7\"},{\"translate\":\"text.gm4.guidebook.refresh_findings\",\"fallback\":\"Refresh Findings\",\"color\":\"#4AA0C7\",\"hoverEvent\":{\"action\":\"show_text\",\"contents\":[{\"translate\":\"text.gm4.guidebook.refresh_toc\",\"fallback\":\"Refresh Table of Contents\",\"color\":\"gold\"}]},\"clickEvent\":{\"action\":\"run_command\",\"value\":\"/trigger gm4_guide set 1\"}}]"
+ ["",{"translate":"gui.gm4.guidebook.page.intro","fallback": "","color": "white","font": "gm4:guidebook"},{"translate":"text.gm4.guidebook.introduction","fallback":"Introduction","underlined":true},{"text":"\n\n"},{"translate":"text.gm4.guidebook.letter","fallback":"This is a world unlike others. It appears that certain things work...differently to say the least.\n\nThis book will document discoveries regarding these new mechanics."},{"text":"\n\n> ","color":"#4AA0C7"},{"translate":"text.gm4.guidebook.refresh_findings","fallback":"Refresh Findings","color":"#4AA0C7","hover_event":{"action":"show_text","value":[{"translate":"text.gm4.guidebook.refresh_toc","fallback":"Refresh Table of Contents","color":"gold"}]},"click_event":{"action":"run_command","command":"/trigger gm4_guide set 1"}}]
],
"title": "Gamemode 4 Guidebook",
"author": "Unknown",
diff --git a/gm4_guidebook/generate_guidebooks.py b/gm4_guidebook/generate_guidebooks.py
index 5db12858d8..78892d8937 100644
--- a/gm4_guidebook/generate_guidebooks.py
+++ b/gm4_guidebook/generate_guidebooks.py
@@ -237,11 +237,11 @@ def generate_book_header(book: Book) -> list[dict[Any, Any]|str]:
"font": "gm4:guidebook"
}
],
- "clickEvent": {
+ "click_event": {
"action": "run_command",
- "value": "/trigger gm4_guide set 1"
+ "command": "/trigger gm4_guide set 1"
},
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
"value": {
"translate": "text.gm4.guidebook.return_to_toc",
@@ -264,11 +264,11 @@ def generate_book_header(book: Book) -> list[dict[Any, Any]|str]:
"font": "gm4:guidebook"
}
],
- "clickEvent": {
+ "click_event": {
"action": "open_url",
- "value": book.wiki_link
+ "url": book.wiki_link
},
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
"value": {
"translate": "text.gm4.guidebook.open_wiki",
@@ -293,11 +293,11 @@ def generate_book_header(book: Book) -> list[dict[Any, Any]|str]:
"font": "gm4:guidebook"
}
],
- "clickEvent": {
+ "click_event": {
"action": "run_command",
- "value": f"/trigger gm4_guide set {book.trigger_id}"
+ "command": f"/trigger gm4_guide set {book.trigger_id}"
},
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
"value": {
"translate": "text.gm4.guidebook.refresh",
@@ -319,11 +319,11 @@ def generate_book_header(book: Book) -> list[dict[Any, Any]|str]:
"font": "gm4:guidebook"
}
],
- "clickEvent": {
+ "click_event": {
"action": "run_command",
- "value": f"/trigger gm4_guide_prev set {book.trigger_id}"
+ "command": f"/trigger gm4_guide_prev set {book.trigger_id}"
},
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
"value": {
"translate": "text.gm4.guidebook.prev",
@@ -345,11 +345,11 @@ def generate_book_header(book: Book) -> list[dict[Any, Any]|str]:
"font": "gm4:guidebook"
}
],
- "clickEvent": {
+ "click_event": {
"action": "run_command",
- "value": f"/trigger gm4_guide_next set {book.trigger_id}"
+ "command": f"/trigger gm4_guide_next set {book.trigger_id}"
},
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
"value": {
"translate": "text.gm4.guidebook.next",
@@ -373,11 +373,11 @@ def generate_book_header(book: Book) -> list[dict[Any, Any]|str]:
"font": "gm4:guidebook"
}
],
- "clickEvent": {
+ "click_event": {
"action": "run_command",
- "value": "/trigger gm4_guide set 1"
+ "command": "/trigger gm4_guide set 1"
},
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
"value": {
"translate": "text.gm4.guidebook.return_to_toc",
@@ -400,11 +400,11 @@ def generate_book_header(book: Book) -> list[dict[Any, Any]|str]:
"font": "gm4:guidebook"
}
],
- "clickEvent": {
+ "click_event": {
"action": "open_url",
- "value": book.wiki_link
+ "url": book.wiki_link
},
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
"value": {
"translate": "text.gm4.guidebook.open_wiki",
@@ -429,11 +429,11 @@ def generate_book_header(book: Book) -> list[dict[Any, Any]|str]:
"font": "gm4:guidebook"
}
],
- "clickEvent": {
+ "click_event": {
"action": "run_command",
- "value": f"/trigger gm4_guide set {book.trigger_id}"
+ "command": f"/trigger gm4_guide set {book.trigger_id}"
},
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
"value": {
"translate": "text.gm4.guidebook.refresh",
@@ -456,11 +456,11 @@ def generate_book_header(book: Book) -> list[dict[Any, Any]|str]:
"font": "gm4:guidebook"
}
],
- "clickEvent": {
+ "click_event": {
"action": "run_command",
- "value": f"/trigger gm4_guide_prev set {book.trigger_id}"
+ "command": f"/trigger gm4_guide_prev set {book.trigger_id}"
},
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
"value": {
"translate": "text.gm4.guidebook.prev",
@@ -483,11 +483,11 @@ def generate_book_header(book: Book) -> list[dict[Any, Any]|str]:
"font": "gm4:guidebook"
}
],
- "clickEvent": {
+ "click_event": {
"action": "run_command",
- "value": f"/trigger gm4_guide_next set {book.trigger_id}"
+ "command": f"/trigger gm4_guide_next set {book.trigger_id}"
},
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
"value": {
"translate": "text.gm4.guidebook.next",
@@ -530,11 +530,11 @@ def generate_lectern_header(book: Book) -> list[dict[Any, Any]|str]:
"font": "gm4:guidebook"
}
],
- "clickEvent": {
+ "click_event": {
"action": "change_page",
- "value": "2"
+ "page": 2
},
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
"value": {
"translate": "text.gm4.guidebook.return_to_toc",
@@ -557,11 +557,11 @@ def generate_lectern_header(book: Book) -> list[dict[Any, Any]|str]:
"font": "gm4:guidebook"
}
],
- "clickEvent": {
+ "click_event": {
"action": "open_url",
- "value": book.wiki_link
+ "url": book.wiki_link
},
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
"value": {
"translate": "text.gm4.guidebook.open_wiki",
@@ -586,11 +586,11 @@ def generate_lectern_header(book: Book) -> list[dict[Any, Any]|str]:
"font": "gm4:guidebook"
}
],
- "clickEvent": {
+ "click_event": {
"action": "change_page",
- "value": "3"
+ "page": 3
},
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
"value": {
"translate": "text.gm4.guidebook.refresh",
@@ -612,11 +612,11 @@ def generate_lectern_header(book: Book) -> list[dict[Any, Any]|str]:
"font": "gm4:guidebook"
}
],
- "clickEvent": {
+ "click_event": {
"action": "change_page",
- "value": "4"
+ "page": 4
},
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
"value": {
"translate": "text.gm4.guidebook.prev",
@@ -638,11 +638,11 @@ def generate_lectern_header(book: Book) -> list[dict[Any, Any]|str]:
"font": "gm4:guidebook"
}
],
- "clickEvent": {
+ "click_event": {
"action": "change_page",
- "value": "1"
+ "page": 1
},
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
"value": {
"translate": "text.gm4.guidebook.next",
@@ -666,11 +666,11 @@ def generate_lectern_header(book: Book) -> list[dict[Any, Any]|str]:
"font": "gm4:guidebook"
}
],
- "clickEvent": {
+ "click_event": {
"action": "change_page",
- "value": "2"
+ "page": 2
},
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
"value": {
"translate": "text.gm4.guidebook.return_to_toc",
@@ -693,11 +693,11 @@ def generate_lectern_header(book: Book) -> list[dict[Any, Any]|str]:
"font": "gm4:guidebook"
}
],
- "clickEvent": {
+ "click_event": {
"action": "open_url",
- "value": book.wiki_link
+ "url": book.wiki_link
},
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
"value": {
"translate": "text.gm4.guidebook.open_wiki",
@@ -722,11 +722,11 @@ def generate_lectern_header(book: Book) -> list[dict[Any, Any]|str]:
"font": "gm4:guidebook"
}
],
- "clickEvent": {
+ "click_event": {
"action": "change_page",
- "value": "3"
+ "page": 3
},
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
"value": {
"translate": "text.gm4.guidebook.refresh",
@@ -749,11 +749,11 @@ def generate_lectern_header(book: Book) -> list[dict[Any, Any]|str]:
"font": "gm4:guidebook"
}
],
- "clickEvent": {
+ "click_event": {
"action": "change_page",
- "value": "4"
+ "page": 4
},
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
"value": {
"translate": "text.gm4.guidebook.prev",
@@ -776,11 +776,11 @@ def generate_lectern_header(book: Book) -> list[dict[Any, Any]|str]:
"font": "gm4:guidebook"
}
],
- "clickEvent": {
+ "click_event": {
"action": "change_page",
- "value": "1"
+ "page": 1
},
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
"value": {
"translate": "text.gm4.guidebook.next",
@@ -830,10 +830,10 @@ def loottable_to_display(loottable: str, data: dict[Any,Any], ctx: Context) -> t
if "functions" in entry:
for function in entry["functions"]:
if "set_name" in function["function"]:
- name = f'{json.dumps(function["name"])}'
+ name = function["name"]
elif "set_lore" in function["function"]:
for line in function["lore"]:
- lore.append(f'{json.dumps(line)}')
+ lore.append(line)
elif "set_components" in function["function"]:
for key, value in function["components"].items():
if "profile" in key:
@@ -850,7 +850,7 @@ def loottable_to_display(loottable: str, data: dict[Any,Any], ctx: Context) -> t
# else:
vanilla = ctx.inject(Vanilla)
- vanilla.minecraft_version = '1.21.4'
+ vanilla.minecraft_version = '1.21.5'
color = get_texture_color(intuit_item_texture(item_id, vanilla))
# create slot
@@ -877,11 +877,9 @@ def loottable_to_display(loottable: str, data: dict[Any,Any], ctx: Context) -> t
}
]
],
- "hoverEvent": {
+ "hover_event": {
"action": "show_item",
- "contents": {
- "id": item_id
- }
+ "id": item_id
}
}
slot_under: dict[Any, Any] = {
@@ -899,29 +897,27 @@ def loottable_to_display(loottable: str, data: dict[Any,Any], ctx: Context) -> t
"font": "gm4:guidebook"
}
],
- "hoverEvent": {
+ "hover_event": {
"action": "show_item",
- "contents": {
- "id": item_id
- }
+ "id": item_id
}
}
# custom display name and lore
if name != "":
- if "components" not in slot["hoverEvent"]["contents"]:
- slot["hoverEvent"]["contents"]["components"] = {}
- if "components" not in slot_under["hoverEvent"]["contents"]:
- slot_under["hoverEvent"]["contents"]["components"] = {}
- slot["hoverEvent"]["contents"]["components"]["minecraft:custom_name"] = name
- slot_under["hoverEvent"]["contents"]["components"]["minecraft:custom_name"] = name
+ if "components" not in slot["hover_event"]:
+ slot["hover_event"]["components"] = {}
+ if "components" not in slot_under["hover_event"]:
+ slot_under["hover_event"]["components"] = {}
+ slot["hover_event"]["components"]["minecraft:custom_name"] = name
+ slot_under["hover_event"]["components"]["minecraft:custom_name"] = name
if len(lore) > 0:
- if "components" not in slot["hoverEvent"]["contents"]:
- slot["hoverEvent"]["contents"]["components"] = {}
- if "components" not in slot_under["hoverEvent"]["contents"]:
- slot_under["hoverEvent"]["contents"]["components"] = {}
- slot["hoverEvent"]["contents"]["components"]["minecraft:lore"] = lore
- slot_under["hoverEvent"]["contents"]["components"]["minecraft:lore"] = lore
+ if "components" not in slot["hover_event"]:
+ slot["hover_event"]["components"] = {}
+ if "components" not in slot_under["hover_event"]:
+ slot_under["hover_event"]["components"] = {}
+ slot["hover_event"]["components"]["minecraft:lore"] = lore
+ slot_under["hover_event"]["components"]["minecraft:lore"] = lore
return slot, slot_under
@@ -931,7 +927,7 @@ def loottable_to_display(loottable: str, data: dict[Any,Any], ctx: Context) -> t
"""
def item_to_display(ingredient: dict[Any, Any], ctx: Context) -> tuple[TextComponent, TextComponent]:
vanilla = ctx.inject(Vanilla)
- vanilla.minecraft_version = '1.21.4'
+ vanilla.minecraft_version = '1.21.5'
if ingredient.get("id") == "empty":
# show empty slot ()
slot = {
@@ -975,8 +971,8 @@ def item_to_display(ingredient: dict[Any, Any], ctx: Context) -> tuple[TextCompo
else:
item = ingredient["id"]
color = get_texture_color(intuit_item_texture(item, vanilla))
- display_color = ingredient["guidebook"]["display_color"] if (item in IS_DYED and "guidebook" in ingredient and "display_color" in ingredient["guidebook"]) else ingredient["components"]["minecraft:dyed_color"]["rgb"] if (item in IS_DYED and "components" in ingredient and "minecraft:dyed_color" in ingredient["components"]) else DEFAULT_COLORS[item] if item in DEFAULT_COLORS else 16777215 # white
- overlay_color = ingredient["guidebook"]["overlay_color"] if (item in OVERLAY_DYED and "guidebook" in ingredient and "overlay_color" in ingredient["guidebook"]) else ingredient["components"]["minecraft:dyed_color"]["rgb"] if (item in OVERLAY_DYED and"components" in ingredient and "minecraft:dyed_color" in ingredient["components"]) else DEFAULT_OVERLAY_COLORS[item] if item in DEFAULT_OVERLAY_COLORS else 16777215 # white
+ display_color = ingredient["guidebook"]["display_color"] if (item in IS_DYED and "guidebook" in ingredient and "display_color" in ingredient["guidebook"]) else ingredient["components"]["minecraft:dyed_color"] if (item in IS_DYED and "components" in ingredient and "minecraft:dyed_color" in ingredient["components"]) else DEFAULT_COLORS[item] if item in DEFAULT_COLORS else 16777215 # white
+ overlay_color = ingredient["guidebook"]["overlay_color"] if (item in OVERLAY_DYED and "guidebook" in ingredient and "overlay_color" in ingredient["guidebook"]) else ingredient["components"]["minecraft:dyed_color"] if (item in OVERLAY_DYED and"components" in ingredient and "minecraft:dyed_color" in ingredient["components"]) else DEFAULT_OVERLAY_COLORS[item] if item in DEFAULT_OVERLAY_COLORS else 16777215 # white
if "image" in ingredient:
image = ingredient["image"]
else:
@@ -1004,11 +1000,9 @@ def item_to_display(ingredient: dict[Any, Any], ctx: Context) -> tuple[TextCompo
}
]
],
- "hoverEvent": {
+ "hover_event": {
"action": "show_item",
- "contents": {
- "id": item
- }
+ "id": item
}
}
slot_under: dict[Any, Any] = {
@@ -1026,16 +1020,14 @@ def item_to_display(ingredient: dict[Any, Any], ctx: Context) -> tuple[TextCompo
"font": "gm4:guidebook"
}
],
- "hoverEvent": {
+ "hover_event": {
"action": "show_item",
- "contents": {
- "id": item
- }
+ "id": item
}
}
if "components" in ingredient:
- slot["hoverEvent"]["contents"]["components"] = ingredient['components']
- slot_under["hoverEvent"]["contents"]["components"] = ingredient['components']
+ slot["hover_event"]["components"] = ingredient['components']
+ slot_under["hover_event"]["components"] = ingredient['components']
return slot, slot_under
@@ -1105,7 +1097,7 @@ def generate_recipe_display(recipe: str, ctx: Context) -> list[TextComponent]:
else:
if "tag" in ingr:
vanilla = ctx.inject(Vanilla)
- vanilla.minecraft_version = '1.21.4'
+ vanilla.minecraft_version = '1.21.5'
item["id"] = get_item_from_tag(ingr["tag"], vanilla)
else:
item["id"] = ingr["item"]
@@ -1130,9 +1122,9 @@ def generate_recipe_display(recipe: str, ctx: Context) -> list[TextComponent]:
"font": "gm4:guidebook"
}
],
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": {
+ "value": {
"translate": "text.gm4.guidebook.shapeless",
"fallback": "Recipe is shapeless"
}
@@ -1376,11 +1368,11 @@ def populate_insert(element: dict[Any, Any], book: Book, ctx: Context, lectern:
}
# (default) locked text
elif element["insert"] == "locked_text":
- locked_text = ["\n",{'translate':'gm4.second','fallback':'%1$s',"with":[{'text':'\n\n\n\n ??? '},{'translate': 'gui.gm4.guidebook.locked_page', 'fallback': '\n\n\n\n ??? ','color': 'white','font':'gm4:guidebook'}],'hoverEvent':{'action':'show_text','contents':[{'translate':'text.gm4.guidebook.undiscovered','fallback':'Undiscovered','italic':True,'color':'red'}]}}]
+ locked_text = ["\n",{'translate':'gm4.second','fallback':'%1$s',"with":[{'text':'\n\n\n\n ??? '},{'translate': 'gui.gm4.guidebook.locked_page', 'fallback': '\n\n\n\n ??? ','color': 'white','font':'gm4:guidebook'}],'hover_event':{'action':'show_text','value':[{'translate':'text.gm4.guidebook.undiscovered','fallback':'Undiscovered','italic':True,'color':'red'}]}}]
return locked_text
# title page locked text
elif element["insert"] == "locked_text_title":
- locked_text = ["",{'translate':'gm4.second','fallback':'%1$s',"with":[{'text':'\n\n\n\n ??? '},{'translate': 'gui.gm4.guidebook.locked_page', 'fallback': '\n\n\n\n ??? ','color': 'white','font':'gm4:guidebook'}],'hoverEvent':{'action':'show_text','contents':[{'translate':'text.gm4.guidebook.undiscovered','fallback':'Undiscovered','italic':True,'color':'red'}]}}]
+ locked_text = ["",{'translate':'gm4.second','fallback':'%1$s',"with":[{'text':'\n\n\n\n ??? '},{'translate': 'gui.gm4.guidebook.locked_page', 'fallback': '\n\n\n\n ??? ','color': 'white','font':'gm4:guidebook'}],'hover_event':{'action':'show_text','value':[{'translate':'text.gm4.guidebook.undiscovered','fallback':'Undiscovered','italic':True,'color':'red'}]}}]
return locked_text
# recipes
elif element["insert"] == "recipe":
@@ -1394,7 +1386,7 @@ def populate_insert(element: dict[Any, Any], book: Book, ctx: Context, lectern:
"""
Converts the JSON text component into a string to be placed inside the page NBT
"""
-def stringify_page(page: TextComponent, book: Book, ctx: Context, lectern: bool = False) -> str:
+def stringify_page(page: TextComponent, book: Book, ctx: Context, lectern: bool = False) -> list[dict[Any,Any]|str]:
page_with_header: list[dict[Any,Any]|str] = generate_lectern_header(book) if lectern else generate_book_header(book)
# populate insertions for a single value
if isinstance(page, dict):
@@ -1410,7 +1402,7 @@ def stringify_page(page: TextComponent, book: Book, ctx: Context, lectern: bool
page_with_header.extend(page)
else:
page_with_header.append(page)
- return f'{json.dumps(page_with_header)}'
+ return page_with_header
@@ -1638,10 +1630,10 @@ def generate_reward_function(section: Section, book_id: str, book_name: str, des
{
"text": f"[{book_name}]", # module name (never translated)
"color": "#4AA0C7",
- "hoverEvent":
+ "hover_event":
{
"action": "show_text",
- "contents": [
+ "value": [
{
"text": book_name, # module name
"color": "#4AA0C7"
@@ -1722,11 +1714,11 @@ def generate_unlock_function(section: Section, book_id: str, page_index: int, lo
"""
Creates the page storage to store book info for a given module
"""
-def generate_page_storage(book: Book, ctx: Context) -> dict[str,dict[str,list[str]|dict[str,str]]]:
- hand_initial:list[str] = []
- hand_unlockable:dict[str,str] = {}
- lectern_initial:list[str] = ['["\\n\\n",{"translate":"gui.gm4.guidebook.page","fallback":"","color":"white","font":"gm4:guidebook"}]','["",{"translate":"gui.gm4.guidebook.page.toc","fallback":"","color":"white","font":"gm4:guidebook"}]','["\\n\\n",{"translate":"gui.gm4.guidebook.page","fallback":"","color":"white","font":"gm4:guidebook"}]','["\\n\\n",{"translate":"gui.gm4.guidebook.page","fallback":"","color":"white","font":"gm4:guidebook"}]','["\\n\\n",{"translate":"gui.gm4.guidebook.page","fallback":"","color":"white","font":"gm4:guidebook"}]']
- lectern_unlockable:dict[str,str] = {}
+def generate_page_storage(book: Book, ctx: Context) -> any: # type: ignore
+ hand_initial:list[Any] = []
+ hand_unlockable:dict[str,Any] = {}
+ lectern_initial:list[Any] = [["\n\n",{"translate":"gui.gm4.guidebook.page","fallback":"","color":"white","font":"gm4:guidebook"}],["",{"translate":"gui.gm4.guidebook.page.toc","fallback":"","color":"white","font":"gm4:guidebook"}],["\n\n",{"translate":"gui.gm4.guidebook.page","fallback":"","color":"white","font":"gm4:guidebook"}],["\n\n",{"translate":"gui.gm4.guidebook.page","fallback":"","color":"white","font":"gm4:guidebook"}],["\n\n",{"translate":"gui.gm4.guidebook.page","fallback":"","color":"white","font":"gm4:guidebook"}]]
+ lectern_unlockable:dict[str,Any] = {}
for section_index, section in enumerate(book.sections):
# check if the page is unlockable or initial
@@ -1759,7 +1751,7 @@ def generate_page_storage(book: Book, ctx: Context) -> dict[str,dict[str,list[st
hand_unlockable[page_name] = stringify_page(page, book, ctx, False)
lectern_unlockable[page_name] = stringify_page(page, book, ctx, True)
- lectern_initial.append('["\\n\\n",{"translate":"gui.gm4.guidebook.page","fallback":"","color":"white","font":"gm4:guidebook"}]')
+ lectern_initial.append(["\n\n",{"translate":"gui.gm4.guidebook.page","fallback":"","color":"white","font":"gm4:guidebook"}])
return {
"hand": {
@@ -1800,13 +1792,13 @@ def generate_add_toc_line_function(book: Book, overlay: bool = False) -> Functio
text_component = {
"text": get_toc_line(book),
"color": "#4AA0C7",
- "clickEvent": {
+ "click_event": {
"action": "run_command",
- "value": f"/trigger gm4_guide set {book.trigger_id}"
+ "command": f"/trigger gm4_guide set {book.trigger_id}"
},
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [{
+ "value": [{
"translate": "text.gm4.guidebook.jump_to_section",
"fallback": "Jump to Section",
"color": "gold"
@@ -1814,7 +1806,7 @@ def generate_add_toc_line_function(book: Book, overlay: bool = False) -> Functio
}
}
return Function([
- f"execute if score $trigger gm4_guide matches {book.trigger_id} if score {book.load_check} load.status matches 1.. run data modify storage gm4_guidebook:temp page append value ' {json.dumps(text_component, ensure_ascii=False)}'"
+ f"execute if score $trigger gm4_guide matches {book.trigger_id} if score {book.load_check} load.status matches 1.. run data modify storage gm4_guidebook:temp page append value {json.dumps(text_component, ensure_ascii=False)}"
], tags=[] if overlay else ["gm4_guidebook:add_toc_line"])
@@ -1823,7 +1815,7 @@ def generate_add_toc_line_function(book: Book, overlay: bool = False) -> Functio
"""
def generate_summon_marker_function(book: Book, overlay: bool = False) -> Function:
marker_nbt = nbtlib.Compound()
- marker_nbt["CustomName"] = nbtlib.String(f'"gm4_{book.id}"')
+ marker_nbt["CustomName"] = nbtlib.String(f'gm4_{book.id}')
marker_nbt["Tags"] = nbtlib.List([nbtlib.String("gm4_guide"),nbtlib.String(f"gm4_guide_{book.id}")])
marker_nbt["data"] = nbtlib.Compound()
marker_nbt["data"]["type"] = nbtlib.String(book.module_type)
diff --git a/gm4_guidebook/mod.mcdoc b/gm4_guidebook/mod.mcdoc
index 0a404dcfe8..b01c85db87 100644
--- a/gm4_guidebook/mod.mcdoc
+++ b/gm4_guidebook/mod.mcdoc
@@ -1,4 +1,4 @@
-use ::java::server::world::item::SingleItem
+use ::java::world::item::SingleItem
use ::java::data::advancement::AdvancementCriterion
use ::java::server::util::text::Text
diff --git a/gm4_heart_canisters/assets/translations.csv b/gm4_heart_canisters/assets/translations.csv
index 3c251c9d86..e5cc49d4ed 100644
--- a/gm4_heart_canisters/assets/translations.csv
+++ b/gm4_heart_canisters/assets/translations.csv
@@ -10,5 +10,5 @@ advancement.gm4.heart_canisters.tier_2.description,Craft a tier 2 Heart Canister
text.gm4.guidebook.module_desc.heart_canisters,Introduces two tiers of pricey canisters that increase your health when carried.
text.gm4.guidebook.heart_canisters.description,Heart Canisters can be used to increase health. Up to 20 additional hearts can be obtained.\n\nThey can be crafted in a Custom Crafter using golden apples and a powerful core.
text.gm4.guidebook.heart_canisters.crafting_tier_1,The recipes for a heart canister is as follows:
-text.gm4.guidebook.heart_canisters.usage_tier_1,Tier 2 heart canisters require five tier 1 canisters also in the inventory to function.
-text.gm4.guidebook.heart_canisters.stacking,Heart canisters of the same type must be in the same inventory slot to provide the proper amount of health.\n\nOnly up to five of each heart canister tier will give extra health.
+text.gm4.guidebook.heart_canisters.crafting_tier_2,Tier 2 heart canisters can be crafted with tier 1 canisters.
+text.gm4.guidebook.heart_canisters.max_amount,Each heart canister will give 2 extra hearts.\n\nOnly up to five of each heart canister tier will give extra health.
diff --git a/gm4_heart_canisters/beet.yaml b/gm4_heart_canisters/beet.yaml
index a2076c80d7..36a2c202d3 100644
--- a/gm4_heart_canisters/beet.yaml
+++ b/gm4_heart_canisters/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_heart_canisters
name: Heart Canisters
-version: 1.7.X
+version: 1.8.X
data_pack:
load: .
@@ -16,7 +16,7 @@ meta:
gm4:
versioning:
required:
- lib_custom_crafters: 3.2.0
+ lib_custom_crafters: 3.4.0
schedule_loops: [main]
model_data:
- item: player_head
@@ -42,8 +42,6 @@ meta:
- gm4_resource_pack
- gm4_relocators
- gm4_standard_crafting
- - gm4_auto_crafting
- - gm4_record_crafting
- gm4_ender_hoppers
- gm4_enchantment_extractors
- gm4_forming_press
diff --git a/gm4_heart_canisters/data/gm4/advancement/heart_canisters_max.json b/gm4_heart_canisters/data/gm4/advancement/heart_canisters_max.json
index f86c0c186c..897bcea4c4 100644
--- a/gm4_heart_canisters/data/gm4/advancement/heart_canisters_max.json
+++ b/gm4_heart_canisters/data/gm4/advancement/heart_canisters_max.json
@@ -26,7 +26,7 @@
"items": [
{
"items": [
- "minecraft:player_head"
+ "minecraft:poisonous_potato"
],
"count": 5,
"predicates": {
@@ -35,7 +35,7 @@
},
{
"items": [
- "minecraft:player_head"
+ "minecraft:poisonous_potato"
],
"count": 5,
"predicates": {
diff --git a/gm4_heart_canisters/data/gm4/advancement/heart_canisters_tier_1.json b/gm4_heart_canisters/data/gm4/advancement/heart_canisters_tier_1.json
index 511d9986ef..2444ac6953 100644
--- a/gm4_heart_canisters/data/gm4/advancement/heart_canisters_tier_1.json
+++ b/gm4_heart_canisters/data/gm4/advancement/heart_canisters_tier_1.json
@@ -25,7 +25,7 @@
"items": [
{
"items": [
- "minecraft:player_head"
+ "minecraft:poisonous_potato"
],
"predicates": {
"minecraft:custom_data": "{gm4_heart_canister_tier:1b}"
diff --git a/gm4_heart_canisters/data/gm4/advancement/heart_canisters_tier_2.json b/gm4_heart_canisters/data/gm4/advancement/heart_canisters_tier_2.json
index f550cf1c51..a6837a7605 100644
--- a/gm4_heart_canisters/data/gm4/advancement/heart_canisters_tier_2.json
+++ b/gm4_heart_canisters/data/gm4/advancement/heart_canisters_tier_2.json
@@ -25,7 +25,7 @@
"items": [
{
"items": [
- "minecraft:player_head"
+ "minecraft:poisonous_potato"
],
"predicates": {
"minecraft:custom_data": "{gm4_heart_canister_tier:2b}"
diff --git a/gm4_heart_canisters/data/gm4_heart_canisters/advancement/upgrade_path.json b/gm4_heart_canisters/data/gm4_heart_canisters/advancement/upgrade_path.json
new file mode 100644
index 0000000000..fa9a655c1b
--- /dev/null
+++ b/gm4_heart_canisters/data/gm4_heart_canisters/advancement/upgrade_path.json
@@ -0,0 +1,22 @@
+{
+ "criteria": {
+ "upgrade_heart_canisters": {
+ "trigger": "minecraft:inventory_changed",
+ "conditions": {
+ "items": [
+ {
+ "items": "player_head",
+ "predicates": {
+ "minecraft:custom_data": {
+ "gm4_heart_canister": 1
+ }
+ }
+ }
+ ]
+ }
+ }
+ },
+ "rewards": {
+ "function": "gm4_heart_canisters:upgrade_path/upgrade_heart_canisters"
+ }
+}
diff --git a/gm4_heart_canisters/data/gm4_heart_canisters/function/apply_health_boost.mcfunction b/gm4_heart_canisters/data/gm4_heart_canisters/function/apply_health_boost.mcfunction
index ecdf2c16c8..f00e7f1287 100644
--- a/gm4_heart_canisters/data/gm4_heart_canisters/function/apply_health_boost.mcfunction
+++ b/gm4_heart_canisters/data/gm4_heart_canisters/function/apply_health_boost.mcfunction
@@ -2,16 +2,9 @@
# run from check_heart_canisters
attribute @s minecraft:max_health modifier remove minecraft:38a576e7-341b-46ed-a9e3-7b7291beae72
-attribute @s[scores={gm4_heart_can=1}] minecraft:max_health modifier add minecraft:38a576e7-341b-46ed-a9e3-7b7291beae72 4 add_value
-attribute @s[scores={gm4_heart_can=2}] minecraft:max_health modifier add minecraft:38a576e7-341b-46ed-a9e3-7b7291beae72 8 add_value
-attribute @s[scores={gm4_heart_can=3}] minecraft:max_health modifier add minecraft:38a576e7-341b-46ed-a9e3-7b7291beae72 12 add_value
-attribute @s[scores={gm4_heart_can=4}] minecraft:max_health modifier add minecraft:38a576e7-341b-46ed-a9e3-7b7291beae72 16 add_value
-attribute @s[scores={gm4_heart_can=5}] minecraft:max_health modifier add minecraft:38a576e7-341b-46ed-a9e3-7b7291beae72 20 add_value
-attribute @s[scores={gm4_heart_can=6}] minecraft:max_health modifier add minecraft:38a576e7-341b-46ed-a9e3-7b7291beae72 24 add_value
-attribute @s[scores={gm4_heart_can=7}] minecraft:max_health modifier add minecraft:38a576e7-341b-46ed-a9e3-7b7291beae72 28 add_value
-attribute @s[scores={gm4_heart_can=8}] minecraft:max_health modifier add minecraft:38a576e7-341b-46ed-a9e3-7b7291beae72 32 add_value
-attribute @s[scores={gm4_heart_can=9}] minecraft:max_health modifier add minecraft:38a576e7-341b-46ed-a9e3-7b7291beae72 36 add_value
-attribute @s[scores={gm4_heart_can=10}] minecraft:max_health modifier add minecraft:38a576e7-341b-46ed-a9e3-7b7291beae72 40 add_value
+execute store result storage gm4_heart_cannisters:temp amount int 4 run scoreboard players get @s gm4_heart_can
+function gm4_heart_canisters:eval_health_boost with storage gm4_heart_cannisters:temp
+data remove storage gm4_heart_cannisters:temp amount
tag @s[predicate=gm4_heart_canisters:has_health_boost] add gm4_hc_has_effect
effect give @s[tag=!gm4_hc_has_effect] health_boost 1
diff --git a/gm4_heart_canisters/data/gm4_heart_canisters/function/check_heart_canisters.mcfunction b/gm4_heart_canisters/data/gm4_heart_canisters/function/check_heart_canisters.mcfunction
index ca6186a729..f6c191be60 100644
--- a/gm4_heart_canisters/data/gm4_heart_canisters/function/check_heart_canisters.mcfunction
+++ b/gm4_heart_canisters/data/gm4_heart_canisters/function/check_heart_canisters.mcfunction
@@ -1,13 +1,14 @@
-# gets called for every player with at least 1 heart canister tier 1 item
+# gets called for every player with at least 1 heart canister item
-scoreboard players set @s[nbt={Inventory:[{count:1,components:{"minecraft:custom_data":{gm4_heart_canister_tier:1b}}}]}] gm4_heart_can 1
-scoreboard players set @s[nbt={Inventory:[{count:2,components:{"minecraft:custom_data":{gm4_heart_canister_tier:1b}}}]}] gm4_heart_can 2
-scoreboard players set @s[nbt={Inventory:[{count:3,components:{"minecraft:custom_data":{gm4_heart_canister_tier:1b}}}]}] gm4_heart_can 3
-scoreboard players set @s[nbt={Inventory:[{count:4,components:{"minecraft:custom_data":{gm4_heart_canister_tier:1b}}}]}] gm4_heart_can 4
-scoreboard players set @s[nbt={Inventory:[{count:5,components:{"minecraft:custom_data":{gm4_heart_canister_tier:1b}}}]}] gm4_heart_can 5
+# tier 1
+execute store result score @s gm4_heart_can if items entity @s container.* poisonous_potato[custom_data~{gm4_heart_canister_tier:1b}]
+execute store result score $count_add gm4_heart_can if items entity @s weapon.offhand poisonous_potato[custom_data~{gm4_heart_canister_tier:1b}]
+scoreboard players operation @s gm4_heart_can += $count_add gm4_heart_can
+scoreboard players operation @s gm4_heart_can < $heart_cannister_cap gm4_heart_can
-scoreboard players set @s[scores={gm4_heart_can=5..},nbt={Inventory:[{count:1,components:{"minecraft:custom_data":{gm4_heart_canister_tier:2b}}}]}] gm4_heart_can 6
-scoreboard players set @s[scores={gm4_heart_can=5..},nbt={Inventory:[{count:2,components:{"minecraft:custom_data":{gm4_heart_canister_tier:2b}}}]}] gm4_heart_can 7
-scoreboard players set @s[scores={gm4_heart_can=5..},nbt={Inventory:[{count:3,components:{"minecraft:custom_data":{gm4_heart_canister_tier:2b}}}]}] gm4_heart_can 8
-scoreboard players set @s[scores={gm4_heart_can=5..},nbt={Inventory:[{count:4,components:{"minecraft:custom_data":{gm4_heart_canister_tier:2b}}}]}] gm4_heart_can 9
-scoreboard players set @s[scores={gm4_heart_can=5..},nbt={Inventory:[{count:5,components:{"minecraft:custom_data":{gm4_heart_canister_tier:2b}}}]}] gm4_heart_can 10
+# tier 2
+execute store result score $count_tier2 gm4_heart_can if items entity @s container.* poisonous_potato[custom_data~{gm4_heart_canister_tier:2b}]
+execute store result score $count_add gm4_heart_can if items entity @s weapon.offhand poisonous_potato[custom_data~{gm4_heart_canister_tier:2b}]
+scoreboard players operation $count_tier2 gm4_heart_can += $count_add gm4_heart_can
+scoreboard players operation $count_tier2 gm4_heart_can < $heart_cannister_cap gm4_heart_can
+scoreboard players operation @s gm4_heart_can += $count_tier2 gm4_heart_can
diff --git a/gm4_heart_canisters/data/gm4_heart_canisters/function/check_recipes.mcfunction b/gm4_heart_canisters/data/gm4_heart_canisters/function/check_recipes.mcfunction
index 10dcbc5c3e..a219a4f82f 100644
--- a/gm4_heart_canisters/data/gm4_heart_canisters/function/check_recipes.mcfunction
+++ b/gm4_heart_canisters/data/gm4_heart_canisters/function/check_recipes.mcfunction
@@ -1,2 +1,2 @@
execute if score $crafted gm4_crafting matches 0 store success score $crafted gm4_crafting if score $slot_count gm4_crafting matches 9 if data storage gm4_custom_crafters:temp/crafter {Items:[{Slot:0b,id:"minecraft:obsidian"},{Slot:1b,id:"minecraft:iron_block"},{Slot:2b,id:"minecraft:obsidian"},{Slot:3b,id:"minecraft:golden_apple"},{Slot:4b,id:"minecraft:nether_star"},{Slot:5b,id:"minecraft:golden_apple"},{Slot:6b,id:"minecraft:obsidian"},{Slot:7b,id:"minecraft:golden_apple"},{Slot:8b,id:"minecraft:obsidian"}]} run loot replace block ~ ~ ~ container.0 loot gm4_heart_canisters:crafting/tier_1_heart_canister
-execute if score $crafted gm4_crafting matches 0 store success score $crafted gm4_crafting if score $slot_count gm4_crafting matches 9 if data storage gm4_custom_crafters:temp/crafter {Items:[{Slot:0b,id:"minecraft:end_stone"},{Slot:1b,id:"minecraft:iron_block"},{Slot:2b,id:"minecraft:end_stone"},{Slot:3b,id:"minecraft:player_head",components:{"minecraft:custom_data":{gm4_heart_canister:1b,gm4_heart_canister_tier:1b}}},{Slot:4b,id:"minecraft:nether_star"},{Slot:5b,id:"minecraft:player_head",components:{"minecraft:custom_data":{gm4_heart_canister:1b,gm4_heart_canister_tier:1b}}},{Slot:6b,id:"minecraft:end_stone"},{Slot:7b,id:"minecraft:player_head",components:{"minecraft:custom_data":{gm4_heart_canister:1b,gm4_heart_canister_tier:1b}}},{Slot:8b,id:"minecraft:end_stone"}]} run loot replace block ~ ~ ~ container.0 loot gm4_heart_canisters:crafting/tier_2_heart_canister
+execute if score $crafted gm4_crafting matches 0 store success score $crafted gm4_crafting if score $slot_count gm4_crafting matches 9 if data storage gm4_custom_crafters:temp/crafter {Items:[{Slot:0b,id:"minecraft:end_stone"},{Slot:1b,id:"minecraft:iron_block"},{Slot:2b,id:"minecraft:end_stone"},{Slot:3b,id:"minecraft:poisonous_potato",components:{"minecraft:custom_data":{gm4_heart_canister:1b,gm4_heart_canister_tier:1b}}},{Slot:4b,id:"minecraft:nether_star"},{Slot:5b,id:"minecraft:poisonous_potato",components:{"minecraft:custom_data":{gm4_heart_canister:1b,gm4_heart_canister_tier:1b}}},{Slot:6b,id:"minecraft:end_stone"},{Slot:7b,id:"minecraft:poisonous_potato",components:{"minecraft:custom_data":{gm4_heart_canister:1b,gm4_heart_canister_tier:1b}}},{Slot:8b,id:"minecraft:end_stone"}]} run loot replace block ~ ~ ~ container.0 loot gm4_heart_canisters:crafting/tier_2_heart_canister
diff --git a/gm4_heart_canisters/data/gm4_heart_canisters/function/eval_health_boost.mcfunction b/gm4_heart_canisters/data/gm4_heart_canisters/function/eval_health_boost.mcfunction
new file mode 100644
index 0000000000..3fdc908629
--- /dev/null
+++ b/gm4_heart_canisters/data/gm4_heart_canisters/function/eval_health_boost.mcfunction
@@ -0,0 +1,3 @@
+# apply the health boost
+
+$attribute @s minecraft:max_health modifier add minecraft:38a576e7-341b-46ed-a9e3-7b7291beae72 $(amount) add_value
diff --git a/gm4_heart_canisters/data/gm4_heart_canisters/function/init.mcfunction b/gm4_heart_canisters/data/gm4_heart_canisters/function/init.mcfunction
index c81d2a4882..1f88d393ae 100644
--- a/gm4_heart_canisters/data/gm4_heart_canisters/function/init.mcfunction
+++ b/gm4_heart_canisters/data/gm4_heart_canisters/function/init.mcfunction
@@ -4,6 +4,8 @@ execute unless score heart_canisters gm4_modules matches 1 run data modify stora
execute unless score heart_canisters gm4_earliest_version < heart_canisters gm4_modules run scoreboard players operation heart_canisters gm4_earliest_version = heart_canisters gm4_modules
scoreboard players set heart_canisters gm4_modules 1
+scoreboard players set $heart_cannister_cap gm4_heart_can 5
+
schedule function gm4_heart_canisters:main 1t
#$moduleUpdateList
diff --git a/gm4_heart_canisters/data/gm4_heart_canisters/function/player.mcfunction b/gm4_heart_canisters/data/gm4_heart_canisters/function/player.mcfunction
index b93e2af7a1..72fed0d6c7 100644
--- a/gm4_heart_canisters/data/gm4_heart_canisters/function/player.mcfunction
+++ b/gm4_heart_canisters/data/gm4_heart_canisters/function/player.mcfunction
@@ -1,6 +1,6 @@
# check how many heart canisters the player has
scoreboard players operation $heart_can_last gm4_heart_can = @s gm4_heart_can
scoreboard players set @s gm4_heart_can 0
-execute if predicate gm4_heart_canisters:carries_tier_1 run function gm4_heart_canisters:check_heart_canisters
+execute if predicate gm4_heart_canisters:carries_heart_canister run function gm4_heart_canisters:check_heart_canisters
execute unless score @s gm4_heart_can = $heart_can_last gm4_heart_can run function gm4_heart_canisters:apply_health_boost
diff --git a/gm4_heart_canisters/data/gm4_heart_canisters/function/upgrade_path/loop_1.mcfunction b/gm4_heart_canisters/data/gm4_heart_canisters/function/upgrade_path/loop_1.mcfunction
new file mode 100644
index 0000000000..7f6f53734d
--- /dev/null
+++ b/gm4_heart_canisters/data/gm4_heart_canisters/function/upgrade_path/loop_1.mcfunction
@@ -0,0 +1,4 @@
+
+execute if score $tier_1 gm4_heart_can matches 1.. run loot give @s loot gm4_heart_canisters:items/tier_1_heart_canister
+scoreboard players remove $tier_1 gm4_heart_can 1
+execute if score $tier_1 gm4_heart_can matches 1.. run function gm4_heart_canisters:upgrade_path/loop_1
diff --git a/gm4_heart_canisters/data/gm4_heart_canisters/function/upgrade_path/loop_2.mcfunction b/gm4_heart_canisters/data/gm4_heart_canisters/function/upgrade_path/loop_2.mcfunction
new file mode 100644
index 0000000000..fc75d8dd72
--- /dev/null
+++ b/gm4_heart_canisters/data/gm4_heart_canisters/function/upgrade_path/loop_2.mcfunction
@@ -0,0 +1,4 @@
+
+execute if score $tier_2 gm4_heart_can matches 1.. run loot give @s loot gm4_heart_canisters:items/tier_2_heart_canister
+scoreboard players remove $tier_2 gm4_heart_can 1
+execute if score $tier_2 gm4_heart_can matches 1.. run function gm4_heart_canisters:upgrade_path/loop_2
diff --git a/gm4_heart_canisters/data/gm4_heart_canisters/function/upgrade_path/upgrade_heart_canisters.mcfunction b/gm4_heart_canisters/data/gm4_heart_canisters/function/upgrade_path/upgrade_heart_canisters.mcfunction
new file mode 100644
index 0000000000..50635ab5e1
--- /dev/null
+++ b/gm4_heart_canisters/data/gm4_heart_canisters/function/upgrade_path/upgrade_heart_canisters.mcfunction
@@ -0,0 +1,7 @@
+advancement revoke @s only gm4_heart_canisters:upgrade_path
+
+execute store result score $tier_1 gm4_heart_can run clear @s player_head[minecraft:custom_data~{gm4_heart_canister_tier:1b}]
+execute store result score $tier_2 gm4_heart_can run clear @s player_head[minecraft:custom_data~{gm4_heart_canister_tier:2b}]
+
+execute if score $tier_1 gm4_heart_can matches 1.. run function gm4_heart_canisters:upgrade_path/loop_1
+execute if score $tier_2 gm4_heart_can matches 1.. run function gm4_heart_canisters:upgrade_path/loop_2
diff --git a/gm4_heart_canisters/data/gm4_heart_canisters/gm4_recipes/tier_2_heart_canister.json b/gm4_heart_canisters/data/gm4_heart_canisters/gm4_recipes/tier_2_heart_canister.json
index 69cab8b538..a5dddad978 100644
--- a/gm4_heart_canisters/data/gm4_heart_canisters/gm4_recipes/tier_2_heart_canister.json
+++ b/gm4_heart_canisters/data/gm4_heart_canisters/gm4_recipes/tier_2_heart_canister.json
@@ -14,7 +14,7 @@
"item": "minecraft:iron_block"
},
"H": {
- "item": "minecraft:player_head",
+ "item": "minecraft:poisonous_potato",
"components": {"minecraft:custom_data":{"gm4_heart_canister":1,"gm4_heart_canister_tier":1}},
"guidebook": {
"type": "loot_table",
diff --git a/gm4_heart_canisters/data/gm4_heart_canisters/guidebook/heart_canisters.json b/gm4_heart_canisters/data/gm4_heart_canisters/guidebook/heart_canisters.json
index 0c2745b5dc..d277307fa9 100644
--- a/gm4_heart_canisters/data/gm4_heart_canisters/guidebook/heart_canisters.json
+++ b/gm4_heart_canisters/data/gm4_heart_canisters/guidebook/heart_canisters.json
@@ -3,7 +3,7 @@
"name": "Heart Canisters",
"module_type": "module",
"icon": {
- "id": "minecraft:player_head",
+ "id": "minecraft:poisonous_potato",
"components": {
"minecraft:profile": "$heart_canister_tier_1"
}
@@ -27,7 +27,7 @@
"items": [
{
"items": [
- "minecraft:player_head"
+ "minecraft:poisonous_potato"
],
"predicates": {
"minecraft:custom_data": "{gm4_heart_canister:1b}"
@@ -87,8 +87,8 @@
"pages": [
[
{
- "translate": "text.gm4.guidebook.heart_canisters.usage_tier_1",
- "fallback": "Tier 2 heart canisters require five tier 1 canisters also in the inventory to function."
+ "translate": "text.gm4.guidebook.heart_canisters.crafting_tier_2",
+ "fallback": "Tier 2 heart canisters can be crafted with tier 1 canisters."
},
"\n",
{
@@ -98,8 +98,8 @@
],
[
{
- "translate": "text.gm4.guidebook.heart_canisters.stacking",
- "fallback": "Heart canisters of the same type must be in the same inventory slot to provide the proper amount of health.\n\nOnly up to five of each heart canister tier will give extra health."
+ "translate": "text.gm4.guidebook.heart_canisters.max_amount",
+ "fallback": "Each heart canister will give 2 extra hearts.\n\nOnly up to five of each heart canister tier will give extra health."
}
]
],
diff --git a/gm4_heart_canisters/data/gm4_heart_canisters/loot_table/items/tier_1_heart_canister.json b/gm4_heart_canisters/data/gm4_heart_canisters/loot_table/items/tier_1_heart_canister.json
index 5d3a2b07b7..5d3dc72771 100644
--- a/gm4_heart_canisters/data/gm4_heart_canisters/loot_table/items/tier_1_heart_canister.json
+++ b/gm4_heart_canisters/data/gm4_heart_canisters/loot_table/items/tier_1_heart_canister.json
@@ -5,13 +5,17 @@
"entries": [
{
"type": "minecraft:item",
- "name": "minecraft:player_head",
+ "name": "minecraft:poisonous_potato",
"functions": [
{
"function": "minecraft:set_components",
"components": {
+ "!food": {},
+ "!consumable": {},
+ "item_model": "minecraft:player_head",
+ "max_stack_size": 5,
"minecraft:custom_model_data": "item/heart_canister_tier_1",
- "minecraft:profile": "$heart_canister_tier_1"
+ "minecraft:profile": "$heart_canister_tier_1"
}
},
{
diff --git a/gm4_heart_canisters/data/gm4_heart_canisters/loot_table/items/tier_2_heart_canister.json b/gm4_heart_canisters/data/gm4_heart_canisters/loot_table/items/tier_2_heart_canister.json
index ac22809e61..5c5819fa65 100644
--- a/gm4_heart_canisters/data/gm4_heart_canisters/loot_table/items/tier_2_heart_canister.json
+++ b/gm4_heart_canisters/data/gm4_heart_canisters/loot_table/items/tier_2_heart_canister.json
@@ -5,11 +5,15 @@
"entries": [
{
"type": "minecraft:item",
- "name": "minecraft:player_head",
+ "name": "minecraft:poisonous_potato",
"functions": [
{
"function": "minecraft:set_components",
"components": {
+ "!food": {},
+ "!consumable": {},
+ "item_model": "minecraft:player_head",
+ "max_stack_size": 5,
"minecraft:custom_model_data": "item/heart_canister_tier_2",
"minecraft:profile": "$heart_canister_tier_2"
}
diff --git a/gm4_heart_canisters/data/gm4_heart_canisters/predicate/carries_heart_canister.json b/gm4_heart_canisters/data/gm4_heart_canisters/predicate/carries_heart_canister.json
new file mode 100644
index 0000000000..f2176d88ea
--- /dev/null
+++ b/gm4_heart_canisters/data/gm4_heart_canisters/predicate/carries_heart_canister.json
@@ -0,0 +1,75 @@
+{
+ "condition": "minecraft:any_of",
+ "terms": [
+ {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "slots": {
+ "container.*": {
+ "items": "minecraft:poisonous_potato",
+ "predicates": {
+ "minecraft:custom_data": "{gm4_heart_canister:1b}"
+ }
+ }
+ }
+ }
+ },
+ {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "slots": {
+ "armor.*": {
+ "items": "minecraft:poisonous_potato",
+ "predicates": {
+ "minecraft:custom_data": "{gm4_heart_canister:1b}"
+ }
+ }
+ }
+ }
+ },
+ {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "slots": {
+ "player.cursor": {
+ "items": "minecraft:poisonous_potato",
+ "predicates": {
+ "minecraft:custom_data": "{gm4_heart_canister:1b}"
+ }
+ }
+ }
+ }
+ },
+ {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "slots": {
+ "player.crafting.*": {
+ "items": "minecraft:poisonous_potato",
+ "predicates": {
+ "minecraft:custom_data": "{gm4_heart_canister:1b}"
+ }
+ }
+ }
+ }
+ },
+ {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "slots": {
+ "weapon.*": {
+ "items": "minecraft:poisonous_potato",
+ "predicates": {
+ "minecraft:custom_data": "{gm4_heart_canister:1b}"
+ }
+ }
+ }
+ }
+ }
+ ]
+}
diff --git a/gm4_heart_canisters/data/gm4_heart_canisters/predicate/carries_tier_1.json b/gm4_heart_canisters/data/gm4_heart_canisters/predicate/carries_tier_1.json
deleted file mode 100644
index d870b52535..0000000000
--- a/gm4_heart_canisters/data/gm4_heart_canisters/predicate/carries_tier_1.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "condition": "minecraft:any_of",
- "terms": [
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "slots": {
- "container.*": {
- "items": "minecraft:player_head",
- "predicates": {
- "minecraft:custom_data": "{gm4_heart_canister_tier:1b}"
- }
- }
- }
- }
- },
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "slots": {
- "armor.*": {
- "items": "minecraft:player_head",
- "predicates": {
- "minecraft:custom_data": "{gm4_heart_canister_tier:1b}"
- }
- }
- }
- }
- },
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "slots": {
- "player.cursor": {
- "items": "minecraft:player_head",
- "predicates": {
- "minecraft:custom_data": "{gm4_heart_canister_tier:1b}"
- }
- }
- }
- }
- },
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "slots": {
- "player.crafting.*": {
- "items": "minecraft:player_head",
- "predicates": {
- "minecraft:custom_data": "{gm4_heart_canister_tier:1b}"
- }
- }
- }
- }
- },
- {
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "slots": {
- "weapon.*": {
- "items": "minecraft:player_head",
- "predicates": {
- "minecraft:custom_data": "{gm4_heart_canister_tier:1b}"
- }
- }
- }
- }
- }
- ]
-}
diff --git a/gm4_heart_canisters/data/gm4_heart_canisters/recipe/heart_canister_tier_1.json b/gm4_heart_canisters/data/gm4_heart_canisters/recipe/heart_canister_tier_1.json
index a58590df42..f80bd543f6 100644
--- a/gm4_heart_canisters/data/gm4_heart_canisters/recipe/heart_canister_tier_1.json
+++ b/gm4_heart_canisters/data/gm4_heart_canisters/recipe/heart_canister_tier_1.json
@@ -8,19 +8,23 @@
],
"key": {
"O": "minecraft:obsidian",
- "I": "minecraft:iron_ingot",
+ "I": "minecraft:iron_block",
"G": "minecraft:golden_apple",
"N": "minecraft:nether_star"
},
"result": {
- "id": "minecraft:player_head",
+ "id": "minecraft:poisonous_potato",
"components": {
"minecraft:custom_model_data": "item/heart_canister_tier_1",
+ "!food": {},
+ "!consumable": {},
+ "item_model": "minecraft:player_head",
+ "max_stack_size": 5,
"minecraft:profile": "$heart_canister_tier_1",
"minecraft:custom_data": "{gm4_heart_canister:1b,gm4_heart_canister_tier:1b}",
- "minecraft:custom_name": "{\"translate\":\"item.gm4.heart_canister\",\"fallback\":\"Heart Canister\",\"italic\":false}",
+ "minecraft:custom_name": {"translate":"item.gm4.heart_canister","fallback":"Heart Canister","italic":false},
"minecraft:lore": [
- "{\"translate\":\"item.gm4.heart_canister.lore.tier\",\"fallback\":\"Tier %s\",\"with\":[\"1\"],\"color\":\"gray\",\"italic\":false}"
+ {"translate":"item.gm4.heart_canister.lore.tier","fallback":"Tier %s","with":["1"],"color":"gray","italic":false}
]
}
}
diff --git a/gm4_heart_canisters/data/gm4_heart_canisters/test/apply_tier_1.mcfunction b/gm4_heart_canisters/data/gm4_heart_canisters/test/apply_tier_1.mcfunction
index 03caa6701d..4d9390de7c 100644
--- a/gm4_heart_canisters/data/gm4_heart_canisters/test/apply_tier_1.mcfunction
+++ b/gm4_heart_canisters/data/gm4_heart_canisters/test/apply_tier_1.mcfunction
@@ -7,7 +7,6 @@ scoreboard objectives add gm4_test dummy
execute store result score $max_health gm4_test run attribute @s minecraft:max_health get
assert score $max_health gm4_test matches 24
-loot give @s loot gm4_heart_canisters:items/tier_2_heart_canister
loot give @s loot gm4_heart_canisters:items/tier_1_heart_canister
await delay 1s
@@ -21,4 +20,4 @@ loot give @s loot gm4_heart_canisters:items/tier_1_heart_canister
await delay 1s
execute store result score $max_health gm4_test run attribute @s minecraft:max_health get
-assert score $max_health gm4_test matches 20
+assert score $max_health gm4_test matches 40
diff --git a/gm4_heart_canisters/data/gm4_heart_canisters/test/craft_tier_1.mcfunction b/gm4_heart_canisters/data/gm4_heart_canisters/test/craft_tier_1.mcfunction
index 32feb48429..7f3715337d 100644
--- a/gm4_heart_canisters/data/gm4_heart_canisters/test/craft_tier_1.mcfunction
+++ b/gm4_heart_canisters/data/gm4_heart_canisters/test/craft_tier_1.mcfunction
@@ -10,4 +10,4 @@ item replace block ~1 ~1 ~1 container.6 with minecraft:obsidian
item replace block ~1 ~1 ~1 container.7 with minecraft:golden_apple
item replace block ~1 ~1 ~1 container.8 with minecraft:obsidian
-await items block ~1 ~1 ~1 container.* minecraft:player_head[count=1,custom_data~{gm4_heart_canister:1b,gm4_heart_canister_tier:1b}]
+await items block ~1 ~1 ~1 container.* minecraft:poisonous_potato[count=1,custom_data~{gm4_heart_canister:1b,gm4_heart_canister_tier:1b}]
diff --git a/gm4_heart_canisters/data/gm4_heart_canisters/test/craft_tier_2.mcfunction b/gm4_heart_canisters/data/gm4_heart_canisters/test/craft_tier_2.mcfunction
index 8c42b62477..c50d487568 100644
--- a/gm4_heart_canisters/data/gm4_heart_canisters/test/craft_tier_2.mcfunction
+++ b/gm4_heart_canisters/data/gm4_heart_canisters/test/craft_tier_2.mcfunction
@@ -3,11 +3,11 @@
item replace block ~1 ~1 ~1 container.0 with minecraft:end_stone
item replace block ~1 ~1 ~1 container.1 with minecraft:iron_block
item replace block ~1 ~1 ~1 container.2 with minecraft:end_stone
-item replace block ~1 ~1 ~1 container.3 with minecraft:player_head[custom_data={gm4_heart_canister:1b,gm4_heart_canister_tier:1b}]
+item replace block ~1 ~1 ~1 container.3 with minecraft:poisonous_potato[custom_data={gm4_heart_canister:1b,gm4_heart_canister_tier:1b}]
item replace block ~1 ~1 ~1 container.4 with minecraft:nether_star
-item replace block ~1 ~1 ~1 container.5 with minecraft:player_head[custom_data={gm4_heart_canister:1b,gm4_heart_canister_tier:1b}]
+item replace block ~1 ~1 ~1 container.5 with minecraft:poisonous_potato[custom_data={gm4_heart_canister:1b,gm4_heart_canister_tier:1b}]
item replace block ~1 ~1 ~1 container.6 with minecraft:end_stone
-item replace block ~1 ~1 ~1 container.7 with minecraft:player_head[custom_data={gm4_heart_canister:1b,gm4_heart_canister_tier:1b}]
+item replace block ~1 ~1 ~1 container.7 with minecraft:poisonous_potato[custom_data={gm4_heart_canister:1b,gm4_heart_canister_tier:1b}]
item replace block ~1 ~1 ~1 container.8 with minecraft:end_stone
-await items block ~1 ~1 ~1 container.* minecraft:player_head[count=1,custom_data~{gm4_heart_canister:1b,gm4_heart_canister_tier:2b}]
+await items block ~1 ~1 ~1 container.* minecraft:poisonous_potato[count=1,custom_data~{gm4_heart_canister:1b,gm4_heart_canister_tier:2b}]
diff --git a/gm4_holographic_tags/beet.yaml b/gm4_holographic_tags/beet.yaml
index 23a42f2f08..e80e30338d 100644
--- a/gm4_holographic_tags/beet.yaml
+++ b/gm4_holographic_tags/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_holographic_tags
name: Holographic Tags
-version: 1.4.X
+version: 1.5.X
data_pack:
load: .
@@ -29,6 +29,8 @@ meta:
credits:
Creator:
- BPR
+ Updated by:
+ - Bloo
Inspired by:
- SethBling
Icon Design:
diff --git a/gm4_holographic_tags/data/gm4_holographic_tags/function/create_hologram.mcfunction b/gm4_holographic_tags/data/gm4_holographic_tags/function/create_hologram.mcfunction
index b89b4ddff7..084776d85f 100644
--- a/gm4_holographic_tags/data/gm4_holographic_tags/function/create_hologram.mcfunction
+++ b/gm4_holographic_tags/data/gm4_holographic_tags/function/create_hologram.mcfunction
@@ -1,16 +1,20 @@
# @s = item frame with renamed name tag
# run from main
-summon area_effect_cloud ~ ~ ~ {CustomNameVisible:1b,Particle:{type:"minecraft:block",block_state:"minecraft:air"},Age:-2147483647,Duration:2147483647,Tags:["gm4_hologram","smithed.entity","smithed.strict"]}
-data modify entity @e[type=area_effect_cloud,tag=gm4_hologram,limit=1,sort=nearest,distance=..0.1] CustomName set from entity @s Item.components."minecraft:custom_name"
-data modify entity @e[type=area_effect_cloud,tag=gm4_hologram,limit=1,sort=nearest,distance=..0.1] Rotation set from entity @s Rotation
-scoreboard players set @e[type=area_effect_cloud,tag=gm4_hologram,limit=1,sort=nearest,distance=..0.1] gm4_entity_version 1
-execute if block ^ ^ ^-0.75 #minecraft:wool as @e[type=area_effect_cloud,tag=gm4_hologram,limit=1,sort=nearest,distance=..0.1] run function gm4_holographic_tags:set_color
+# init text display
+data modify storage gm4_holographic_tags:temp properties.raw_text set from entity @s Item.components."minecraft:custom_name"
+execute if entity @s[type=glow_item_frame] run data modify storage gm4_holographic_tags:temp properties.glowing set value 1b
+data modify storage gm4_holographic_tags:temp properties.rotation set from entity @s Rotation
+execute summon text_display run function gm4_holographic_tags:initialize_hologram
+data remove storage gm4_holographic_tags:temp properties
+
+# sights and sounds
advancement grant @a[distance=..4,gamemode=!spectator] only gm4:holographic_tags
playsound minecraft:entity.item_frame.remove_item block @a
particle minecraft:block{block_state:"minecraft:stripped_acacia_log"} ~ ~ ~ .2 .2 .2 .1 10
-execute if entity @s[type=item_frame] run summon item ~ ~ ~ {Item:{id:"minecraft:item_frame",count:1},PickupDelay:10s,Motion:[0.0,0.25,0.0]}
-execute if entity @s[type=glow_item_frame] run summon item ~ ~ ~ {Item:{id:"minecraft:glow_item_frame",count:1},PickupDelay:10s,Motion:[0.0,0.25,0.0]}
+# return item frame item
+execute unless data storage gm4_holographic_tags:temp properties.glowing run summon item ~ ~ ~ {Item:{id:"minecraft:item_frame",count:1},PickupDelay:10s,Motion:[0.0,0.25,0.0]}
+execute if data storage gm4_holographic_tags:temp properties.glowing run summon item ~ ~ ~ {Item:{id:"minecraft:glow_item_frame",count:1},PickupDelay:10s,Motion:[0.0,0.25,0.0]}
kill @s
diff --git a/gm4_holographic_tags/data/gm4_holographic_tags/function/destroy_hologram.mcfunction b/gm4_holographic_tags/data/gm4_holographic_tags/function/destroy_hologram.mcfunction
index 450b975972..364de52b0a 100644
--- a/gm4_holographic_tags/data/gm4_holographic_tags/function/destroy_hologram.mcfunction
+++ b/gm4_holographic_tags/data/gm4_holographic_tags/function/destroy_hologram.mcfunction
@@ -1,10 +1,17 @@
-# @s = hologram AEC if empty item frame is nearby
+# @s = hologram text display if empty item frame is nearby
+# at @s positioned ^ ^ ^-0.3 (block face the hologram was placed from)
# run from main
-data merge entity @e[type=item_frame,limit=1,sort=nearest,distance=..0.1] {Tags:["gm4_hologram"],Item:{id:"minecraft:name_tag",count:1,components:{"minecraft:repair_cost":0}}}
-data modify entity @e[type=item_frame,limit=1,sort=nearest,distance=..0.1] Item.components."minecraft:custom_name" set from entity @s CustomName
+# prepare data to reduce selector count
+data modify storage gm4_holographic_tags:temp properties.rotation_hologram set from entity @s Rotation
+execute store result storage gm4_holographic_tags:temp properties.rotation_x_hologram int 1 run data get storage gm4_holographic_tags:temp properties.rotation_hologram[0]
+execute store result storage gm4_holographic_tags:temp properties.rotation_y_hologram int 1 run data get storage gm4_holographic_tags:temp properties.rotation_hologram[1]
+data modify storage gm4_holographic_tags:temp properties.text set from entity @s text.text
-data merge entity @e[type=glow_item_frame,limit=1,sort=nearest,distance=..0.1] {Tags:["gm4_hologram"],Item:{id:"minecraft:name_tag",count:1,components:{"minecraft:repair_cost":0}}}
-data modify entity @e[type=glow_item_frame,limit=1,sort=nearest,distance=..0.1] Item.components."minecraft:custom_name" set from entity @s CustomName
+# attempt move data from hologram to item frame, if destroy failed, also fail this function
+execute as @e[type=#gm4_holographic_tags:item_frames,limit=1,sort=nearest,distance=..0.1] unless function gm4_holographic_tags:read_hologram_data run return fail
+data remove storage gm4_holographic_tags:temp properties
+
+# particles & hologram removal
particle minecraft:block{block_state:"minecraft:stripped_birch_log"} ~ ~ ~ .2 .2 .2 .1 10
kill @s
diff --git a/gm4_holographic_tags/data/gm4_holographic_tags/function/initialize_hologram.mcfunction b/gm4_holographic_tags/data/gm4_holographic_tags/function/initialize_hologram.mcfunction
new file mode 100644
index 0000000000..31ca9a65fe
--- /dev/null
+++ b/gm4_holographic_tags/data/gm4_holographic_tags/function/initialize_hologram.mcfunction
@@ -0,0 +1,12 @@
+# initializes data on the text display
+# @s = newly spawned text display
+# run from main
+
+data merge entity @s {text:{color:"#FFFFFF",text:"test"},line_width:2147483647 ,billboard:"center",Tags:["gm4_hologram","smithed.entity","smithed.strict"],background:0}
+data modify entity @s text.text set from storage gm4_holographic_tags:temp properties.raw_text
+data modify entity @s Rotation set from storage gm4_holographic_tags:temp properties.rotation
+execute if data storage gm4_holographic_tags:temp properties.glowing run data modify entity @s brightness set value {block:15,sky:15}
+
+execute positioned as @s if block ^ ^ ^-0.75 #minecraft:wool run function gm4_holographic_tags:set_color
+
+scoreboard players set @s gm4_entity_version 2
diff --git a/gm4_holographic_tags/data/gm4_holographic_tags/function/main.mcfunction b/gm4_holographic_tags/data/gm4_holographic_tags/function/main.mcfunction
index 85bea65790..a57deb29b4 100644
--- a/gm4_holographic_tags/data/gm4_holographic_tags/function/main.mcfunction
+++ b/gm4_holographic_tags/data/gm4_holographic_tags/function/main.mcfunction
@@ -1,12 +1,5 @@
-
-execute as @e[type=area_effect_cloud,tag=gm4_hologram,tag=!smithed.entity] run function gm4_holographic_tags:upgrade_path/smithed_compat
-
-execute as @e[type=area_effect_cloud,tag=gm4_hologram] at @s positioned ^ ^ ^-0.3 positioned ~ ~.3 ~ if entity @e[type=item_frame,predicate=!gm4_holographic_tags:has_item,distance=..0.1,limit=1] run function gm4_holographic_tags:destroy_hologram
-execute as @e[type=item_frame,tag=!smithed.entity,tag=!gm4_hologram,predicate=gm4_holographic_tags:has_name_tag] if items entity @s contents *[custom_name] at @s positioned ^ ^ ^0.3 positioned ~ ~-.3 ~ unless entity @e[type=area_effect_cloud,tag=gm4_hologram,distance=..0.1] run function gm4_holographic_tags:create_hologram
-tag @e[type=item_frame,tag=gm4_hologram,predicate=!gm4_holographic_tags:has_name_tag] remove gm4_hologram
-
-execute as @e[type=area_effect_cloud,tag=gm4_hologram] at @s positioned ^ ^ ^-0.3 positioned ~ ~.3 ~ if entity @e[type=glow_item_frame,predicate=!gm4_holographic_tags:has_item,distance=..0.1,limit=1] run function gm4_holographic_tags:destroy_hologram
-execute as @e[type=glow_item_frame,tag=!smithed.entity,tag=!gm4_hologram,predicate=gm4_holographic_tags:has_name_tag] if items entity @s contents *[custom_name] at @s positioned ^ ^ ^0.3 positioned ~ ~-.3 ~ unless entity @e[type=area_effect_cloud,tag=gm4_hologram,distance=..0.1] run function gm4_holographic_tags:create_hologram
-tag @e[type=glow_item_frame,tag=gm4_hologram,predicate=!gm4_holographic_tags:has_name_tag] remove gm4_hologram
+execute as @e[type=text_display,tag=gm4_hologram] at @s positioned ^ ^ ^-0.3 if entity @e[type=#gm4_holographic_tags:item_frames,predicate=!gm4_holographic_tags:has_item,distance=..0.1,limit=1] run function gm4_holographic_tags:destroy_hologram
+execute as @e[type=#gm4_holographic_tags:item_frames,tag=!smithed.entity,tag=!gm4_hologram,predicate=gm4_holographic_tags:has_name_tag] if items entity @s contents *[custom_name] at @s positioned ^ ^ ^0.3 unless entity @e[type=text_display,tag=gm4_hologram,distance=..0.1] run function gm4_holographic_tags:create_hologram
+tag @e[type=#gm4_holographic_tags:item_frames,tag=gm4_hologram,predicate=!gm4_holographic_tags:has_name_tag] remove gm4_hologram
schedule function gm4_holographic_tags:main 16t
diff --git a/gm4_holographic_tags/data/gm4_holographic_tags/function/read_hologram_data.mcfunction b/gm4_holographic_tags/data/gm4_holographic_tags/function/read_hologram_data.mcfunction
new file mode 100644
index 0000000000..3aff7dd230
--- /dev/null
+++ b/gm4_holographic_tags/data/gm4_holographic_tags/function/read_hologram_data.mcfunction
@@ -0,0 +1,22 @@
+# Moves data from the hologram to the item frame, unless their rotations are different
+# @s = item frame ready to receive a nametag
+# at block face hologram was placed from
+# run from return_name_tag
+
+# check if the rotation matches
+data modify storage gm4_holographic_tags:temp properties.rotation_item_frame set from entity @s Rotation
+execute store result storage gm4_holographic_tags:temp properties.rotation_x_item_frame int 1 run data get storage gm4_holographic_tags:temp properties.rotation_item_frame[0]
+execute store result storage gm4_holographic_tags:temp properties.rotation_y_item_frame int 1 run data get storage gm4_holographic_tags:temp properties.rotation_item_frame[1]
+
+execute store success storage gm4_holographic_tags:temp properties.rotation_x_differs int 1 run data modify storage gm4_holographic_tags:temp properties.rotation_x_hologram set from storage gm4_holographic_tags:temp properties.rotation_x_item_frame
+execute if data storage gm4_holographic_tags:temp properties{rotation_x_differs:1} run return fail
+execute store success storage gm4_holographic_tags:temp properties.rotation_y_differs int 1 run data modify storage gm4_holographic_tags:temp properties.rotation_y_hologram set from storage gm4_holographic_tags:temp properties.rotation_y_item_frame
+execute if data storage gm4_holographic_tags:temp properties{rotation_y_differs:1} run return fail
+
+
+# rotation matched, move data
+data merge entity @s {Tags:["gm4_hologram"],Item:{id:"minecraft:name_tag",count:1,components:{"minecraft:repair_cost":0}}}
+data modify entity @s Item.components."minecraft:custom_name" set from storage gm4_holographic_tags:temp properties.text
+
+# signal that data transfer was successful
+return 1
diff --git a/gm4_holographic_tags/data/gm4_holographic_tags/function/set_color.mcfunction b/gm4_holographic_tags/data/gm4_holographic_tags/function/set_color.mcfunction
index fb4d50aa6b..16e4ef6bf6 100644
--- a/gm4_holographic_tags/data/gm4_holographic_tags/function/set_color.mcfunction
+++ b/gm4_holographic_tags/data/gm4_holographic_tags/function/set_color.mcfunction
@@ -1,19 +1,19 @@
# @s = item frame with renamed name tag if on a wool block
-# run from create_hologram
+# run from initialize_hologram
-execute if block ^ ^ ^-.75 white_wool run team join gm4_white
-execute if block ^ ^ ^-.75 orange_wool run team join gm4_orange
-execute if block ^ ^ ^-.75 magenta_wool run team join gm4_magenta
-execute if block ^ ^ ^-.75 light_blue_wool run team join gm4_lightblue
-execute if block ^ ^ ^-.75 yellow_wool run team join gm4_yellow
-execute if block ^ ^ ^-.75 lime_wool run team join gm4_lime
-execute if block ^ ^ ^-.75 pink_wool run team join gm4_pink
-execute if block ^ ^ ^-.75 gray_wool run team join gm4_gray
-execute if block ^ ^ ^-.75 light_gray_wool run team join gm4_lightgray
-execute if block ^ ^ ^-.75 cyan_wool run team join gm4_cyan
-execute if block ^ ^ ^-.75 purple_wool run team join gm4_purple
-execute if block ^ ^ ^-.75 blue_wool run team join gm4_blue
-execute if block ^ ^ ^-.75 brown_wool run team join gm4_brown
-execute if block ^ ^ ^-.75 green_wool run team join gm4_green
-execute if block ^ ^ ^-.75 red_wool run team join gm4_red
-execute if block ^ ^ ^-.75 black_wool run team join gm4_black
+execute if block ^ ^ ^-.75 white_wool run data modify entity @s text.color set value "#e8ebeb"
+execute if block ^ ^ ^-.75 orange_wool run data modify entity @s text.color set value "#ee7311"
+execute if block ^ ^ ^-.75 magenta_wool run data modify entity @s text.color set value "#be45b5"
+execute if block ^ ^ ^-.75 light_blue_wool run data modify entity @s text.color set value "#37abd6"
+execute if block ^ ^ ^-.75 yellow_wool run data modify entity @s text.color set value "#f7c527"
+execute if block ^ ^ ^-.75 lime_wool run data modify entity @s text.color set value "#6fb718"
+execute if block ^ ^ ^-.75 pink_wool run data modify entity @s text.color set value "#eb88a8"
+execute if block ^ ^ ^-.75 gray_wool run data modify entity @s text.color set value "#3c4245"
+execute if block ^ ^ ^-.75 light_gray_wool run data modify entity @s text.color set value "#8b8b84"
+execute if block ^ ^ ^-.75 cyan_wool run data modify entity @s text.color set value "#15878f"
+execute if block ^ ^ ^-.75 purple_wool run data modify entity @s text.color set value "#7426a7"
+execute if block ^ ^ ^-.75 blue_wool run data modify entity @s text.color set value "#323599"
+execute if block ^ ^ ^-.75 brown_wool run data modify entity @s text.color set value "#6f4425"
+execute if block ^ ^ ^-.75 green_wool run data modify entity @s text.color set value "#51691a"
+execute if block ^ ^ ^-.75 red_wool run data modify entity @s text.color set value "#9f2521"
+execute if block ^ ^ ^-.75 black_wool run data modify entity @s text.color set value "#101115"
diff --git a/gm4_holographic_tags/data/gm4_holographic_tags/function/upgrade_path/1.5.mcfunction b/gm4_holographic_tags/data/gm4_holographic_tags/function/upgrade_path/1.5.mcfunction
new file mode 100644
index 0000000000..8e38882f6f
--- /dev/null
+++ b/gm4_holographic_tags/data/gm4_holographic_tags/function/upgrade_path/1.5.mcfunction
@@ -0,0 +1,6 @@
+# updates old area effect cloud based holographic tags into new text display based ones
+# @s = player
+# as @s
+# run via upgrade paths util
+
+execute as @e[type=area_effect_cloud,tag=gm4_hologram,scores={gm4_entity_version=1}] at @s run function gm4_holographic_tags:upgrade_path/1.5/convert_to_text_display
diff --git a/gm4_holographic_tags/data/gm4_holographic_tags/function/upgrade_path/1.5/convert_to_text_display.mcfunction b/gm4_holographic_tags/data/gm4_holographic_tags/function/upgrade_path/1.5/convert_to_text_display.mcfunction
new file mode 100644
index 0000000000..89d6145efa
--- /dev/null
+++ b/gm4_holographic_tags/data/gm4_holographic_tags/function/upgrade_path/1.5/convert_to_text_display.mcfunction
@@ -0,0 +1,12 @@
+# collects data from the existing aec and initiates summoning of a replacement text display
+# @s = outdated aec-based holographic tag
+# at @s
+# run from upgrade_path/1.5
+
+# summon text display based on aec
+tp ^ ^ ^.3
+data modify storage gm4_holographic_tags:temp properties.raw_text set from entity @s CustomName
+data modify storage gm4_holographic_tags:temp properties.rotation set from entity @s Rotation
+execute at @s summon text_display run function gm4_holographic_tags:initialize_hologram
+data remove storage gm4_holographic_tags:temp properties
+kill @s
diff --git a/gm4_holographic_tags/data/gm4_holographic_tags/function/upgrade_path/smithed_compat.mcfunction b/gm4_holographic_tags/data/gm4_holographic_tags/function/upgrade_path/smithed_compat.mcfunction
deleted file mode 100644
index d3da9cc07f..0000000000
--- a/gm4_holographic_tags/data/gm4_holographic_tags/function/upgrade_path/smithed_compat.mcfunction
+++ /dev/null
@@ -1,8 +0,0 @@
-# updates entities with smithed tags and entity version
-# @s = old holographic tag
-# located at world spawn
-# run from gm4_holographic_tags:main
-
-tag @s add smithed.entity
-tag @s add smithed.strict
-scoreboard players set @s gm4_entity_version 1
diff --git a/gm4_holographic_tags/data/gm4_holographic_tags/tags/entity_type/item_frames.json b/gm4_holographic_tags/data/gm4_holographic_tags/tags/entity_type/item_frames.json
new file mode 100644
index 0000000000..27a1c2f502
--- /dev/null
+++ b/gm4_holographic_tags/data/gm4_holographic_tags/tags/entity_type/item_frames.json
@@ -0,0 +1,7 @@
+{
+ "values":
+ [
+ "minecraft:item_frame",
+ "minecraft:glow_item_frame"
+ ]
+}
diff --git a/gm4_holographic_tags/data/gm4_holographic_tags/test/create_and_remove.mcfunction b/gm4_holographic_tags/data/gm4_holographic_tags/test/create_and_remove.mcfunction
index 0a0c532798..623ec2f4a2 100644
--- a/gm4_holographic_tags/data/gm4_holographic_tags/test/create_and_remove.mcfunction
+++ b/gm4_holographic_tags/data/gm4_holographic_tags/test/create_and_remove.mcfunction
@@ -7,17 +7,17 @@ execute at @s run tp @s ~ ~ ~ facing ~ ~-1.5 ~2
item replace entity @s weapon.mainhand with item_frame
dummy @s use block ~1 ~1 ~2 north
-item replace entity @s weapon.mainhand with minecraft:name_tag[custom_name='"HelloGamemode4"']
+item replace entity @s weapon.mainhand with minecraft:name_tag[custom_name="HelloGamemode4"]
dummy @s use entity @e[type=item_frame,distance=..4,limit=1]
await not entity @e[type=item_frame,distance=..4]
clear @s written_book
-assert entity @e[type=area_effect_cloud,distance=..4,name=HelloGamemode4]
+assert entity @e[type=text_display,distance=..4,nbt={text:{text:"HelloGamemode4"}}]
execute at @s run tp @e[type=item,distance=..4] ~ ~ ~
await items entity @s weapon.mainhand minecraft:item_frame
dummy @s use block ~1 ~1 ~2 north
-await not entity @e[type=area_effect_cloud,distance=..4]
-assert items entity @e[type=item_frame,distance=..4] contents minecraft:name_tag[count=1,custom_name='"HelloGamemode4"']
+await not entity @e[type=text_display,distance=..4]
+assert items entity @e[type=item_frame,distance=..4] contents minecraft:name_tag[count=1,custom_name="HelloGamemode4"]
diff --git a/gm4_iacio_shamir/beet.yaml b/gm4_iacio_shamir/beet.yaml
index 7181e96ba7..425420d579 100644
--- a/gm4_iacio_shamir/beet.yaml
+++ b/gm4_iacio_shamir/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_iacio_shamir
name: Iacio Shamir
-version: 1.4.X
+version: 1.5.X
data_pack:
load: .
@@ -16,7 +16,7 @@ meta:
gm4:
versioning:
required:
- gm4_metallurgy: 1.4.0
+ gm4_metallurgy: 1.5.0
model_data:
- item: chestplates
reference: shamir/iacio
diff --git a/gm4_iacio_shamir/data/gm4_iacio_shamir/function/check_throw.mcfunction b/gm4_iacio_shamir/data/gm4_iacio_shamir/function/check_throw.mcfunction
index ccb3fb179d..c00e1cb503 100644
--- a/gm4_iacio_shamir/data/gm4_iacio_shamir/function/check_throw.mcfunction
+++ b/gm4_iacio_shamir/data/gm4_iacio_shamir/function/check_throw.mcfunction
@@ -8,8 +8,8 @@ execute if score @s gm4_iacio_item matches 1.. as @e[type=item,distance=..3,sort
execute if score @s gm4_iacio_pearl matches 1.. as @e[type=minecraft:ender_pearl,distance=..3,sort=nearest,limit=1] at @s run function gm4_iacio_shamir:add_motion
execute if score @s gm4_iacio_snowbl matches 1.. as @e[type=minecraft:snowball,distance=..3,sort=nearest,limit=1] at @s run function gm4_iacio_shamir:add_motion
execute if score @s gm4_iacio_egg matches 1.. as @e[type=minecraft:egg,distance=..3,sort=nearest,limit=1] at @s run function gm4_iacio_shamir:add_motion
-execute if score @s gm4_iacio_splash matches 1.. as @e[type=minecraft:potion,distance=..3,sort=nearest,limit=1] at @s run function gm4_iacio_shamir:add_motion
-execute if score @s gm4_iacio_linger matches 1.. as @e[type=minecraft:potion,distance=..3,sort=nearest,limit=1] at @s run function gm4_iacio_shamir:add_motion
+execute if score @s gm4_iacio_splash matches 1.. as @e[type=minecraft:splash_potion,distance=..3,sort=nearest,limit=1] at @s run function gm4_iacio_shamir:add_motion
+execute if score @s gm4_iacio_linger matches 1.. as @e[type=minecraft:lingering_potion,distance=..3,sort=nearest,limit=1] at @s run function gm4_iacio_shamir:add_motion
scoreboard players reset @s gm4_iacio_tridnt
scoreboard players reset @s gm4_iacio_item
diff --git a/gm4_iacio_shamir/data/gm4_iacio_shamir/loot_table/band.json b/gm4_iacio_shamir/data/gm4_iacio_shamir/loot_table/band.json
index 7407ff2cec..519d2840dc 100644
--- a/gm4_iacio_shamir/data/gm4_iacio_shamir/loot_table/band.json
+++ b/gm4_iacio_shamir/data/gm4_iacio_shamir/loot_table/band.json
@@ -23,7 +23,7 @@
"lore": [
{
"translate": "item.gm4.shamir.iacio",
- "fallback": "Iacio",
+ "fallback": "Iacio Shamir",
"italic": false,
"color": "gray"
}
diff --git a/gm4_iacio_shamir/translations.csv b/gm4_iacio_shamir/translations.csv
index 44ca455eb0..a9ba81674f 100644
--- a/gm4_iacio_shamir/translations.csv
+++ b/gm4_iacio_shamir/translations.csv
@@ -1,5 +1,5 @@
key,en_us
-item.gm4.shamir.iacio,Iacio
+item.gm4.shamir.iacio,Iacio Shamir
text.gm4.guidebook.module_desc.iacio_shamir,Adds the 'Iacio' shamir to Metallurgy. It lets you throw things further! Launch an Ender Pearl into orbit or simply throw your Trident exceptionally far.
text.gm4.guidebook.iacio_shamir.description,Iacio strengthens the throw of projectiles and items.
text.gm4.guidebook.iacio_shamir.usage,"The Iacio Shamir is found on Barium Bands. It can be placed onto chestplates.\n\nItems, Tridents, Ender Pearls, Splash and Lingering Potions, Snowballs, and Eggs will fly farther when thrown."
diff --git a/gm4_ink_spitting_squid/beet.yaml b/gm4_ink_spitting_squid/beet.yaml
index a245f02eb1..533272ccbf 100644
--- a/gm4_ink_spitting_squid/beet.yaml
+++ b/gm4_ink_spitting_squid/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_ink_spitting_squid
name: Ink Spitting Squid
-version: 1.5.X
+version: 1.6.X
data_pack:
load: .
diff --git a/gm4_lightning_in_a_bottle/beet.yaml b/gm4_lightning_in_a_bottle/beet.yaml
index 854fb969c0..d453e4129b 100644
--- a/gm4_lightning_in_a_bottle/beet.yaml
+++ b/gm4_lightning_in_a_bottle/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_lightning_in_a_bottle
name: Lightning in a Bottle
-version: 1.7.X
+version: 1.8.X
data_pack:
load: .
@@ -17,8 +17,8 @@ meta:
gm4:
versioning:
required:
- lib_potion_tracking: 1.2.0
- lib_brewing: 1.2.0
+ lib_potion_tracking: 1.3.0
+ lib_brewing: 1.4.0
schedule_loops:
- main
- brewing_stand/texture_connector/process
diff --git a/gm4_lightning_in_a_bottle/data/gm4_lightning_in_a_bottle/function/liquid_tanks/item_fill/lightning_bottle.mcfunction b/gm4_lightning_in_a_bottle/data/gm4_lightning_in_a_bottle/function/liquid_tanks/item_fill/lightning_bottle.mcfunction
index 8a18b2d19f..21341ffc02 100644
--- a/gm4_lightning_in_a_bottle/data/gm4_lightning_in_a_bottle/function/liquid_tanks/item_fill/lightning_bottle.mcfunction
+++ b/gm4_lightning_in_a_bottle/data/gm4_lightning_in_a_bottle/function/liquid_tanks/item_fill/lightning_bottle.mcfunction
@@ -3,7 +3,7 @@
scoreboard players set $item_value gm4_lt_value -1
loot replace entity @e[type=armor_stand,tag=gm4_liquid_tank_stand,limit=1,sort=nearest,distance=..1] weapon.mainhand loot gm4_lightning_in_a_bottle:items/bottle_of_lightning
-data modify storage gm4_liquid_tanks:temp/tank output set from entity @e[type=armor_stand,tag=gm4_liquid_tank_stand,limit=1,sort=nearest,distance=..1] HandItems[0]
+data modify storage gm4_liquid_tanks:temp/tank output set from entity @e[type=armor_stand,tag=gm4_liquid_tank_stand,limit=1,sort=nearest,distance=..1] equipment.mainhand
item replace entity @e[type=armor_stand,tag=gm4_liquid_tank_stand,limit=1,sort=nearest,distance=..1] weapon.mainhand with air
function gm4_liquid_tanks:smart_item_fill
tag @s add gm4_lt_fill
diff --git a/gm4_lightning_in_a_bottle/data/gm4_lightning_in_a_bottle/function/liquid_tanks/liquid_init/lightning.mcfunction b/gm4_lightning_in_a_bottle/data/gm4_lightning_in_a_bottle/function/liquid_tanks/liquid_init/lightning.mcfunction
index ddb518d340..df67666c5a 100644
--- a/gm4_lightning_in_a_bottle/data/gm4_lightning_in_a_bottle/function/liquid_tanks/liquid_init/lightning.mcfunction
+++ b/gm4_lightning_in_a_bottle/data/gm4_lightning_in_a_bottle/function/liquid_tanks/liquid_init/lightning.mcfunction
@@ -1,5 +1,5 @@
-data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.lightning","fallback":"Lightning Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.lightning","fallback":"Lightning Tank","font":"gm4:default","color":"#404040"}]]}'}
-summon armor_stand ~ ~-.95 ~ {CustomName:"\"gm4_liquid_tank_display\"",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Silent:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$lightning_liquid"}}]}
+data merge block ~ ~ ~ {CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.lightning","fallback":"Lightning Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.lightning","fallback":"Lightning Tank","font":"gm4:default","color":"#404040"}]]}}
+summon armor_stand ~ ~-.95 ~ {CustomName:"gm4_liquid_tank_display",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Silent:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,equipment:{head:{id:"player_head",count:1,components:{"minecraft:profile":"$lightning_liquid"}}}}
data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_liab_lightning"
scoreboard players set @s gm4_lt_max 300
tag @s add gm4_lt_liab_lightning
diff --git a/gm4_lightning_in_a_bottle/data/gm4_lightning_in_a_bottle/function/potion_tracking/potion_landed.mcfunction b/gm4_lightning_in_a_bottle/data/gm4_lightning_in_a_bottle/function/potion_tracking/potion_landed.mcfunction
index 1399905000..0f65fa9597 100644
--- a/gm4_lightning_in_a_bottle/data/gm4_lightning_in_a_bottle/function/potion_tracking/potion_landed.mcfunction
+++ b/gm4_lightning_in_a_bottle/data/gm4_lightning_in_a_bottle/function/potion_tracking/potion_landed.mcfunction
@@ -5,4 +5,4 @@
execute if block ~ ~-1 ~ lightning_rod align y run summon lightning_bolt ~ ~ ~
execute unless block ~ ~-1 ~ lightning_rod run summon lightning_bolt ~ ~ ~
-execute as @e[type=area_effect_cloud,distance=..0.05,limit=1,sort=nearest,nbt={potion_contents:{custom_effects:[{id:'minecraft:night_vision',amplifier:12b,duration:1}]}}] run function gm4_lightning_in_a_bottle:potion_tracking/modify_cloud
+execute as @e[type=area_effect_cloud,distance=..8,limit=1,sort=nearest,nbt={potion_contents:{custom_effects:[{id:'minecraft:night_vision',amplifier:12b,duration:1}]}}] run function gm4_lightning_in_a_bottle:potion_tracking/modify_cloud
diff --git a/gm4_lightning_in_a_bottle/data/gm4_lightning_in_a_bottle/item_modifier/bottle_of_lightning.json b/gm4_lightning_in_a_bottle/data/gm4_lightning_in_a_bottle/item_modifier/bottle_of_lightning.json
index b257e24f59..1e79342e82 100644
--- a/gm4_lightning_in_a_bottle/data/gm4_lightning_in_a_bottle/item_modifier/bottle_of_lightning.json
+++ b/gm4_lightning_in_a_bottle/data/gm4_lightning_in_a_bottle/item_modifier/bottle_of_lightning.json
@@ -36,7 +36,11 @@
"minecraft:potion_contents": {
"custom_color": 11985402
},
- "minecraft:hide_additional_tooltip": {}
+ "minecraft:tooltip_display": {
+ "hidden_components": [
+ "minecraft:potion_contents"
+ ]
+ }
}
},
{
diff --git a/gm4_lightning_in_a_bottle/data/gm4_lightning_in_a_bottle/item_modifier/lingering_bottle_of_lightning.json b/gm4_lightning_in_a_bottle/data/gm4_lightning_in_a_bottle/item_modifier/lingering_bottle_of_lightning.json
index 1a7369c797..4537c093eb 100644
--- a/gm4_lightning_in_a_bottle/data/gm4_lightning_in_a_bottle/item_modifier/lingering_bottle_of_lightning.json
+++ b/gm4_lightning_in_a_bottle/data/gm4_lightning_in_a_bottle/item_modifier/lingering_bottle_of_lightning.json
@@ -43,7 +43,11 @@
}
]
},
- "minecraft:hide_additional_tooltip": {}
+ "minecraft:tooltip_display": {
+ "hidden_components": [
+ "minecraft:potion_contents"
+ ]
+ }
}
},
{
diff --git a/gm4_lightning_in_a_bottle/data/gm4_lightning_in_a_bottle/item_modifier/splash_bottle_of_lightning.json b/gm4_lightning_in_a_bottle/data/gm4_lightning_in_a_bottle/item_modifier/splash_bottle_of_lightning.json
index d07fda1823..0df876f95a 100644
--- a/gm4_lightning_in_a_bottle/data/gm4_lightning_in_a_bottle/item_modifier/splash_bottle_of_lightning.json
+++ b/gm4_lightning_in_a_bottle/data/gm4_lightning_in_a_bottle/item_modifier/splash_bottle_of_lightning.json
@@ -36,7 +36,11 @@
"minecraft:potion_contents": {
"custom_color": 11985402
},
- "minecraft:hide_additional_tooltip": {}
+ "minecraft:tooltip_display": {
+ "hidden_components": [
+ "minecraft:potion_contents"
+ ]
+ }
}
},
{
diff --git a/gm4_lightning_in_a_bottle/data/gm4_lightning_in_a_bottle/tags/entity_type/potion_tracker.json b/gm4_lightning_in_a_bottle/data/gm4_lightning_in_a_bottle/tags/entity_type/potion_tracker.json
index a1aeba6999..e806bb7b20 100644
--- a/gm4_lightning_in_a_bottle/data/gm4_lightning_in_a_bottle/tags/entity_type/potion_tracker.json
+++ b/gm4_lightning_in_a_bottle/data/gm4_lightning_in_a_bottle/tags/entity_type/potion_tracker.json
@@ -1,6 +1,7 @@
{
"values": [
"minecraft:marker",
- "minecraft:potion"
+ "minecraft:lingering_potion",
+ "minecraft:splash_potion"
]
}
diff --git a/gm4_liquid_minecarts/beet.yaml b/gm4_liquid_minecarts/beet.yaml
index 0c8ecec0f9..26e44ce33a 100644
--- a/gm4_liquid_minecarts/beet.yaml
+++ b/gm4_liquid_minecarts/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_liquid_minecarts
name: Liquid Minecarts
-version: 1.6.X
+version: 1.7.X
data_pack:
load: .
@@ -16,8 +16,8 @@ meta:
gm4:
versioning:
required:
- gm4_liquid_tanks: 2.3.0
- lib_machines: 1.3.0
+ gm4_liquid_tanks: 2.7.0
+ lib_machines: 1.4.0
schedule_loops: [main]
model_data:
- item: hopper_minecart
diff --git a/gm4_liquid_minecarts/data/gm4_liquid_minecarts/function/compare_load_liquid.mcfunction b/gm4_liquid_minecarts/data/gm4_liquid_minecarts/function/compare_load_liquid.mcfunction
index 8ce563603c..dbf825a117 100644
--- a/gm4_liquid_minecarts/data/gm4_liquid_minecarts/function/compare_load_liquid.mcfunction
+++ b/gm4_liquid_minecarts/data/gm4_liquid_minecarts/function/compare_load_liquid.mcfunction
@@ -2,6 +2,6 @@
#run from try_to_load
data modify storage gm4_liquid_minecarts:compare liquid set from entity @e[type=marker,limit=1,sort=nearest,distance=..1,tag=gm4_liquid_tank] data.gm4_liquid_tanks.liquid_tag
-execute store success score @s gm4_lm_data run data modify storage gm4_liquid_minecarts:compare liquid set from entity @s Passengers[0].ArmorItems[0].components."minecraft:custom_data".gm4_liquid_minecarts.liquid_tag
+execute store success score @s gm4_lm_data run data modify storage gm4_liquid_minecarts:compare liquid set from entity @s Passengers[0].equipment.feet.components."minecraft:custom_data".gm4_liquid_minecarts.liquid_tag
execute if score @s gm4_lm_data matches 0 run function gm4_liquid_minecarts:load_liquid
diff --git a/gm4_liquid_minecarts/data/gm4_liquid_minecarts/function/compare_unload_liquid.mcfunction b/gm4_liquid_minecarts/data/gm4_liquid_minecarts/function/compare_unload_liquid.mcfunction
index 1536946013..c73f615e06 100644
--- a/gm4_liquid_minecarts/data/gm4_liquid_minecarts/function/compare_unload_liquid.mcfunction
+++ b/gm4_liquid_minecarts/data/gm4_liquid_minecarts/function/compare_unload_liquid.mcfunction
@@ -2,6 +2,6 @@
#run from try_to_unload
data modify storage gm4_liquid_minecarts:compare liquid set from entity @e[type=marker,limit=1,sort=nearest,distance=..0.1,tag=gm4_liquid_tank] data.gm4_liquid_tanks.liquid_tag
-execute store success score @s gm4_lm_data run data modify storage gm4_liquid_minecarts:compare liquid set from entity @s Passengers[0].ArmorItems[0].components."minecraft:custom_data".gm4_liquid_minecarts.liquid_tag
+execute store success score @s gm4_lm_data run data modify storage gm4_liquid_minecarts:compare liquid set from entity @s Passengers[0].equipment.feet.components."minecraft:custom_data".gm4_liquid_minecarts.liquid_tag
execute if score @s gm4_lm_data matches 0 run function gm4_liquid_minecarts:unload_liquid
diff --git a/gm4_liquid_minecarts/data/gm4_liquid_minecarts/function/copy_tank_data.mcfunction b/gm4_liquid_minecarts/data/gm4_liquid_minecarts/function/copy_tank_data.mcfunction
index e74cf769bf..90ee36ae55 100644
--- a/gm4_liquid_minecarts/data/gm4_liquid_minecarts/function/copy_tank_data.mcfunction
+++ b/gm4_liquid_minecarts/data/gm4_liquid_minecarts/function/copy_tank_data.mcfunction
@@ -1,6 +1,6 @@
#@s = gm4_liquid_minecart_stand copying tank data to it's armor items, at location of tank
#run from init_liquid
-data modify entity @s ArmorItems[0].components."minecraft:custom_data".gm4_liquid_minecarts.liquid_tag set from entity @e[type=marker,limit=1,tag=gm4_liquid_tank,sort=nearest] data.gm4_liquid_tanks.liquid_tag
-data modify entity @s ArmorItems[0].components."minecraft:custom_data".gm4_liquid_minecarts.tank.texture set from entity @e[type=armor_stand,tag=gm4_liquid_tank_display,limit=1,sort=nearest] ArmorItems[3]
-data modify entity @s ArmorItems[0].components."minecraft:custom_data".gm4_liquid_minecarts.tank.CustomName set from block ~ ~ ~ CustomName
+data modify entity @s equipment.feet.components."minecraft:custom_data".gm4_liquid_minecarts.liquid_tag set from entity @e[type=marker,limit=1,tag=gm4_liquid_tank,sort=nearest] data.gm4_liquid_tanks.liquid_tag
+data modify entity @s equipment.feet.components."minecraft:custom_data".gm4_liquid_minecarts.tank.texture set from entity @e[type=armor_stand,tag=gm4_liquid_tank_display,limit=1,sort=nearest] equipment.head
+data modify entity @s equipment.feet.components."minecraft:custom_data".gm4_liquid_minecarts.tank.CustomName set from block ~ ~ ~ CustomName
diff --git a/gm4_liquid_minecarts/data/gm4_liquid_minecarts/function/init_tank.mcfunction b/gm4_liquid_minecarts/data/gm4_liquid_minecarts/function/init_tank.mcfunction
index c1a25b382e..b06b4b7507 100644
--- a/gm4_liquid_minecarts/data/gm4_liquid_minecarts/function/init_tank.mcfunction
+++ b/gm4_liquid_minecarts/data/gm4_liquid_minecarts/function/init_tank.mcfunction
@@ -2,20 +2,20 @@
#run from try_to_unload
#summon display stand
-summon armor_stand ~ ~-.95 ~ {CustomName:'"gm4_liquid_tank_display"',Tags:["gm4_no_edit","gm4_liquid_tank_display","gm4_lm_needs_texture","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1}
-data modify entity @e[type=armor_stand,tag=gm4_lm_needs_texture,limit=1,sort=nearest] ArmorItems[3] set from entity @s Passengers[0].ArmorItems[0].components."minecraft:custom_data".gm4_liquid_minecarts.tank.texture
-data modify entity @e[type=marker,tag=gm4_liquid_tank,limit=1,sort=nearest,distance=..0.1] data.gm4_liquid_tanks.liquid_tag set from entity @s Passengers[0].ArmorItems[0].components."minecraft:custom_data".gm4_liquid_minecarts.liquid_tag
+summon armor_stand ~ ~-.95 ~ {CustomName:"gm4_liquid_tank_display",Tags:["gm4_no_edit","gm4_liquid_tank_display","gm4_lm_needs_texture","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b}
+data modify entity @e[type=armor_stand,tag=gm4_lm_needs_texture,limit=1,sort=nearest] equipment.head set from entity @s Passengers[0].equipment.feet.components."minecraft:custom_data".gm4_liquid_minecarts.tank.texture
+data modify entity @e[type=marker,tag=gm4_liquid_tank,limit=1,sort=nearest,distance=..0.1] data.gm4_liquid_tanks.liquid_tag set from entity @s Passengers[0].equipment.feet.components."minecraft:custom_data".gm4_liquid_minecarts.liquid_tag
tag @e[type=armor_stand] remove gm4_lm_needs_texture
#setup tank data
-data modify block ~ ~ ~ CustomName set from entity @s Passengers[0].ArmorItems[0].components."minecraft:custom_data".gm4_liquid_minecarts.tank.CustomName
+data modify block ~ ~ ~ CustomName set from entity @s Passengers[0].equipment.feet.components."minecraft:custom_data".gm4_liquid_minecarts.tank.CustomName
scoreboard players operation @s gm4_lm_data = @s gm4_lt_max
scoreboard players operation @s gm4_lm_data *= #5 gm4_lm_data
scoreboard players operation @s gm4_lm_data /= #2 gm4_lm_data
scoreboard players operation @e[type=marker,tag=gm4_liquid_tank,limit=1,sort=nearest,distance=..0.1] gm4_lt_max = @s gm4_lm_data
#apply liquid tag
-data modify entity @e[type=marker,tag=gm4_liquid_tank,limit=1,sort=nearest,distance=..0.1] Tags append from entity @s Passengers[0].ArmorItems[0].components."minecraft:custom_data".gm4_liquid_minecarts.liquid_tag
+data modify entity @e[type=marker,tag=gm4_liquid_tank,limit=1,sort=nearest,distance=..0.1] Tags append from entity @s Passengers[0].equipment.feet.components."minecraft:custom_data".gm4_liquid_minecarts.liquid_tag
tag @e[type=marker,tag=gm4_liquid_tank,limit=1,sort=nearest,distance=..0.1] remove gm4_lt_empty
#load all cart liquid into tank
diff --git a/gm4_liquid_minecarts/data/gm4_liquid_minecarts/function/liquid_value_update.mcfunction b/gm4_liquid_minecarts/data/gm4_liquid_minecarts/function/liquid_value_update.mcfunction
index f891b1d8e8..352c0a81f7 100644
--- a/gm4_liquid_minecarts/data/gm4_liquid_minecarts/function/liquid_value_update.mcfunction
+++ b/gm4_liquid_minecarts/data/gm4_liquid_minecarts/function/liquid_value_update.mcfunction
@@ -7,10 +7,10 @@ scoreboard players operation @s gm4_lm_data *= #100 gm4_lm_data
scoreboard players operation @s gm4_lm_data /= @s gm4_lt_max
#1%-50%
-execute if score @s gm4_lt_value matches 1.. if score @s gm4_lm_data matches 0..50 run data modify entity @e[type=armor_stand,tag=gm4_liquid_minecart_stand,limit=1,sort=nearest] ArmorItems[3] merge value {id:"minecraft:player_head",count:1,components:{"minecraft:profile":"$liquid_minecart_display/low"}}
+execute if score @s gm4_lt_value matches 1.. if score @s gm4_lm_data matches 0..50 run data modify entity @e[type=armor_stand,tag=gm4_liquid_minecart_stand,limit=1,sort=nearest] equipment.head merge value {id:"minecraft:player_head",count:1,components:{"minecraft:profile":"$liquid_minecart_display/low"}}
#51%-99%
-execute unless score @s gm4_lt_value = @s gm4_lt_max if score @s gm4_lm_data matches 51..100 run data modify entity @e[type=armor_stand,tag=gm4_liquid_minecart_stand,limit=1,sort=nearest] ArmorItems[3] merge value {id:"minecraft:player_head",count:1,components:{"minecraft:profile":"$liquid_minecart_display/high"}}
+execute unless score @s gm4_lt_value = @s gm4_lt_max if score @s gm4_lm_data matches 51..100 run data modify entity @e[type=armor_stand,tag=gm4_liquid_minecart_stand,limit=1,sort=nearest] equipment.head merge value {id:"minecraft:player_head",count:1,components:{"minecraft:profile":"$liquid_minecart_display/high"}}
#100%
-execute if score @s gm4_lt_value = @s gm4_lt_max run data modify entity @e[type=armor_stand,tag=gm4_liquid_minecart_stand,limit=1,sort=nearest] ArmorItems[3] merge value {id:"minecraft:player_head",count:1,components:{"minecraft:profile":"$liquid_minecart_display/full"}}
+execute if score @s gm4_lt_value = @s gm4_lt_max run data modify entity @e[type=armor_stand,tag=gm4_liquid_minecart_stand,limit=1,sort=nearest] equipment.head merge value {id:"minecraft:player_head",count:1,components:{"minecraft:profile":"$liquid_minecart_display/full"}}
#0%
-execute if score @s gm4_lt_value matches 0 run data modify entity @e[type=armor_stand,tag=gm4_liquid_minecart_stand,limit=1,sort=nearest] ArmorItems[3] merge value {id:"minecraft:player_head",count:1,components:{"minecraft:profile":"$liquid_minecart_display/empty"}}
+execute if score @s gm4_lt_value matches 0 run data modify entity @e[type=armor_stand,tag=gm4_liquid_minecart_stand,limit=1,sort=nearest] equipment.head merge value {id:"minecraft:player_head",count:1,components:{"minecraft:profile":"$liquid_minecart_display/empty"}}
diff --git a/gm4_liquid_minecarts/data/gm4_liquid_minecarts/function/machine/create_cart.mcfunction b/gm4_liquid_minecarts/data/gm4_liquid_minecarts/function/machine/create_cart.mcfunction
index dc676ff520..0b9982ef98 100644
--- a/gm4_liquid_minecarts/data/gm4_liquid_minecarts/function/machine/create_cart.mcfunction
+++ b/gm4_liquid_minecarts/data/gm4_liquid_minecarts/function/machine/create_cart.mcfunction
@@ -6,7 +6,7 @@
scoreboard players set $placed_block gm4_machine_data 1
# summon new command block minecart
-summon command_block_minecart ~ ~ ~ {Command:"execute if score @s gm4_lt_value matches 1.. run function gm4_liquid_minecarts:drain_minecart",CustomName:'{"text":"Liquid Minecart","italic":false}',Tags:["gm4_liquid_minecart","gm4_liquid_minecart_empty","gm4_machine_cart","gm4_new_machine"],CustomDisplayTile:1,DisplayState:{"Name":"minecraft:hopper"},Passengers:[{id:"minecraft:armor_stand",Tags:["gm4_no_edit","gm4_liquid_minecart_stand","gm4_machine_cart","smithed.entity","smithed.strict","gm4_new_machine"],Invisible:1b,DisabledSlots:2039583,Small:1b,ArmorItems:[{id:"minecraft:stick",count:1,components:{"minecraft:custom_data":{gm4_liquid_minecarts:{liquid_tag:"null"}}}},{},{},{}],Pose:{Head:[180.0f,0.0f,0.0f],RightArm:[0.0f,-90.0f,0.0f]}}]}
+summon command_block_minecart ~ ~ ~ {Command:"execute if score @s gm4_lt_value matches 1.. run function gm4_liquid_minecarts:drain_minecart",CustomName:{"text":"Liquid Minecart","italic":false},Tags:["gm4_liquid_minecart","gm4_liquid_minecart_empty","gm4_machine_cart","gm4_new_machine"],DisplayState:{"Name":"minecraft:hopper"},Passengers:[{id:"minecraft:armor_stand",Tags:["gm4_no_edit","gm4_liquid_minecart_stand","gm4_machine_cart","smithed.entity","smithed.strict","gm4_new_machine"],Invisible:1b,DisabledSlots:2039583,Small:1b,equipment:{feet:{id:"minecraft:stick",count:1,components:{"minecraft:custom_data":{gm4_liquid_minecarts:{liquid_tag:"null"}}}}},Pose:{Head:[180.0f,0.0f,0.0f],RightArm:[0.0f,-90.0f,0.0f]}}]}
tp @e[type=command_block_minecart,distance=..0.1,tag=gm4_new_machine] @s
scoreboard players set @e[distance=..2,tag=gm4_new_machine] gm4_entity_version 1
execute as @e[type=command_block_minecart,distance=..0.1,tag=gm4_new_machine,limit=1] run function gm4_liquid_minecarts:liquid_value_update
diff --git a/gm4_liquid_minecarts/data/gm4_liquid_minecarts/function/machine/destroy_cart.mcfunction b/gm4_liquid_minecarts/data/gm4_liquid_minecarts/function/machine/destroy_cart.mcfunction
index 1368b5ab34..706922f8b2 100644
--- a/gm4_liquid_minecarts/data/gm4_liquid_minecarts/function/machine/destroy_cart.mcfunction
+++ b/gm4_liquid_minecarts/data/gm4_liquid_minecarts/function/machine/destroy_cart.mcfunction
@@ -5,7 +5,7 @@
# drop item
scoreboard players set $dropped_item gm4_machine_data 0
-execute as @e[type=item,distance=..3,nbt={Age:0s,Item:{id:"minecraft:minecart",count:1,components:{"minecraft:custom_name":'{"italic":false,"text":"Liquid Minecart"}'}}},limit=1,sort=nearest] at @s run function gm4_liquid_minecarts:machine/destroy_cart/drop_item
+execute as @e[type=item,distance=..3,nbt={Age:0s,Item:{id:"minecraft:minecart",count:1,components:{"minecraft:custom_name":{"italic":false,"text":"Liquid Minecart"}}}},limit=1,sort=nearest] at @s run function gm4_liquid_minecarts:machine/destroy_cart/drop_item
# scan hoppers if no item was broken
execute if score $dropped_item gm4_machine_data matches 0 run function gm4_liquid_minecarts:machine/destroy_cart/scan_hoppers
diff --git a/gm4_liquid_minecarts/data/gm4_liquid_minecarts/function/machine/destroy_cart/scan_hoppers.mcfunction b/gm4_liquid_minecarts/data/gm4_liquid_minecarts/function/machine/destroy_cart/scan_hoppers.mcfunction
index c62a12c015..a215cd6dda 100644
--- a/gm4_liquid_minecarts/data/gm4_liquid_minecarts/function/machine/destroy_cart/scan_hoppers.mcfunction
+++ b/gm4_liquid_minecarts/data/gm4_liquid_minecarts/function/machine/destroy_cart/scan_hoppers.mcfunction
@@ -5,35 +5,35 @@
# find hopper with the invalid item
scoreboard players set $found_item gm4_machine_data 0
-execute if score $found_item gm4_machine_data matches 0 positioned ~00 ~00 ~00 if block ~ ~ ~ hopper{Items:[{id:"minecraft:minecart",components:{"minecraft:custom_data":'{"text":"Liquid Minecart","italic":false}'}}]} run function gm4_liquid_minecarts:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~01 ~00 ~00 if block ~ ~ ~ hopper{Items:[{id:"minecraft:minecart",components:{"minecraft:custom_data":'{"text":"Liquid Minecart","italic":false}'}}]} run function gm4_liquid_minecarts:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~-1 ~00 ~00 if block ~ ~ ~ hopper{Items:[{id:"minecraft:minecart",components:{"minecraft:custom_data":'{"text":"Liquid Minecart","italic":false}'}}]} run function gm4_liquid_minecarts:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~00 ~00 ~01 if block ~ ~ ~ hopper{Items:[{id:"minecraft:minecart",components:{"minecraft:custom_data":'{"text":"Liquid Minecart","italic":false}'}}]} run function gm4_liquid_minecarts:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~01 ~00 ~01 if block ~ ~ ~ hopper{Items:[{id:"minecraft:minecart",components:{"minecraft:custom_data":'{"text":"Liquid Minecart","italic":false}'}}]} run function gm4_liquid_minecarts:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~-1 ~00 ~01 if block ~ ~ ~ hopper{Items:[{id:"minecraft:minecart",components:{"minecraft:custom_data":'{"text":"Liquid Minecart","italic":false}'}}]} run function gm4_liquid_minecarts:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~00 ~00 ~-1 if block ~ ~ ~ hopper{Items:[{id:"minecraft:minecart",components:{"minecraft:custom_data":'{"text":"Liquid Minecart","italic":false}'}}]} run function gm4_liquid_minecarts:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~01 ~00 ~-1 if block ~ ~ ~ hopper{Items:[{id:"minecraft:minecart",components:{"minecraft:custom_data":'{"text":"Liquid Minecart","italic":false}'}}]} run function gm4_liquid_minecarts:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~-1 ~00 ~-1 if block ~ ~ ~ hopper{Items:[{id:"minecraft:minecart",components:{"minecraft:custom_data":'{"text":"Liquid Minecart","italic":false}'}}]} run function gm4_liquid_minecarts:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~00 ~00 ~00 if block ~ ~ ~ hopper{Items:[{id:"minecraft:minecart",components:{"minecraft:custom_name":{"text":"Liquid Minecart","italic":false}}}]} run function gm4_liquid_minecarts:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~01 ~00 ~00 if block ~ ~ ~ hopper{Items:[{id:"minecraft:minecart",components:{"minecraft:custom_name":{"text":"Liquid Minecart","italic":false}}}]} run function gm4_liquid_minecarts:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~-1 ~00 ~00 if block ~ ~ ~ hopper{Items:[{id:"minecraft:minecart",components:{"minecraft:custom_name":{"text":"Liquid Minecart","italic":false}}}]} run function gm4_liquid_minecarts:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~00 ~00 ~01 if block ~ ~ ~ hopper{Items:[{id:"minecraft:minecart",components:{"minecraft:custom_name":{"text":"Liquid Minecart","italic":false}}}]} run function gm4_liquid_minecarts:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~01 ~00 ~01 if block ~ ~ ~ hopper{Items:[{id:"minecraft:minecart",components:{"minecraft:custom_name":{"text":"Liquid Minecart","italic":false}}}]} run function gm4_liquid_minecarts:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~-1 ~00 ~01 if block ~ ~ ~ hopper{Items:[{id:"minecraft:minecart",components:{"minecraft:custom_name":{"text":"Liquid Minecart","italic":false}}}]} run function gm4_liquid_minecarts:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~00 ~00 ~-1 if block ~ ~ ~ hopper{Items:[{id:"minecraft:minecart",components:{"minecraft:custom_name":{"text":"Liquid Minecart","italic":false}}}]} run function gm4_liquid_minecarts:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~01 ~00 ~-1 if block ~ ~ ~ hopper{Items:[{id:"minecraft:minecart",components:{"minecraft:custom_name":{"text":"Liquid Minecart","italic":false}}}]} run function gm4_liquid_minecarts:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~-1 ~00 ~-1 if block ~ ~ ~ hopper{Items:[{id:"minecraft:minecart",components:{"minecraft:custom_name":{"text":"Liquid Minecart","italic":false}}}]} run function gm4_liquid_minecarts:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~00 ~-1 ~00 if block ~ ~ ~ hopper{Items:[{id:"minecraft:minecart",components:{"minecraft:custom_data":'{"text":"Liquid Minecart","italic":false}'}}]} run function gm4_liquid_minecarts:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~01 ~-1 ~00 if block ~ ~ ~ hopper{Items:[{id:"minecraft:minecart",components:{"minecraft:custom_data":'{"text":"Liquid Minecart","italic":false}'}}]} run function gm4_liquid_minecarts:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~-1 ~-1 ~00 if block ~ ~ ~ hopper{Items:[{id:"minecraft:minecart",components:{"minecraft:custom_data":'{"text":"Liquid Minecart","italic":false}'}}]} run function gm4_liquid_minecarts:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~00 ~-1 ~01 if block ~ ~ ~ hopper{Items:[{id:"minecraft:minecart",components:{"minecraft:custom_data":'{"text":"Liquid Minecart","italic":false}'}}]} run function gm4_liquid_minecarts:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~01 ~-1 ~01 if block ~ ~ ~ hopper{Items:[{id:"minecraft:minecart",components:{"minecraft:custom_data":'{"text":"Liquid Minecart","italic":false}'}}]} run function gm4_liquid_minecarts:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~-1 ~-1 ~01 if block ~ ~ ~ hopper{Items:[{id:"minecraft:minecart",components:{"minecraft:custom_data":'{"text":"Liquid Minecart","italic":false}'}}]} run function gm4_liquid_minecarts:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~00 ~-1 ~-1 if block ~ ~ ~ hopper{Items:[{id:"minecraft:minecart",components:{"minecraft:custom_data":'{"text":"Liquid Minecart","italic":false}'}}]} run function gm4_liquid_minecarts:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~01 ~-1 ~-1 if block ~ ~ ~ hopper{Items:[{id:"minecraft:minecart",components:{"minecraft:custom_data":'{"text":"Liquid Minecart","italic":false}'}}]} run function gm4_liquid_minecarts:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~-1 ~-1 ~-1 if block ~ ~ ~ hopper{Items:[{id:"minecraft:minecart",components:{"minecraft:custom_data":'{"text":"Liquid Minecart","italic":false}'}}]} run function gm4_liquid_minecarts:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~00 ~-1 ~00 if block ~ ~ ~ hopper{Items:[{id:"minecraft:minecart",components:{"minecraft:custom_name":{"text":"Liquid Minecart","italic":false}}}]} run function gm4_liquid_minecarts:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~01 ~-1 ~00 if block ~ ~ ~ hopper{Items:[{id:"minecraft:minecart",components:{"minecraft:custom_name":{"text":"Liquid Minecart","italic":false}}}]} run function gm4_liquid_minecarts:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~-1 ~-1 ~00 if block ~ ~ ~ hopper{Items:[{id:"minecraft:minecart",components:{"minecraft:custom_name":{"text":"Liquid Minecart","italic":false}}}]} run function gm4_liquid_minecarts:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~00 ~-1 ~01 if block ~ ~ ~ hopper{Items:[{id:"minecraft:minecart",components:{"minecraft:custom_name":{"text":"Liquid Minecart","italic":false}}}]} run function gm4_liquid_minecarts:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~01 ~-1 ~01 if block ~ ~ ~ hopper{Items:[{id:"minecraft:minecart",components:{"minecraft:custom_name":{"text":"Liquid Minecart","italic":false}}}]} run function gm4_liquid_minecarts:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~-1 ~-1 ~01 if block ~ ~ ~ hopper{Items:[{id:"minecraft:minecart",components:{"minecraft:custom_name":{"text":"Liquid Minecart","italic":false}}}]} run function gm4_liquid_minecarts:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~00 ~-1 ~-1 if block ~ ~ ~ hopper{Items:[{id:"minecraft:minecart",components:{"minecraft:custom_name":{"text":"Liquid Minecart","italic":false}}}]} run function gm4_liquid_minecarts:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~01 ~-1 ~-1 if block ~ ~ ~ hopper{Items:[{id:"minecraft:minecart",components:{"minecraft:custom_name":{"text":"Liquid Minecart","italic":false}}}]} run function gm4_liquid_minecarts:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~-1 ~-1 ~-1 if block ~ ~ ~ hopper{Items:[{id:"minecraft:minecart",components:{"minecraft:custom_name":{"text":"Liquid Minecart","italic":false}}}]} run function gm4_liquid_minecarts:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~00 ~-2 ~00 if block ~ ~ ~ hopper{Items:[{id:"minecraft:minecart",components:{"minecraft:custom_data":'{"text":"Liquid Minecart","italic":false}'}}]} run function gm4_liquid_minecarts:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~01 ~-2 ~00 if block ~ ~ ~ hopper{Items:[{id:"minecraft:minecart",components:{"minecraft:custom_data":'{"text":"Liquid Minecart","italic":false}'}}]} run function gm4_liquid_minecarts:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~-1 ~-2 ~00 if block ~ ~ ~ hopper{Items:[{id:"minecraft:minecart",components:{"minecraft:custom_data":'{"text":"Liquid Minecart","italic":false}'}}]} run function gm4_liquid_minecarts:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~00 ~-2 ~01 if block ~ ~ ~ hopper{Items:[{id:"minecraft:minecart",components:{"minecraft:custom_data":'{"text":"Liquid Minecart","italic":false}'}}]} run function gm4_liquid_minecarts:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~01 ~-2 ~01 if block ~ ~ ~ hopper{Items:[{id:"minecraft:minecart",components:{"minecraft:custom_data":'{"text":"Liquid Minecart","italic":false}'}}]} run function gm4_liquid_minecarts:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~-1 ~-2 ~01 if block ~ ~ ~ hopper{Items:[{id:"minecraft:minecart",components:{"minecraft:custom_data":'{"text":"Liquid Minecart","italic":false}'}}]} run function gm4_liquid_minecarts:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~00 ~-2 ~-1 if block ~ ~ ~ hopper{Items:[{id:"minecraft:minecart",components:{"minecraft:custom_data":'{"text":"Liquid Minecart","italic":false}'}}]} run function gm4_liquid_minecarts:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~01 ~-2 ~-1 if block ~ ~ ~ hopper{Items:[{id:"minecraft:minecart",components:{"minecraft:custom_data":'{"text":"Liquid Minecart","italic":false}'}}]} run function gm4_liquid_minecarts:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~-1 ~-2 ~-1 if block ~ ~ ~ hopper{Items:[{id:"minecraft:minecart",components:{"minecraft:custom_data":'{"text":"Liquid Minecart","italic":false}'}}]} run function gm4_liquid_minecarts:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~00 ~-2 ~00 if block ~ ~ ~ hopper{Items:[{id:"minecraft:minecart",components:{"minecraft:custom_name":{"text":"Liquid Minecart","italic":false}}}]} run function gm4_liquid_minecarts:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~01 ~-2 ~00 if block ~ ~ ~ hopper{Items:[{id:"minecraft:minecart",components:{"minecraft:custom_name":{"text":"Liquid Minecart","italic":false}}}]} run function gm4_liquid_minecarts:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~-1 ~-2 ~00 if block ~ ~ ~ hopper{Items:[{id:"minecraft:minecart",components:{"minecraft:custom_name":{"text":"Liquid Minecart","italic":false}}}]} run function gm4_liquid_minecarts:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~00 ~-2 ~01 if block ~ ~ ~ hopper{Items:[{id:"minecraft:minecart",components:{"minecraft:custom_name":{"text":"Liquid Minecart","italic":false}}}]} run function gm4_liquid_minecarts:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~01 ~-2 ~01 if block ~ ~ ~ hopper{Items:[{id:"minecraft:minecart",components:{"minecraft:custom_name":{"text":"Liquid Minecart","italic":false}}}]} run function gm4_liquid_minecarts:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~-1 ~-2 ~01 if block ~ ~ ~ hopper{Items:[{id:"minecraft:minecart",components:{"minecraft:custom_name":{"text":"Liquid Minecart","italic":false}}}]} run function gm4_liquid_minecarts:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~00 ~-2 ~-1 if block ~ ~ ~ hopper{Items:[{id:"minecraft:minecart",components:{"minecraft:custom_name":{"text":"Liquid Minecart","italic":false}}}]} run function gm4_liquid_minecarts:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~01 ~-2 ~-1 if block ~ ~ ~ hopper{Items:[{id:"minecraft:minecart",components:{"minecraft:custom_name":{"text":"Liquid Minecart","italic":false}}}]} run function gm4_liquid_minecarts:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~-1 ~-2 ~-1 if block ~ ~ ~ hopper{Items:[{id:"minecraft:minecart",components:{"minecraft:custom_name":{"text":"Liquid Minecart","italic":false}}}]} run function gm4_liquid_minecarts:machine/destroy_cart/update_hopper
# if no hoppers found, find hopper minecarts with the invalid item
-execute if score $found_item gm4_machine_data matches 0 as @e[type=hopper_minecart,distance=..3,nbt={Items:[{id:"minecraft:minecart",components:{"minecraft:custom_data":'{"text":"Liquid Minecart","italic":false}'}}]}] run function gm4_liquid_minecarts:machine/destroy_cart/update_hopper_minecart
+execute if score $found_item gm4_machine_data matches 0 as @e[type=hopper_minecart,distance=..3,nbt={Items:[{id:"minecraft:minecart",components:{"minecraft:custom_name":{"text":"Liquid Minecart","italic":false}}}]}] run function gm4_liquid_minecarts:machine/destroy_cart/update_hopper_minecart
diff --git a/gm4_liquid_minecarts/data/gm4_liquid_minecarts/function/machine/destroy_cart/update_hopper.mcfunction b/gm4_liquid_minecarts/data/gm4_liquid_minecarts/function/machine/destroy_cart/update_hopper.mcfunction
index df1b6ab015..ea36e666d8 100644
--- a/gm4_liquid_minecarts/data/gm4_liquid_minecarts/function/machine/destroy_cart/update_hopper.mcfunction
+++ b/gm4_liquid_minecarts/data/gm4_liquid_minecarts/function/machine/destroy_cart/update_hopper.mcfunction
@@ -5,11 +5,11 @@
# replace correct slot with proper item
data modify storage gm4_machines:temp Items set from block ~ ~ ~ Items
-execute if data storage gm4_machines:temp Items[{Slot:0b,components:{"minecraft:custom_name":'{"text":"Liquid Minecart","italic":false}'}}] run loot replace block ~ ~ ~ container.0 loot gm4_liquid_minecarts:entities/liquid_minecart
-execute if data storage gm4_machines:temp Items[{Slot:1b,components:{"minecraft:custom_name":'{"text":"Liquid Minecart","italic":false}'}}] run loot replace block ~ ~ ~ container.1 loot gm4_liquid_minecarts:entities/liquid_minecart
-execute if data storage gm4_machines:temp Items[{Slot:2b,components:{"minecraft:custom_name":'{"text":"Liquid Minecart","italic":false}'}}] run loot replace block ~ ~ ~ container.2 loot gm4_liquid_minecarts:entities/liquid_minecart
-execute if data storage gm4_machines:temp Items[{Slot:3b,components:{"minecraft:custom_name":'{"text":"Liquid Minecart","italic":false}'}}] run loot replace block ~ ~ ~ container.3 loot gm4_liquid_minecarts:entities/liquid_minecart
-execute if data storage gm4_machines:temp Items[{Slot:4b,components:{"minecraft:custom_name":'{"text":"Liquid Minecart","italic":false}'}}] run loot replace block ~ ~ ~ container.4 loot gm4_liquid_minecarts:entities/liquid_minecart
+execute if data storage gm4_machines:temp Items[{Slot:0b,components:{"minecraft:custom_name":{"text":"Liquid Minecart","italic":false}}}] run loot replace block ~ ~ ~ container.0 loot gm4_liquid_minecarts:entities/liquid_minecart
+execute if data storage gm4_machines:temp Items[{Slot:1b,components:{"minecraft:custom_name":{"text":"Liquid Minecart","italic":false}}}] run loot replace block ~ ~ ~ container.1 loot gm4_liquid_minecarts:entities/liquid_minecart
+execute if data storage gm4_machines:temp Items[{Slot:2b,components:{"minecraft:custom_name":{"text":"Liquid Minecart","italic":false}}}] run loot replace block ~ ~ ~ container.2 loot gm4_liquid_minecarts:entities/liquid_minecart
+execute if data storage gm4_machines:temp Items[{Slot:3b,components:{"minecraft:custom_name":{"text":"Liquid Minecart","italic":false}}}] run loot replace block ~ ~ ~ container.3 loot gm4_liquid_minecarts:entities/liquid_minecart
+execute if data storage gm4_machines:temp Items[{Slot:4b,components:{"minecraft:custom_name":{"text":"Liquid Minecart","italic":false}}}] run loot replace block ~ ~ ~ container.4 loot gm4_liquid_minecarts:entities/liquid_minecart
# clean up
data remove storage gm4_machines:temp Items
diff --git a/gm4_liquid_minecarts/data/gm4_liquid_minecarts/function/machine/destroy_cart/update_hopper_minecart.mcfunction b/gm4_liquid_minecarts/data/gm4_liquid_minecarts/function/machine/destroy_cart/update_hopper_minecart.mcfunction
index 49df1b325a..0aa0a492f6 100644
--- a/gm4_liquid_minecarts/data/gm4_liquid_minecarts/function/machine/destroy_cart/update_hopper_minecart.mcfunction
+++ b/gm4_liquid_minecarts/data/gm4_liquid_minecarts/function/machine/destroy_cart/update_hopper_minecart.mcfunction
@@ -5,11 +5,11 @@
# replace correct slot with proper item
data modify storage gm4_machines:temp Items set from entity @s Items
-execute if data storage gm4_machines:temp Items[{Slot:0b,components:{"minecraft:custom_name":'{"text":"Liquid Minecart","italic":false}'}}] run loot replace entity @s container.0 loot gm4_liquid_minecarts:entities/liquid_minecart
-execute if data storage gm4_machines:temp Items[{Slot:1b,components:{"minecraft:custom_name":'{"text":"Liquid Minecart","italic":false}'}}] run loot replace entity @s container.1 loot gm4_liquid_minecarts:entities/liquid_minecart
-execute if data storage gm4_machines:temp Items[{Slot:2b,components:{"minecraft:custom_name":'{"text":"Liquid Minecart","italic":false}'}}] run loot replace entity @s container.2 loot gm4_liquid_minecarts:entities/liquid_minecart
-execute if data storage gm4_machines:temp Items[{Slot:3b,components:{"minecraft:custom_name":'{"text":"Liquid Minecart","italic":false}'}}] run loot replace entity @s container.3 loot gm4_liquid_minecarts:entities/liquid_minecart
-execute if data storage gm4_machines:temp Items[{Slot:4b,components:{"minecraft:custom_name":'{"text":"Liquid Minecart","italic":false}'}}] run loot replace entity @s container.4 loot gm4_liquid_minecarts:entities/liquid_minecart
+execute if data storage gm4_machines:temp Items[{Slot:0b,components:{"minecraft:custom_name":{"text":"Liquid Minecart","italic":false}}}] run loot replace entity @s container.0 loot gm4_liquid_minecarts:entities/liquid_minecart
+execute if data storage gm4_machines:temp Items[{Slot:1b,components:{"minecraft:custom_name":{"text":"Liquid Minecart","italic":false}}}] run loot replace entity @s container.1 loot gm4_liquid_minecarts:entities/liquid_minecart
+execute if data storage gm4_machines:temp Items[{Slot:2b,components:{"minecraft:custom_name":{"text":"Liquid Minecart","italic":false}}}] run loot replace entity @s container.2 loot gm4_liquid_minecarts:entities/liquid_minecart
+execute if data storage gm4_machines:temp Items[{Slot:3b,components:{"minecraft:custom_name":{"text":"Liquid Minecart","italic":false}}}] run loot replace entity @s container.3 loot gm4_liquid_minecarts:entities/liquid_minecart
+execute if data storage gm4_machines:temp Items[{Slot:4b,components:{"minecraft:custom_name":{"text":"Liquid Minecart","italic":false}}}] run loot replace entity @s container.4 loot gm4_liquid_minecarts:entities/liquid_minecart
# clean up
data remove storage gm4_machines:temp Items
diff --git a/gm4_liquid_minecarts/data/gm4_liquid_minecarts/function/machine/verify_place_cart.mcfunction b/gm4_liquid_minecarts/data/gm4_liquid_minecarts/function/machine/verify_place_cart.mcfunction
index e8e0eb8b94..565959543f 100644
--- a/gm4_liquid_minecarts/data/gm4_liquid_minecarts/function/machine/verify_place_cart.mcfunction
+++ b/gm4_liquid_minecarts/data/gm4_liquid_minecarts/function/machine/verify_place_cart.mcfunction
@@ -3,4 +3,4 @@
# located at the machine minecart
# run from #gm4_machines:place_cart
-execute if score $placed_block gm4_machine_data matches 0 if data entity @s {CustomName:'{"translate":"item.gm4.liquid_minecart","fallback":"Minecart with Liquid Tank","italic":false}'} run function gm4_liquid_minecarts:machine/create_cart
+execute if score $placed_block gm4_machine_data matches 0 if data entity @s {CustomName:{"translate":"item.gm4.liquid_minecart","fallback":"Minecart with Liquid Tank","italic":false}} run function gm4_liquid_minecarts:machine/create_cart
diff --git a/gm4_liquid_minecarts/data/gm4_liquid_minecarts/function/set_empty_data.mcfunction b/gm4_liquid_minecarts/data/gm4_liquid_minecarts/function/set_empty_data.mcfunction
index 753471a92a..fafd0eaf72 100644
--- a/gm4_liquid_minecarts/data/gm4_liquid_minecarts/function/set_empty_data.mcfunction
+++ b/gm4_liquid_minecarts/data/gm4_liquid_minecarts/function/set_empty_data.mcfunction
@@ -1,5 +1,5 @@
#@s liquid minecart display of a minecart that has 0 liquid in it
#run from unload_liquid or init_tank or drain_minecart
-data modify entity @s ArmorItems[0].components."minecraft:custom_data".gm4_liquid_minecarts.liquid_tag set value "empty"
-data modify entity @s ArmorItems[0].components."minecraft:custom_data".gm4_liquid_minecarts.tank set value {texture:"null",CustomName:"null"}
+data modify entity @s equipment.feet.components."minecraft:custom_data".gm4_liquid_minecarts.liquid_tag set value "empty"
+data modify entity @s equipment.feet.components."minecraft:custom_data".gm4_liquid_minecarts.tank set value {texture:"null",CustomName:"null"}
diff --git a/gm4_liquid_minecarts/data/gm4_liquid_minecarts/recipe/liquid_minecart.json b/gm4_liquid_minecarts/data/gm4_liquid_minecarts/recipe/liquid_minecart.json
index 0f97580c11..abc67528d0 100644
--- a/gm4_liquid_minecarts/data/gm4_liquid_minecarts/recipe/liquid_minecart.json
+++ b/gm4_liquid_minecarts/data/gm4_liquid_minecarts/recipe/liquid_minecart.json
@@ -17,7 +17,7 @@
"components": {
"minecraft:custom_model_data": "item/liquid_minecart",
"minecraft:custom_data": "{gm4_machines:{id:'liquid_minecart'}}",
- "minecraft:custom_name": "{\"translate\":\"item.gm4.liquid_minecart\",\"fallback\":\"Minecart with Liquid Tank\",\"color\":\"white\",\"italic\":false}"
+ "minecraft:custom_name": {"translate":"item.gm4.liquid_minecart","fallback":"Minecart with Liquid Tank","color":"white","italic":false}
}
}
}
diff --git a/gm4_liquid_tanks/beet.yaml b/gm4_liquid_tanks/beet.yaml
index 5ea51cf210..bc48ac0ffb 100644
--- a/gm4_liquid_tanks/beet.yaml
+++ b/gm4_liquid_tanks/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_liquid_tanks
name: Liquid Tanks
-version: 2.6.X
+version: 2.7.X
data_pack:
load: .
@@ -17,8 +17,8 @@ meta:
gm4:
versioning:
required:
- lib_custom_crafters: 3.2.0
- lib_machines: 1.3.0
+ lib_custom_crafters: 3.4.0
+ lib_machines: 1.4.0
schedule_loops: [main]
model_data:
- item: player_head
diff --git a/gm4_liquid_tanks/data/gm4_liquid_tanks/function/empty.mcfunction b/gm4_liquid_tanks/data/gm4_liquid_tanks/function/empty.mcfunction
index d498869d9a..ec6932e52a 100644
--- a/gm4_liquid_tanks/data/gm4_liquid_tanks/function/empty.mcfunction
+++ b/gm4_liquid_tanks/data/gm4_liquid_tanks/function/empty.mcfunction
@@ -3,7 +3,7 @@
scoreboard players set @s gm4_lt_value 0
execute positioned ~ ~-0.5 ~ run kill @e[type=armor_stand,tag=gm4_liquid_tank_display,distance=..0.5]
-data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.empty","fallback":"Empty Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.empty","fallback":"Empty Tank","font":"gm4:default","color":"#404040"}]]}'}
+data merge block ~ ~ ~ {CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.empty","fallback":"Empty Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.empty","fallback":"Empty Tank","font":"gm4:default","color":"#404040"}]]}}
data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "empty"
function #gm4_liquid_tanks:remove_liquid_tags
tag @s add gm4_lt_empty
diff --git a/gm4_liquid_tanks/data/gm4_liquid_tanks/function/machine/rotate/down.mcfunction b/gm4_liquid_tanks/data/gm4_liquid_tanks/function/machine/rotate/down.mcfunction
index b8fa808eba..967a2dfd1a 100644
--- a/gm4_liquid_tanks/data/gm4_liquid_tanks/function/machine/rotate/down.mcfunction
+++ b/gm4_liquid_tanks/data/gm4_liquid_tanks/function/machine/rotate/down.mcfunction
@@ -4,8 +4,8 @@
# run from gm4_liquid_tanks:machine/create
# place hopper
-setblock ~ ~ ~ hopper[facing=down]{CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.empty","fallback":"Empty Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.empty","fallback":"Empty Tank","font":"gm4:default","color":"#404040"}]]}'}
+setblock ~ ~ ~ hopper[facing=down]{CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.empty","fallback":"Empty Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.empty","fallback":"Empty Tank","font":"gm4:default","color":"#404040"}]]}}
# summon display armor stand and marker entity
-summon armor_stand ~ ~-0.5 ~ {Small:1b,NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_liquid_tank_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:'"gm4_liquid_tank_stand"',ArmorItems:[{},{},{},{id:"glass",count:1,components:{"minecraft:custom_model_data":"block/liquid_tank"}}],Rotation:[0.0f,0.0f]}
-summon marker ~ ~ ~ {Tags:["gm4_liquid_tank","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_liquid_tank"',Rotation:[0.0f,0.0f]}
+summon armor_stand ~ ~-0.5 ~ {Small:1b,NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_liquid_tank_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:"gm4_liquid_tank_stand",equipment:{head:{id:"glass",count:1,components:{"minecraft:custom_model_data":"block/liquid_tank"}}},Rotation:[0.0f,0.0f]}
+summon marker ~ ~ ~ {Tags:["gm4_liquid_tank","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:"gm4_liquid_tank",Rotation:[0.0f,0.0f]}
diff --git a/gm4_liquid_tanks/data/gm4_liquid_tanks/function/machine/rotate/east.mcfunction b/gm4_liquid_tanks/data/gm4_liquid_tanks/function/machine/rotate/east.mcfunction
index 9874654693..cc5f24a308 100644
--- a/gm4_liquid_tanks/data/gm4_liquid_tanks/function/machine/rotate/east.mcfunction
+++ b/gm4_liquid_tanks/data/gm4_liquid_tanks/function/machine/rotate/east.mcfunction
@@ -4,8 +4,8 @@
# run from gm4_liquid_tanks:machine/create
# place hopper
-setblock ~ ~ ~ hopper[facing=east]{CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.empty","fallback":"Empty Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.empty","fallback":"Empty Tank","font":"gm4:default","color":"#404040"}]]}'}
+setblock ~ ~ ~ hopper[facing=east]{CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.empty","fallback":"Empty Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.empty","fallback":"Empty Tank","font":"gm4:default","color":"#404040"}]]}}
# summon display armor stand and marker entity
-summon armor_stand ~ ~-0.5 ~ {Small:1b,NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_liquid_tank_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:'"gm4_liquid_tank_stand"',ArmorItems:[{},{},{},{id:"glass",count:1,components:{"minecraft:custom_model_data":"block/liquid_tank_side"}}],Rotation:[-90.0f,0.0f]}
-summon marker ~ ~ ~ {Tags:["gm4_liquid_tank","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_liquid_tank"',Rotation:[-90.0f,0.0f]}
+summon armor_stand ~ ~-0.5 ~ {Small:1b,NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_liquid_tank_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:"gm4_liquid_tank_stand",equipment:{head:{id:"glass",count:1,components:{"minecraft:custom_model_data":"block/liquid_tank_side"}}},Rotation:[-90.0f,0.0f]}
+summon marker ~ ~ ~ {Tags:["gm4_liquid_tank","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:"gm4_liquid_tank",Rotation:[-90.0f,0.0f]}
diff --git a/gm4_liquid_tanks/data/gm4_liquid_tanks/function/machine/rotate/north.mcfunction b/gm4_liquid_tanks/data/gm4_liquid_tanks/function/machine/rotate/north.mcfunction
index cb2cd3db9d..a8d02b4ac2 100644
--- a/gm4_liquid_tanks/data/gm4_liquid_tanks/function/machine/rotate/north.mcfunction
+++ b/gm4_liquid_tanks/data/gm4_liquid_tanks/function/machine/rotate/north.mcfunction
@@ -4,8 +4,8 @@
# run from gm4_liquid_tanks:machine/create
# place hopper
-setblock ~ ~ ~ hopper[facing=north]{CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.empty","fallback":"Empty Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.empty","fallback":"Empty Tank","font":"gm4:default","color":"#404040"}]]}'}
+setblock ~ ~ ~ hopper[facing=north]{CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.empty","fallback":"Empty Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.empty","fallback":"Empty Tank","font":"gm4:default","color":"#404040"}]]}}
# summon display armor stand and marker entity
-summon armor_stand ~ ~-0.5 ~ {Small:1b,NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_liquid_tank_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:'"gm4_liquid_tank_stand"',ArmorItems:[{},{},{},{id:"glass",count:1,components:{"minecraft:custom_model_data":"block/liquid_tank_side"}}],Rotation:[180.0f,0.0f]}
-summon marker ~ ~ ~ {Tags:["gm4_liquid_tank","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_liquid_tank"',Rotation:[180.0f,0.0f]}
+summon armor_stand ~ ~-0.5 ~ {Small:1b,NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_liquid_tank_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:"gm4_liquid_tank_stand",equipment:{head:{id:"glass",count:1,components:{"minecraft:custom_model_data":"block/liquid_tank_side"}}},Rotation:[180.0f,0.0f]}
+summon marker ~ ~ ~ {Tags:["gm4_liquid_tank","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:"gm4_liquid_tank",Rotation:[180.0f,0.0f]}
diff --git a/gm4_liquid_tanks/data/gm4_liquid_tanks/function/machine/rotate/south.mcfunction b/gm4_liquid_tanks/data/gm4_liquid_tanks/function/machine/rotate/south.mcfunction
index a0b70c9dd3..b45d7d55c7 100644
--- a/gm4_liquid_tanks/data/gm4_liquid_tanks/function/machine/rotate/south.mcfunction
+++ b/gm4_liquid_tanks/data/gm4_liquid_tanks/function/machine/rotate/south.mcfunction
@@ -4,8 +4,8 @@
# run from gm4_liquid_tanks:machine/create
# place hopper
-setblock ~ ~ ~ hopper[facing=south]{CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.empty","fallback":"Empty Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.empty","fallback":"Empty Tank","font":"gm4:default","color":"#404040"}]]}'}
+setblock ~ ~ ~ hopper[facing=south]{CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.empty","fallback":"Empty Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.empty","fallback":"Empty Tank","font":"gm4:default","color":"#404040"}]]}}
# summon display armor stand and marker entity
-summon armor_stand ~ ~-0.5 ~ {Small:1b,NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_liquid_tank_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:'"gm4_liquid_tank_stand"',ArmorItems:[{},{},{},{id:"glass",count:1,components:{"minecraft:custom_model_data":"block/liquid_tank_side"}}],Rotation:[0.0f,0.0f]}
-summon marker ~ ~ ~ {Tags:["gm4_liquid_tank","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_liquid_tank"',Rotation:[0.0f,0.0f]}
+summon armor_stand ~ ~-0.5 ~ {Small:1b,NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_liquid_tank_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:"gm4_liquid_tank_stand",equipment:{head:{id:"glass",count:1,components:{"minecraft:custom_model_data":"block/liquid_tank_side"}}},Rotation:[0.0f,0.0f]}
+summon marker ~ ~ ~ {Tags:["gm4_liquid_tank","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:"gm4_liquid_tank",Rotation:[0.0f,0.0f]}
diff --git a/gm4_liquid_tanks/data/gm4_liquid_tanks/function/machine/rotate/west.mcfunction b/gm4_liquid_tanks/data/gm4_liquid_tanks/function/machine/rotate/west.mcfunction
index c0bd383e1b..95736eeaf2 100644
--- a/gm4_liquid_tanks/data/gm4_liquid_tanks/function/machine/rotate/west.mcfunction
+++ b/gm4_liquid_tanks/data/gm4_liquid_tanks/function/machine/rotate/west.mcfunction
@@ -4,8 +4,8 @@
# run from gm4_liquid_tanks:machine/create
# place hopper
-setblock ~ ~ ~ hopper[facing=west]{CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.empty","fallback":"Empty Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.empty","fallback":"Empty Tank","font":"gm4:default","color":"#404040"}]]}'}
+setblock ~ ~ ~ hopper[facing=west]{CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.empty","fallback":"Empty Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.empty","fallback":"Empty Tank","font":"gm4:default","color":"#404040"}]]}}
# summon display armor stand and marker entity
-summon armor_stand ~ ~-0.5 ~ {Small:1b,NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_liquid_tank_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:'"gm4_liquid_tank_stand"',ArmorItems:[{},{},{},{id:"glass",count:1,components:{"minecraft:custom_model_data":"block/liquid_tank_side"}}],Rotation:[90.0f,0.0f]}
-summon marker ~ ~ ~ {Tags:["gm4_liquid_tank","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_liquid_tank"',Rotation:[90.0f,0.0f]}
+summon armor_stand ~ ~-0.5 ~ {Small:1b,NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_liquid_tank_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:"gm4_liquid_tank_stand",equipment:{head:{id:"glass",count:1,components:{"minecraft:custom_model_data":"block/liquid_tank_side"}}},Rotation:[90.0f,0.0f]}
+summon marker ~ ~ ~ {Tags:["gm4_liquid_tank","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:"gm4_liquid_tank",Rotation:[90.0f,0.0f]}
diff --git a/gm4_liquid_tanks/data/gm4_liquid_tanks/function/relocate/place_down.mcfunction b/gm4_liquid_tanks/data/gm4_liquid_tanks/function/relocate/place_down.mcfunction
index 38cfebf6d3..69fe4221ae 100644
--- a/gm4_liquid_tanks/data/gm4_liquid_tanks/function/relocate/place_down.mcfunction
+++ b/gm4_liquid_tanks/data/gm4_liquid_tanks/function/relocate/place_down.mcfunction
@@ -7,7 +7,7 @@ execute if block ~ ~ ~ command_block[facing=south] run setblock ~ ~ ~ hopper[fac
execute if block ~ ~ ~ command_block[facing=north] run setblock ~ ~ ~ hopper[facing=north]
execute if block ~ ~ ~ command_block[facing=down] run setblock ~ ~ ~ hopper[facing=down]
-data merge block ~ ~ ~ {CustomName:'{"translate":"container.gm4.liquid_tank.empty","fallback":"Empty Tank"}'}
-summon armor_stand ~ ~-.5 ~ {CustomName:'"gm4_liquid_tank"',Tags:["gm4_no_edit","gm4_liquid_tank"],NoGravity:1b,Marker:1b,Silent:1b,Invisible:1b,Invulnerable:1b,Small:1b,DisabledSlots:2039552,ArmorItems:[{},{},{},{id:"minecraft:glass",count:1,components:{"minecraft:custom_model_data":"block/liquid_tank"}}]}
+data merge block ~ ~ ~ {CustomName:{"translate":"container.gm4.liquid_tank.empty","fallback":"Empty Tank"}}
+summon armor_stand ~ ~-.5 ~ {CustomName:"gm4_liquid_tank",Tags:["gm4_no_edit","gm4_liquid_tank"],NoGravity:1b,Marker:1b,Silent:1b,Invisible:1b,Invulnerable:1b,Small:1b,DisabledSlots:2039552,equipment:{head:{id:"minecraft:glass",count:1,components:{"minecraft:custom_model_data":"block/liquid_tank"}}}}
execute as @e[tag=gm4_liquid_tank,limit=1,distance=..0.3] run function gm4_liquid_tanks:init_tank_scores
playsound block.end_portal_frame.fill block @a[distance=..30] ~ ~ ~ 1 0.5
diff --git a/gm4_liquid_tanks/data/gm4_liquid_tanks/function/relocate/restore_liquid.mcfunction b/gm4_liquid_tanks/data/gm4_liquid_tanks/function/relocate/restore_liquid.mcfunction
index 75bc8e1898..9d8677549c 100644
--- a/gm4_liquid_tanks/data/gm4_liquid_tanks/function/relocate/restore_liquid.mcfunction
+++ b/gm4_liquid_tanks/data/gm4_liquid_tanks/function/relocate/restore_liquid.mcfunction
@@ -9,6 +9,6 @@ execute store result score @s gm4_lt_max run data get storage gm4_relocators:tem
scoreboard players set @s gm4_lt_disp_val 0
function #gm4_liquid_tanks:relocate/restore_liquid
-execute unless entity @s[tag=gm4_lt_empty] run summon armor_stand ~ ~-.95 ~ {CustomName:'"gm4_liquid_tank_display"',Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict","gm4_new_display"],NoGravity:1b,Marker:1b,Silent:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1}]}
+execute unless entity @s[tag=gm4_lt_empty] run summon armor_stand ~ ~-.95 ~ {CustomName:"gm4_liquid_tank_display",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict","gm4_new_display"],NoGravity:1b,Marker:1b,Silent:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,equipment:{head:{id:"player_head",count:1}}}
data modify entity @e[type=armor_stand,tag=gm4_new_display,distance=..1,limit=1] {} merge from storage gm4_relocators:temp gm4_relocation.entity_data.display
function gm4_liquid_tanks:liquid_value_update
diff --git a/gm4_liquid_tanks/data/gm4_liquid_tanks/function/relocate/set_pick_up_data.mcfunction b/gm4_liquid_tanks/data/gm4_liquid_tanks/function/relocate/set_pick_up_data.mcfunction
index c220328967..091dd588fe 100644
--- a/gm4_liquid_tanks/data/gm4_liquid_tanks/function/relocate/set_pick_up_data.mcfunction
+++ b/gm4_liquid_tanks/data/gm4_liquid_tanks/function/relocate/set_pick_up_data.mcfunction
@@ -3,7 +3,7 @@
# located at the center of the block to be picked up
# run from gm4_liquid_tanks:relocate/pick_up_check
-data modify storage gm4_relocators:temp merge_data set value {custom_block:"gm4_liquid_tank",lore:'{"translate":"block.gm4.liquid_tank","fallback":"Liquid Tank","color":"gray","italic":true}'}
+data modify storage gm4_relocators:temp merge_data set value {custom_block:"gm4_liquid_tank",lore:{"translate":"block.gm4.liquid_tank","fallback":"Liquid Tank","color":"gray","italic":true}}
data modify storage gm4_relocators:temp merge_data.entity_data.Rotation set from entity @s Rotation
tag @s remove gm4_relocating_block
@@ -11,7 +11,7 @@ data modify storage gm4_relocators:temp merge_data.entity_data.marker.Tags set f
tag @s add gm4_relocating_block
data modify storage gm4_relocators:temp merge_data.entity_data.marker.data set from entity @s data
-data modify storage gm4_relocators:temp merge_data.entity_data.stand.ArmorItems set from entity @e[type=armor_stand,tag=gm4_liquid_tank_stand,distance=..0.5,limit=1] ArmorItems
+data modify storage gm4_relocators:temp merge_data.entity_data.stand.equipment set from entity @e[type=armor_stand,tag=gm4_liquid_tank_stand,distance=..0.5,limit=1] equipment
data modify storage gm4_relocators:temp merge_data.entity_data.stand.Tags set from entity @e[type=armor_stand,tag=gm4_liquid_tank_stand,distance=..0.5,limit=1] Tags
execute positioned ~ ~-0.75 ~ run data modify storage gm4_relocators:temp merge_data.entity_data.display set from entity @e[type=armor_stand,tag=gm4_liquid_tank_display,distance=..0.3,limit=1] {}
diff --git a/gm4_liquid_tanks/data/gm4_liquid_tanks/function/relocate/summon_block_markers.mcfunction b/gm4_liquid_tanks/data/gm4_liquid_tanks/function/relocate/summon_block_markers.mcfunction
index 2e41ed4fdc..0dc0dedcae 100644
--- a/gm4_liquid_tanks/data/gm4_liquid_tanks/function/relocate/summon_block_markers.mcfunction
+++ b/gm4_liquid_tanks/data/gm4_liquid_tanks/function/relocate/summon_block_markers.mcfunction
@@ -5,8 +5,8 @@
scoreboard players set $placed_block gm4_rl_data 1
-summon armor_stand ~ ~-0.5 ~ {Small:1b,NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_liquid_tank_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:'"gm4_liquid_tank_stand"',ArmorItems:[{},{},{},{id:"glass",count:1,components:{"minecraft:custom_model_data":"block/liquid_tank"}}],Rotation:[0.0f,0.0f]}
-summon marker ~ ~ ~ {Tags:["gm4_liquid_tank","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_liquid_tank"',Rotation:[0.0f,0.0f]}
+summon armor_stand ~ ~-0.5 ~ {Small:1b,NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_liquid_tank_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:"gm4_liquid_tank_stand",equipment:{head:{id:"glass",count:1,components:{"minecraft:custom_model_data":"block/liquid_tank"}}},Rotation:[0.0f,0.0f]}
+summon marker ~ ~ ~ {Tags:["gm4_liquid_tank","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:"gm4_liquid_tank",Rotation:[0.0f,0.0f]}
execute as @e[type=marker,tag=gm4_new_machine,limit=1,distance=..0.1] run function gm4_liquid_tanks:relocate/restore_liquid
diff --git a/gm4_liquid_tanks/data/gm4_liquid_tanks/guidebook/liquid_tanks.json b/gm4_liquid_tanks/data/gm4_liquid_tanks/guidebook/liquid_tanks.json
index dde0ab9a68..afb019f6bd 100644
--- a/gm4_liquid_tanks/data/gm4_liquid_tanks/guidebook/liquid_tanks.json
+++ b/gm4_liquid_tanks/data/gm4_liquid_tanks/guidebook/liquid_tanks.json
@@ -17,7 +17,7 @@
"blocks": [
"minecraft:dropper"
],
- "nbt": "{CustomName:'{\"translate\":\"gm4.second\",\"fallback\":\"%1$s\",\"with\":[{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\"},{\"text\":\" \",\"extra\":[{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:offscreen\"},{\"translate\":\"gui.gm4.custom_crafter\",\"fallback\":\"\",\"font\":\"gm4:container_gui\",\"color\":\"white\"},{\"text\":\" \",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:default\",\"color\":\"#404040\"}],\"font\":\"gm4:half_invert\"}]}'}"
+ "nbt": "{CustomName:{\"translate\":\"gm4.second\",\"fallback\":\"%1$s\",\"with\":[{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\"},{\"text\":\" \",\"extra\":[{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:offscreen\"},{\"translate\":\"gui.gm4.custom_crafter\",\"fallback\":\"\",\"font\":\"gm4:container_gui\",\"color\":\"white\"},{\"text\":\" \",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:default\",\"color\":\"#404040\"}],\"font\":\"gm4:half_invert\"}]}}"
}
}
}
diff --git a/gm4_liquid_tanks/data/gm4_liquid_tanks/recipe/liquid_tank.json b/gm4_liquid_tanks/data/gm4_liquid_tanks/recipe/liquid_tank.json
index 5b0189271a..c23ef12a21 100644
--- a/gm4_liquid_tanks/data/gm4_liquid_tanks/recipe/liquid_tank.json
+++ b/gm4_liquid_tanks/data/gm4_liquid_tanks/recipe/liquid_tank.json
@@ -18,7 +18,7 @@
"minecraft:custom_model_data": "item/liquid_tank",
"minecraft:profile": "$liquid_tank",
"minecraft:custom_data": "{gm4_machines:{id:'liquid_tank'}}",
- "minecraft:custom_name": "{\"translate\":\"block.gm4.liquid_tank\",\"fallback\":\"Liquid Tank\",\"color\":\"white\",\"italic\":false}"
+ "minecraft:custom_name": {"translate":"block.gm4.liquid_tank","fallback":"Liquid Tank","color":"white","italic":false}
}
}
}
diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_fill/glow_ink_bottle.mcfunction b/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_fill/glow_ink_bottle.mcfunction
index f6b74571c4..7f45fe3a89 100644
--- a/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_fill/glow_ink_bottle.mcfunction
+++ b/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_fill/glow_ink_bottle.mcfunction
@@ -3,7 +3,7 @@
scoreboard players set $item_value gm4_lt_value -1
loot replace entity @e[type=armor_stand,tag=gm4_liquid_tank_stand,limit=1,sort=nearest,distance=..1] weapon.mainhand loot gm4_standard_liquids:glow_ink_bottle
-data modify storage gm4_liquid_tanks:temp/tank output set from entity @e[type=armor_stand,tag=gm4_liquid_tank_stand,limit=1,sort=nearest,distance=..1] HandItems[0]
+data modify storage gm4_liquid_tanks:temp/tank output set from entity @e[type=armor_stand,tag=gm4_liquid_tank_stand,limit=1,sort=nearest,distance=..1] equipment.mainhand
item replace entity @e[type=armor_stand,tag=gm4_liquid_tank_stand,limit=1,sort=nearest,distance=..1] weapon.mainhand with air
function gm4_liquid_tanks:smart_item_fill
tag @s add gm4_lt_fill
diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_fill/ink_bottle.mcfunction b/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_fill/ink_bottle.mcfunction
index ea23e4aaca..0b6c3c6487 100644
--- a/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_fill/ink_bottle.mcfunction
+++ b/gm4_liquid_tanks/data/gm4_standard_liquids/function/item_fill/ink_bottle.mcfunction
@@ -3,7 +3,7 @@
scoreboard players set $item_value gm4_lt_value -1
loot replace entity @e[type=armor_stand,tag=gm4_liquid_tank_stand,limit=1,sort=nearest,distance=..1] weapon.mainhand loot gm4_standard_liquids:ink_bottle
-data modify storage gm4_liquid_tanks:temp/tank output set from entity @e[type=armor_stand,tag=gm4_liquid_tank_stand,limit=1,sort=nearest,distance=..1] HandItems[0]
+data modify storage gm4_liquid_tanks:temp/tank output set from entity @e[type=armor_stand,tag=gm4_liquid_tank_stand,limit=1,sort=nearest,distance=..1] equipment.mainhand
item replace entity @e[type=armor_stand,tag=gm4_liquid_tank_stand,limit=1,sort=nearest,distance=..1] weapon.mainhand with air
function gm4_liquid_tanks:smart_item_fill
tag @s add gm4_lt_fill
diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/beetroot_soup.mcfunction b/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/beetroot_soup.mcfunction
index 91fbbde3db..451cf81476 100644
--- a/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/beetroot_soup.mcfunction
+++ b/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/beetroot_soup.mcfunction
@@ -1,5 +1,5 @@
-data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.beetroot_soup","fallback":"Beetroot Soup Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.beetroot_soup","fallback":"Beetroot Soup Tank","font":"gm4:default","color":"#404040"}]]}'}
-summon armor_stand ~ ~-.95 ~ {CustomName:'"gm4_liquid_tank_display"',Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$gm4_standard_liquids:liquids/beetroot_soup"}}]}
+data merge block ~ ~ ~ {CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.beetroot_soup","fallback":"Beetroot Soup Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.beetroot_soup","fallback":"Beetroot Soup Tank","font":"gm4:default","color":"#404040"}]]}}
+summon armor_stand ~ ~-.95 ~ {CustomName:"gm4_liquid_tank_display",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,equipment:{head:{id:"player_head",count:1,components:{"minecraft:profile":"$gm4_standard_liquids:liquids/beetroot_soup"}}}}
data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_beetroot_soup"
scoreboard players set @s gm4_lt_max 300
tag @s add gm4_lt_beetroot_soup
diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/experience.mcfunction b/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/experience.mcfunction
index efe5eedb87..30b5c758df 100644
--- a/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/experience.mcfunction
+++ b/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/experience.mcfunction
@@ -1,5 +1,5 @@
-data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.experience","fallback":"Experience Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.experience","fallback":"Experience Tank","font":"gm4:default","color":"#404040"}]]}'}
-summon armor_stand ~ ~-.95 ~ {CustomName:'"gm4_liquid_tank_display"',Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$gm4_standard_liquids:liquids/experience"}}]}
+data merge block ~ ~ ~ {CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.experience","fallback":"Experience Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.experience","fallback":"Experience Tank","font":"gm4:default","color":"#404040"}]]}}
+summon armor_stand ~ ~-.95 ~ {CustomName:"gm4_liquid_tank_display",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,equipment:{head:{id:"player_head",count:1,components:{"minecraft:profile":"$gm4_standard_liquids:liquids/experience"}}}}
data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_experience"
scoreboard players set @s gm4_lt_max 1395
tag @s add gm4_lt_experience
diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/glow_ink.mcfunction b/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/glow_ink.mcfunction
index 64bd4ea259..0db200893e 100644
--- a/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/glow_ink.mcfunction
+++ b/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/glow_ink.mcfunction
@@ -1,5 +1,5 @@
-data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.glow_ink","fallback":"Glow Ink Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.glow_ink","fallback":"Glow Ink Tank","font":"gm4:default","color":"#404040"}]]}'}
-summon armor_stand ~ ~-.95 ~ {CustomName:'"gm4_liquid_tank_display"',Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$gm4_standard_liquids:liquids/glow_ink"}}]}
+data merge block ~ ~ ~ {CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.glow_ink","fallback":"Glow Ink Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.glow_ink","fallback":"Glow Ink Tank","font":"gm4:default","color":"#404040"}]]}}
+summon armor_stand ~ ~-.95 ~ {CustomName:"gm4_liquid_tank_display",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,equipment:{head:{id:"player_head",count:1,components:{"minecraft:profile":"$gm4_standard_liquids:liquids/glow_ink"}}}}
data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_glow_ink"
scoreboard players set @s gm4_lt_max 300
tag @s add gm4_lt_glow_ink
diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/honey.mcfunction b/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/honey.mcfunction
index 75244f51c0..0f20035460 100644
--- a/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/honey.mcfunction
+++ b/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/honey.mcfunction
@@ -1,5 +1,5 @@
-data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.honey","fallback":"Honey Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.honey","fallback":"Honey Tank","font":"gm4:default","color":"#404040"}]]}'}
-summon armor_stand ~ ~-.95 ~ {CustomName:'"gm4_liquid_tank_display"',Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$gm4_standard_liquids:liquids/honey"}}]}
+data merge block ~ ~ ~ {CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.honey","fallback":"Honey Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.honey","fallback":"Honey Tank","font":"gm4:default","color":"#404040"}]]}}
+summon armor_stand ~ ~-.95 ~ {CustomName:"gm4_liquid_tank_display",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,equipment:{head:{id:"player_head",count:1,components:{"minecraft:profile":"$gm4_standard_liquids:liquids/honey"}}}}
data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_honey"
scoreboard players set @s gm4_lt_max 400
tag @s add gm4_lt_honey
diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/ink.mcfunction b/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/ink.mcfunction
index 5dd68069b9..375ac63752 100644
--- a/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/ink.mcfunction
+++ b/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/ink.mcfunction
@@ -1,5 +1,5 @@
-data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.ink","fallback":"Ink Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.ink","fallback":"Ink Tank","font":"gm4:default","color":"#404040"}]]}'}
-summon armor_stand ~ ~-.95 ~ {CustomName:'"gm4_liquid_tank_display"',Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$gm4_standard_liquids:liquids/ink"}}]}
+data merge block ~ ~ ~ {CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.ink","fallback":"Ink Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.ink","fallback":"Ink Tank","font":"gm4:default","color":"#404040"}]]}}
+summon armor_stand ~ ~-.95 ~ {CustomName:"gm4_liquid_tank_display",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,equipment:{head:{id:"player_head",count:1,components:{"minecraft:profile":"$gm4_standard_liquids:liquids/ink"}}}}
data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_ink"
scoreboard players set @s gm4_lt_max 300
tag @s add gm4_lt_ink
diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/lava.mcfunction b/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/lava.mcfunction
index 4e2d57d8ec..32710e966b 100644
--- a/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/lava.mcfunction
+++ b/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/lava.mcfunction
@@ -1,5 +1,5 @@
-data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.lava","fallback":"Lava Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.lava","fallback":"Lava Tank","font":"gm4:default","color":"#404040"}]]}'}
-summon armor_stand ~ ~-.95 ~ {CustomName:'"gm4_liquid_tank_display"',Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$gm4_standard_liquids:liquids/lava"}}]}
+data merge block ~ ~ ~ {CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.lava","fallback":"Lava Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.lava","fallback":"Lava Tank","font":"gm4:default","color":"#404040"}]]}}
+summon armor_stand ~ ~-.95 ~ {CustomName:"gm4_liquid_tank_display",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,equipment:{head:{id:"player_head",count:1,components:{"minecraft:profile":"$gm4_standard_liquids:liquids/lava"}}}}
data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_lava"
scoreboard players set @s gm4_lt_max 300
tag @s add gm4_lt_lava
diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/milk.mcfunction b/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/milk.mcfunction
index 763f0fe494..4fa78ee487 100644
--- a/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/milk.mcfunction
+++ b/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/milk.mcfunction
@@ -1,5 +1,5 @@
-data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.milk","fallback":"Milk Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.milk","fallback":"Milk Tank","font":"gm4:default","color":"#404040"}]]}'}
-summon armor_stand ~ ~-.95 ~ {CustomName:'"gm4_liquid_tank_display"',Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$gm4_standard_liquids:liquids/milk"}}]}
+data merge block ~ ~ ~ {CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.milk","fallback":"Milk Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.milk","fallback":"Milk Tank","font":"gm4:default","color":"#404040"}]]}}
+summon armor_stand ~ ~-.95 ~ {CustomName:"gm4_liquid_tank_display",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,equipment:{head:{id:"player_head",count:1,components:{"minecraft:profile":"$gm4_standard_liquids:liquids/milk"}}}}
data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_milk"
scoreboard players set @s gm4_lt_max 300
tag @s add gm4_lt_milk
diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/mushroom_stew.mcfunction b/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/mushroom_stew.mcfunction
index fa63244692..258e3de03d 100644
--- a/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/mushroom_stew.mcfunction
+++ b/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/mushroom_stew.mcfunction
@@ -1,5 +1,5 @@
-data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.mushroom_stew","fallback":"Mushroom Stew Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.mushroom_stew","fallback":"Mushroom Stew Tank","font":"gm4:default","color":"#404040"}]]}'}
-summon armor_stand ~ ~-.95 ~ {CustomName:'"gm4_liquid_tank_display"',Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$gm4_standard_liquids:liquids/mushroom_stew"}}]}
+data merge block ~ ~ ~ {CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.mushroom_stew","fallback":"Mushroom Stew Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.mushroom_stew","fallback":"Mushroom Stew Tank","font":"gm4:default","color":"#404040"}]]}}
+summon armor_stand ~ ~-.95 ~ {CustomName:"gm4_liquid_tank_display",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,equipment:{head:{id:"player_head",count:1,components:{"minecraft:profile":"$gm4_standard_liquids:liquids/mushroom_stew"}}}}
data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_mushroom_stew"
scoreboard players set @s gm4_lt_max 300
tag @s add gm4_lt_mushroom_stew
diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/powder_snow.mcfunction b/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/powder_snow.mcfunction
index 1375c05161..94a21f64a4 100644
--- a/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/powder_snow.mcfunction
+++ b/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/powder_snow.mcfunction
@@ -1,5 +1,5 @@
-data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.powder_snow","fallback":"Powder Snow Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.powder_snow","fallback":"Powder Snow Tank","font":"gm4:default","color":"#404040"}]]}'}
-summon armor_stand ~ ~-.95 ~ {CustomName:'"gm4_liquid_tank_display"',Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$gm4_standard_liquids:liquids/powder_snow"}}]}
+data merge block ~ ~ ~ {CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.powder_snow","fallback":"Powder Snow Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.powder_snow","fallback":"Powder Snow Tank","font":"gm4:default","color":"#404040"}]]}}
+summon armor_stand ~ ~-.95 ~ {CustomName:"gm4_liquid_tank_display",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,equipment:{head:{id:"player_head",count:1,components:{"minecraft:profile":"$gm4_standard_liquids:liquids/powder_snow"}}}}
data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_powder_snow"
scoreboard players set @s gm4_lt_max 300
tag @s add gm4_lt_powder_snow
diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/rabbit_stew.mcfunction b/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/rabbit_stew.mcfunction
index 0da5044a69..8bf5afe15a 100644
--- a/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/rabbit_stew.mcfunction
+++ b/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/rabbit_stew.mcfunction
@@ -1,5 +1,5 @@
-data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.rabbit_stew","fallback":"Rabbit Stew Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.rabbit_stew","fallback":"Rabbit Stew Tank","font":"gm4:default","color":"#404040"}]]}'}
-summon armor_stand ~ ~-.95 ~ {CustomName:'"gm4_liquid_tank_display"',Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$gm4_standard_liquids:liquids/rabbit_stew"}}]}
+data merge block ~ ~ ~ {CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.rabbit_stew","fallback":"Rabbit Stew Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.rabbit_stew","fallback":"Rabbit Stew Tank","font":"gm4:default","color":"#404040"}]]}}
+summon armor_stand ~ ~-.95 ~ {CustomName:"gm4_liquid_tank_display",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,equipment:{head:{id:"player_head",count:1,components:{"minecraft:profile":"$gm4_standard_liquids:liquids/rabbit_stew"}}}}
data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_rabbit_stew"
scoreboard players set @s gm4_lt_max 300
tag @s add gm4_lt_rabbit_stew
diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/water.mcfunction b/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/water.mcfunction
index a0c8e64cca..341586d6ee 100644
--- a/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/water.mcfunction
+++ b/gm4_liquid_tanks/data/gm4_standard_liquids/function/liquid_init/water.mcfunction
@@ -1,5 +1,5 @@
-data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.water","fallback":"Water Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.water","fallback":"Water Tank","font":"gm4:default","color":"#404040"}]]}'}
-summon armor_stand ~ ~-.95 ~ {CustomName:'"gm4_liquid_tank_display"',Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$gm4_standard_liquids:liquids/water"}}]}
+data merge block ~ ~ ~ {CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.water","fallback":"Water Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.water","fallback":"Water Tank","font":"gm4:default","color":"#404040"}]]}}
+summon armor_stand ~ ~-.95 ~ {CustomName:"gm4_liquid_tank_display",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,equipment:{head:{id:"player_head",count:1,components:{"minecraft:profile":"$gm4_standard_liquids:liquids/water"}}}}
data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_water"
scoreboard players set @s gm4_lt_max 300
tag @s add gm4_lt_water
diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/function/util/furnace_fueling/furnace_start.mcfunction b/gm4_liquid_tanks/data/gm4_standard_liquids/function/util/furnace_fueling/furnace_start.mcfunction
index e995651e0a..e516db4181 100644
--- a/gm4_liquid_tanks/data/gm4_standard_liquids/function/util/furnace_fueling/furnace_start.mcfunction
+++ b/gm4_liquid_tanks/data/gm4_standard_liquids/function/util/furnace_fueling/furnace_start.mcfunction
@@ -1,7 +1,7 @@
#@s = liquid tank, positioned at furnace
#run from standard_liquids:util/furnace_fueling/lava_tank
-execute if score @s gm4_lt_util matches 1.. run item replace block ~ ~ ~ container.1 with wooden_hoe[damage=59,custom_name='"Bug"',custom_data={tankhoe:1b}] 1
+execute if score @s gm4_lt_util matches 1.. run item replace block ~ ~ ~ container.1 with wooden_hoe[damage=59,custom_name="Bug",custom_data={tankhoe:1b}] 1
execute if score @s gm4_lt_util matches 1.. run data merge block ~ ~ ~ {cooking_time_spent:0}
execute if score @s gm4_lt_util matches 1.. run tag @s add gm4_lt_furnace_start
execute if score @s gm4_lt_util matches 1.. run scoreboard players remove @s gm4_lt_util 1
diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/function/util/honey_casting/honey_cauldron.mcfunction b/gm4_liquid_tanks/data/gm4_standard_liquids/function/util/honey_casting/honey_cauldron.mcfunction
index cc6fb4a98b..b66ad24aa8 100644
--- a/gm4_liquid_tanks/data/gm4_standard_liquids/function/util/honey_casting/honey_cauldron.mcfunction
+++ b/gm4_liquid_tanks/data/gm4_standard_liquids/function/util/honey_casting/honey_cauldron.mcfunction
@@ -2,7 +2,7 @@
#run from standard_liquids:util_above
execute if score @s gm4_lt_util matches 4.. run scoreboard players remove @s gm4_lt_value 4
-execute if score @s gm4_lt_util matches 4.. run summon armor_stand ~0.5 ~ ~0.5 {Marker:1b,Invisible:1b,Invulnerable:1b,NoGravity:1b,Silent:1b,Fire:4000s,Tags:["gm4_lt_honey_display","gm4_no_edit"],CustomName:'"gm4_lt_honey_display"',Pose:{Head:[180.0f,0.0f,0.0f]},ArmorItems:[{},{},{},{id:"minecraft:honey_block",count:1,components:{"minecraft:custom_model_data":"block/cast_honey_block"}}],DisabledSlots:4144959}
+execute if score @s gm4_lt_util matches 4.. run summon armor_stand ~0.5 ~ ~0.5 {Marker:1b,Invisible:1b,Invulnerable:1b,NoGravity:1b,Silent:1b,Fire:4000s,Tags:["gm4_lt_honey_display","gm4_no_edit"],CustomName:"gm4_lt_honey_display",Pose:{Head:[180.0f,0.0f,0.0f]},equipment:{head:{id:"minecraft:honey_block",count:1,components:{"minecraft:custom_model_data":"block/cast_honey_block"}}},DisabledSlots:4144959}
execute if score @s gm4_lt_util matches 4.. run playsound block.honey_block.slide block @a[distance=..10] ~ ~ ~ 1 0.5
execute if score @s gm4_lt_util matches 4.. run scoreboard players remove @s gm4_lt_util 4
diff --git a/gm4_liquid_tanks/data/gm4_standard_liquids/function/util/link_blocks.mcfunction b/gm4_liquid_tanks/data/gm4_standard_liquids/function/util/link_blocks.mcfunction
index c2cc2174ce..4011050056 100644
--- a/gm4_liquid_tanks/data/gm4_standard_liquids/function/util/link_blocks.mcfunction
+++ b/gm4_liquid_tanks/data/gm4_standard_liquids/function/util/link_blocks.mcfunction
@@ -5,15 +5,15 @@
execute positioned ~ ~1 ~ run kill @e[type=area_effect_cloud,distance=..0.5,tag=gm4_lt_util_block]
#cauldron
-execute if block ~-1 ~ ~ #minecraft:cauldrons run summon area_effect_cloud ~ ~1 ~ {CustomName:'"gm4_lt_util_block"',Tags:["gm4_lt_util_block","gm4_ltu_west","gm4_ltu_cauldron"],Rotation:[90.0f,0.0f],Radius:0,Duration:2147483647}
-execute if block ~1 ~ ~ #minecraft:cauldrons run summon area_effect_cloud ~ ~1 ~ {CustomName:'"gm4_lt_util_block"',Tags:["gm4_lt_util_block","gm4_ltu_east","gm4_ltu_cauldron"],Rotation:[-90.0f,0.0f],Radius:0,Duration:2147483647}
-execute if block ~ ~ ~-1 #minecraft:cauldrons run summon area_effect_cloud ~ ~1 ~ {CustomName:'"gm4_lt_util_block"',Tags:["gm4_lt_util_block","gm4_ltu_north","gm4_ltu_cauldron"],Rotation:[180.0f,0.0f],Radius:0,Duration:2147483647}
-execute if block ~ ~ ~1 #minecraft:cauldrons run summon area_effect_cloud ~ ~1 ~ {CustomName:'"gm4_lt_util_block"',Tags:["gm4_lt_util_block","gm4_ltu_south","gm4_ltu_cauldron"],Rotation:[0.0f,0.0f],Radius:0,Duration:2147483647}
+execute if block ~-1 ~ ~ #minecraft:cauldrons run summon area_effect_cloud ~ ~1 ~ {Particle:{type:"minecraft:block",block_state:"minecraft:air"},CustomName:"gm4_lt_util_block",Tags:["gm4_lt_util_block","gm4_ltu_west","gm4_ltu_cauldron"],Rotation:[90.0f,0.0f],Radius:0,Duration:-1}
+execute if block ~1 ~ ~ #minecraft:cauldrons run summon area_effect_cloud ~ ~1 ~ {Particle:{type:"minecraft:block",block_state:"minecraft:air"},CustomName:"gm4_lt_util_block",Tags:["gm4_lt_util_block","gm4_ltu_east","gm4_ltu_cauldron"],Rotation:[-90.0f,0.0f],Radius:0,Duration:-1}
+execute if block ~ ~ ~-1 #minecraft:cauldrons run summon area_effect_cloud ~ ~1 ~ {Particle:{type:"minecraft:block",block_state:"minecraft:air"},CustomName:"gm4_lt_util_block",Tags:["gm4_lt_util_block","gm4_ltu_north","gm4_ltu_cauldron"],Rotation:[180.0f,0.0f],Radius:0,Duration:-1}
+execute if block ~ ~ ~1 #minecraft:cauldrons run summon area_effect_cloud ~ ~1 ~ {Particle:{type:"minecraft:block",block_state:"minecraft:air"},CustomName:"gm4_lt_util_block",Tags:["gm4_lt_util_block","gm4_ltu_south","gm4_ltu_cauldron"],Rotation:[0.0f,0.0f],Radius:0,Duration:-1}
-execute if block ~ ~1 ~ #minecraft:cauldrons run summon area_effect_cloud ~ ~1 ~ {CustomName:'"gm4_lt_util_block"',Tags:["gm4_lt_util_block","gm4_ltu_dripstone_cauldron"],Rotation:[0.0f,-90.0f],Radius:0,Duration:2147483647}
+execute if block ~ ~1 ~ #minecraft:cauldrons run summon area_effect_cloud ~ ~1 ~ {Particle:{type:"minecraft:block",block_state:"minecraft:air"},CustomName:"gm4_lt_util_block",Tags:["gm4_lt_util_block","gm4_ltu_dripstone_cauldron"],Rotation:[0.0f,-90.0f],Radius:0,Duration:-1}
#furnace
-execute if block ~-1 ~ ~ #gm4_standard_liquids:furnace run summon area_effect_cloud ~ ~1 ~ {CustomName:'"gm4_lt_util_block"',Tags:["gm4_lt_util_block","gm4_ltu_west","gm4_ltu_furnace"],Rotation:[90.0f,0.0f],Radius:0,Duration:2147483647}
-execute if block ~1 ~ ~ #gm4_standard_liquids:furnace run summon area_effect_cloud ~ ~1 ~ {CustomName:'"gm4_lt_util_block"',Tags:["gm4_lt_util_block","gm4_ltu_east","gm4_ltu_furnace"],Rotation:[-90.0f,0.0f],Radius:0,Duration:2147483647}
-execute if block ~ ~ ~-1 #gm4_standard_liquids:furnace run summon area_effect_cloud ~ ~1 ~ {CustomName:'"gm4_lt_util_block"',Tags:["gm4_lt_util_block","gm4_ltu_north","gm4_ltu_furnace"],Rotation:[180.0f,0.0f],Radius:0,Duration:2147483647}
-execute if block ~ ~ ~1 #gm4_standard_liquids:furnace run summon area_effect_cloud ~ ~1 ~ {CustomName:'"gm4_lt_util_block"',Tags:["gm4_lt_util_block","gm4_ltu_south","gm4_ltu_furnace"],Rotation:[0.0f,0.0f],Radius:0,Duration:2147483647}
+execute if block ~-1 ~ ~ #gm4_standard_liquids:furnace run summon area_effect_cloud ~ ~1 ~ {Particle:{type:"minecraft:block",block_state:"minecraft:air"},CustomName:"gm4_lt_util_block",Tags:["gm4_lt_util_block","gm4_ltu_west","gm4_ltu_furnace"],Rotation:[90.0f,0.0f],Radius:0,Duration:-1}
+execute if block ~1 ~ ~ #gm4_standard_liquids:furnace run summon area_effect_cloud ~ ~1 ~ {Particle:{type:"minecraft:block",block_state:"minecraft:air"},CustomName:"gm4_lt_util_block",Tags:["gm4_lt_util_block","gm4_ltu_east","gm4_ltu_furnace"],Rotation:[-90.0f,0.0f],Radius:0,Duration:-1}
+execute if block ~ ~ ~-1 #gm4_standard_liquids:furnace run summon area_effect_cloud ~ ~1 ~ {Particle:{type:"minecraft:block",block_state:"minecraft:air"},CustomName:"gm4_lt_util_block",Tags:["gm4_lt_util_block","gm4_ltu_north","gm4_ltu_furnace"],Rotation:[180.0f,0.0f],Radius:0,Duration:-1}
+execute if block ~ ~ ~1 #gm4_standard_liquids:furnace run summon area_effect_cloud ~ ~1 ~ {Particle:{type:"minecraft:block",block_state:"minecraft:air"},CustomName:"gm4_lt_util_block",Tags:["gm4_lt_util_block","gm4_ltu_south","gm4_ltu_furnace"],Rotation:[0.0f,0.0f],Radius:0,Duration:-1}
diff --git a/gm4_live_catch/beet.yaml b/gm4_live_catch/beet.yaml
index f1e9f1dd2b..f6d4cfc0b6 100644
--- a/gm4_live_catch/beet.yaml
+++ b/gm4_live_catch/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_live_catch
name: Live Catch
-version: 1.4.X
+version: 1.5.X
data_pack:
load: .
diff --git a/gm4_lumos_shamir/assets/translations.csv b/gm4_lumos_shamir/assets/translations.csv
index 82e7f52a0c..8638fdb46e 100644
--- a/gm4_lumos_shamir/assets/translations.csv
+++ b/gm4_lumos_shamir/assets/translations.csv
@@ -1,5 +1,5 @@
key,en_us
-item.gm4.shamir.lumos,Lumos
+item.gm4.shamir.lumos,Lumos Shamir
text.gm4.guidebook.module_desc.lumos_shamir,Adds the shamir 'Lumos' to Metallurgy. It places torches when it is dark.
text.gm4.guidebook.lumos_shamir.description,Lumos takes torches from the inventory and places them if the light level is too low.
text.gm4.guidebook.lumos_shamir.usage,The Lumos Shamir is found on Curie's Bismium Bands. It can be placed onto pickaxes and shovels.\n\nHolding the tool will cause torches to be placed when standing in low light levels.
diff --git a/gm4_lumos_shamir/beet.yaml b/gm4_lumos_shamir/beet.yaml
index 03b045313d..b88a3d3f5c 100644
--- a/gm4_lumos_shamir/beet.yaml
+++ b/gm4_lumos_shamir/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_lumos_shamir
name: Lumos Shamir
-version: 1.4.X
+version: 1.5.X
data_pack:
load: .
@@ -16,7 +16,7 @@ meta:
gm4:
versioning:
required:
- gm4_metallurgy: 1.4.0
+ gm4_metallurgy: 1.5.0
schedule_loops: [main]
model_data:
- item: [pickaxes, shovels]
diff --git a/gm4_lumos_shamir/data/gm4_lumos_shamir/loot_table/band.json b/gm4_lumos_shamir/data/gm4_lumos_shamir/loot_table/band.json
index d1155f5345..8ff5a0c994 100644
--- a/gm4_lumos_shamir/data/gm4_lumos_shamir/loot_table/band.json
+++ b/gm4_lumos_shamir/data/gm4_lumos_shamir/loot_table/band.json
@@ -23,7 +23,7 @@
"lore": [
{
"translate": "item.gm4.shamir.lumos",
- "fallback": "Lumos",
+ "fallback": "Lumos Shamir",
"italic": false,
"color": "gray"
}
diff --git a/gm4_lumos_shamir/data/gm4_lumos_shamir/test/already_light.mcfunction b/gm4_lumos_shamir/data/gm4_lumos_shamir/test/already_light.mcfunction
index c4228c7e70..5dfb4edf7e 100644
--- a/gm4_lumos_shamir/data/gm4_lumos_shamir/test/already_light.mcfunction
+++ b/gm4_lumos_shamir/data/gm4_lumos_shamir/test/already_light.mcfunction
@@ -1,5 +1,6 @@
# @template gm4_lumos_shamir:test_dark
# @dummy ~1 ~1 ~1
+# @optional
setblock ~1 ~3 ~1 minecraft:glowstone
diff --git a/gm4_mending_tanks/beet.yaml b/gm4_mending_tanks/beet.yaml
index 7ded3bb705..7f7f612127 100644
--- a/gm4_mending_tanks/beet.yaml
+++ b/gm4_mending_tanks/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_mending_tanks
name: Mending Tanks
-version: 1.5.X
+version: 1.6.X
data_pack:
load: .
@@ -12,7 +12,7 @@ meta:
gm4:
versioning:
required:
- gm4_liquid_tanks: 2.3.0
+ gm4_liquid_tanks: 2.7.0
website:
description: Enables Liquid Tanks filled with Experience to repair tools with the mending enchant on them.
recommended: []
diff --git a/gm4_mending_tanks/data/gm4_mending_tanks/function/item_fill.mcfunction b/gm4_mending_tanks/data/gm4_mending_tanks/function/item_fill.mcfunction
index a7308b1ada..fa28967f9f 100644
--- a/gm4_mending_tanks/data/gm4_mending_tanks/function/item_fill.mcfunction
+++ b/gm4_mending_tanks/data/gm4_mending_tanks/function/item_fill.mcfunction
@@ -2,4 +2,4 @@
#run from liquid_tanks:item_process
#experience tank
-execute if entity @s[tag=gm4_lt_experience] if data storage gm4_liquid_tanks:temp/tank {input_slot:{components:{"minecraft:enchantments":{levels:{"minecraft:mending":1}}}}} run function gm4_mending_tanks:check_item
+execute if entity @s[tag=gm4_lt_experience] if data storage gm4_liquid_tanks:temp/tank {input_slot:{components:{"minecraft:enchantments":{"minecraft:mending":1}}}} run function gm4_mending_tanks:check_item
diff --git a/gm4_metallurgy/assets/translations.csv b/gm4_metallurgy/assets/translations.csv
index df7a279f50..ea910394e0 100644
--- a/gm4_metallurgy/assets/translations.csv
+++ b/gm4_metallurgy/assets/translations.csv
@@ -16,26 +16,26 @@ item.gm4.metallurgy.obsidian_cast,Obsidian Cast
item.gm4.metallurgy.shamir,Shamir
item.gm4.metallurgy.thorianite_lump,Thorianite Lump
item.gm4.metallurgy.thorium,Thorium
-item.gm4.shamir.arborenda,Arborenda
-item.gm4.shamir.defuse,Defuse
-item.gm4.shamir.ender_bolt,Ender Bolt
-item.gm4.shamir.forterra,Forterra
-item.gm4.shamir.gemini,Gemini
-item.gm4.shamir.hypexperia,Hypexperia
-item.gm4.shamir.moneo,Moneo
-item.gm4.shamir.musical,Musical
-item.gm4.shamir.sensus,Sensus
-item.gm4.shamir.tinker,Tinker
+item.gm4.shamir.arborenda,Arborenda Shamir
+item.gm4.shamir.defuse,Defuse Shamir
+item.gm4.shamir.ender_bolt,Ender Bolt Shamir
+item.gm4.shamir.forterra,Forterra Shamir
+item.gm4.shamir.gemini,Gemini Shamir
+item.gm4.shamir.hypexperia,Hypexperia Shamir
+item.gm4.shamir.moneo,Moneo Shamir
+item.gm4.shamir.musical,Musical Shamir
+item.gm4.shamir.sensus,Sensus Shamir
+item.gm4.shamir.tinker,Tinker Shamir
item.gm4.slightly_damaged_obsidian,Slightly Damaged Obsidian
item.gm4.slightly_overheated_obsidian,Slightly Overheated Obsidian
text.gm4.metallurgy.aluminium,Aluminium
text.gm4.metallurgy.barium,Barium
text.gm4.metallurgy.contains,Contains
text.gm4.metallurgy.thorium,Thorium
-item.gm4.shamir.vibro,Vibro
+item.gm4.shamir.vibro,Vibro Shamir
text.gm4.metallurgy.copper,Copper
item.gm4.metallurgy.malachite_lump,Malachite Lump
-item.gm4.shamir.infinitas,Infinitas
+item.gm4.shamir.infinitas,Infinitas Shamir
item.gm4.metallurgy.curies_bismium,Curie's Bismium
item.gm4.metallurgy.bismuth.red,B
item.gm4.metallurgy.bismuth.orange,i
diff --git a/gm4_metallurgy/beet.yaml b/gm4_metallurgy/beet.yaml
index d5ce99574d..0e48265243 100644
--- a/gm4_metallurgy/beet.yaml
+++ b/gm4_metallurgy/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_metallurgy
name: Metallurgy
-version: 1.6.X
+version: 1.7.X
data_pack:
load: .
@@ -17,7 +17,7 @@ meta:
gm4:
versioning:
required:
- lib_lore: 1.2.0
+ lib_lore: 1.3.0
schedule_loops:
- main
- tick
diff --git a/gm4_metallurgy/data/gm4_arborenda_shamir/function/player/analyze_axe.mcfunction b/gm4_metallurgy/data/gm4_arborenda_shamir/function/player/analyze_axe.mcfunction
index beabb7117d..a956ef2250 100644
--- a/gm4_metallurgy/data/gm4_arborenda_shamir/function/player/analyze_axe.mcfunction
+++ b/gm4_metallurgy/data/gm4_arborenda_shamir/function/player/analyze_axe.mcfunction
@@ -15,7 +15,7 @@ execute if score @s gm4_use_axe_sto matches 1.. run scoreboard players set $axe_
execute if score @s gm4_use_axe_woo matches 1.. run scoreboard players set $axe_delay gm4_arb_data 22
# efficiency bonus (simplified formula, does not match vanilla)
-execute store result score $efficiency_level gm4_arb_data run data get storage gm4_arborenda_shamir:temp tool.components."minecraft:enchantments".levels."minecraft:efficiency"
+execute store result score $efficiency_level gm4_arb_data run data get storage gm4_arborenda_shamir:temp tool.components."minecraft:enchantments"."minecraft:efficiency"
scoreboard players operation $axe_delay gm4_arb_data -= $efficiency_level gm4_arb_data
# limit to min delay of 1 tick between block breaks
diff --git a/gm4_metallurgy/data/gm4_arborenda_shamir/function/player/modify_axe_durability.mcfunction b/gm4_metallurgy/data/gm4_arborenda_shamir/function/player/modify_axe_durability.mcfunction
index bff50ba930..979b68e605 100644
--- a/gm4_metallurgy/data/gm4_arborenda_shamir/function/player/modify_axe_durability.mcfunction
+++ b/gm4_metallurgy/data/gm4_arborenda_shamir/function/player/modify_axe_durability.mcfunction
@@ -12,7 +12,7 @@ execute if score @s gm4_use_axe_sto matches 1.. run scoreboard players set $max_
execute if score @s gm4_use_axe_woo matches 1.. run scoreboard players set $max_damage gm4_arb_data 58
# get unbreaking level
-execute store result score $unbreaking_level gm4_arb_data run data get storage gm4_arborenda_shamir:temp tool.components."minecraft:enchantments".levels."minecraft:unbreaking"
+execute store result score $unbreaking_level gm4_arb_data run data get storage gm4_arborenda_shamir:temp tool.components."minecraft:enchantments"."minecraft:unbreaking"
scoreboard players add $unbreaking_level gm4_arb_data 1
scoreboard players set $damage_chance gm4_arb_data 100
scoreboard players operation $damage_chance gm4_arb_data /= $unbreaking_level gm4_arb_data
diff --git a/gm4_metallurgy/data/gm4_arborenda_shamir/function/trunk/neighbors/mark.mcfunction b/gm4_metallurgy/data/gm4_arborenda_shamir/function/trunk/neighbors/mark.mcfunction
index 00cf55b5b6..fab3e9784d 100644
--- a/gm4_metallurgy/data/gm4_arborenda_shamir/function/trunk/neighbors/mark.mcfunction
+++ b/gm4_metallurgy/data/gm4_arborenda_shamir/function/trunk/neighbors/mark.mcfunction
@@ -3,17 +3,17 @@
# at @s
# run from gm4_arborenda_shamir:trunk/next_depth
-execute positioned ~ ~1 ~ if block ~ ~ ~ #gm4_arborenda_shamir:trunks unless entity @e[type=marker,tag=gm4_arborenda_trunk,distance=..0.5] run summon marker ~ ~ ~ {CustomName:'"gm4_arborenda_trunk"',Tags:[gm4_arborenda_trunk,gm4_arborenda_init]}
+execute positioned ~ ~1 ~ if block ~ ~ ~ #gm4_arborenda_shamir:trunks unless entity @e[type=marker,tag=gm4_arborenda_trunk,distance=..0.5] run summon marker ~ ~ ~ {CustomName:"gm4_arborenda_trunk",Tags:[gm4_arborenda_trunk,gm4_arborenda_init]}
-execute positioned ~1 ~ ~ if block ~ ~ ~ #gm4_arborenda_shamir:trunks unless block ~ ~-1 ~ #gm4_arborenda_shamir:trunks unless entity @e[type=marker,tag=gm4_arborenda_trunk,distance=..0.5] run summon marker ~ ~ ~ {CustomName:'"gm4_arborenda_trunk"',Tags:[gm4_arborenda_trunk,gm4_arborenda_init]}
-execute positioned ~ ~ ~1 if block ~ ~ ~ #gm4_arborenda_shamir:trunks unless block ~ ~-1 ~ #gm4_arborenda_shamir:trunks unless entity @e[type=marker,tag=gm4_arborenda_trunk,distance=..0.5] run summon marker ~ ~ ~ {CustomName:'"gm4_arborenda_trunk"',Tags:[gm4_arborenda_trunk,gm4_arborenda_init]}
-execute positioned ~-1 ~ ~ if block ~ ~ ~ #gm4_arborenda_shamir:trunks unless block ~ ~-1 ~ #gm4_arborenda_shamir:trunks unless entity @e[type=marker,tag=gm4_arborenda_trunk,distance=..0.5] run summon marker ~ ~ ~ {CustomName:'"gm4_arborenda_trunk"',Tags:[gm4_arborenda_trunk,gm4_arborenda_init]}
-execute positioned ~ ~ ~-1 if block ~ ~ ~ #gm4_arborenda_shamir:trunks unless block ~ ~-1 ~ #gm4_arborenda_shamir:trunks unless entity @e[type=marker,tag=gm4_arborenda_trunk,distance=..0.5] run summon marker ~ ~ ~ {CustomName:'"gm4_arborenda_trunk"',Tags:[gm4_arborenda_trunk,gm4_arborenda_init]}
+execute positioned ~1 ~ ~ if block ~ ~ ~ #gm4_arborenda_shamir:trunks unless block ~ ~-1 ~ #gm4_arborenda_shamir:trunks unless entity @e[type=marker,tag=gm4_arborenda_trunk,distance=..0.5] run summon marker ~ ~ ~ {CustomName:"gm4_arborenda_trunk",Tags:[gm4_arborenda_trunk,gm4_arborenda_init]}
+execute positioned ~ ~ ~1 if block ~ ~ ~ #gm4_arborenda_shamir:trunks unless block ~ ~-1 ~ #gm4_arborenda_shamir:trunks unless entity @e[type=marker,tag=gm4_arborenda_trunk,distance=..0.5] run summon marker ~ ~ ~ {CustomName:"gm4_arborenda_trunk",Tags:[gm4_arborenda_trunk,gm4_arborenda_init]}
+execute positioned ~-1 ~ ~ if block ~ ~ ~ #gm4_arborenda_shamir:trunks unless block ~ ~-1 ~ #gm4_arborenda_shamir:trunks unless entity @e[type=marker,tag=gm4_arborenda_trunk,distance=..0.5] run summon marker ~ ~ ~ {CustomName:"gm4_arborenda_trunk",Tags:[gm4_arborenda_trunk,gm4_arborenda_init]}
+execute positioned ~ ~ ~-1 if block ~ ~ ~ #gm4_arborenda_shamir:trunks unless block ~ ~-1 ~ #gm4_arborenda_shamir:trunks unless entity @e[type=marker,tag=gm4_arborenda_trunk,distance=..0.5] run summon marker ~ ~ ~ {CustomName:"gm4_arborenda_trunk",Tags:[gm4_arborenda_trunk,gm4_arborenda_init]}
-execute positioned ~1 ~ ~1 if block ~ ~ ~ #gm4_arborenda_shamir:trunks unless block ~-1 ~ ~ #gm4_arborenda_shamir:trunks unless block ~ ~ ~-1 #gm4_arborenda_shamir:trunks unless entity @e[type=marker,tag=gm4_arborenda_trunk,distance=..0.5] run summon marker ~ ~ ~ {CustomName:'"gm4_arborenda_trunk"',Tags:[gm4_arborenda_trunk,gm4_arborenda_init]}
-execute positioned ~1 ~ ~-1 if block ~ ~ ~ #gm4_arborenda_shamir:trunks unless block ~-1 ~ ~ #gm4_arborenda_shamir:trunks unless block ~ ~ ~1 #gm4_arborenda_shamir:trunks unless entity @e[type=marker,tag=gm4_arborenda_trunk,distance=..0.5] run summon marker ~ ~ ~ {CustomName:'"gm4_arborenda_trunk"',Tags:[gm4_arborenda_trunk,gm4_arborenda_init]}
-execute positioned ~-1 ~ ~1 if block ~ ~ ~ #gm4_arborenda_shamir:trunks unless block ~1 ~ ~ #gm4_arborenda_shamir:trunks unless block ~ ~ ~-1 #gm4_arborenda_shamir:trunks unless entity @e[type=marker,tag=gm4_arborenda_trunk,distance=..0.5] run summon marker ~ ~ ~ {CustomName:'"gm4_arborenda_trunk"',Tags:[gm4_arborenda_trunk,gm4_arborenda_init]}
-execute positioned ~-1 ~ ~-1 if block ~ ~ ~ #gm4_arborenda_shamir:trunks unless block ~1 ~ ~ #gm4_arborenda_shamir:trunks unless block ~ ~ ~1 #gm4_arborenda_shamir:trunks unless entity @e[type=marker,tag=gm4_arborenda_trunk,distance=..0.5] run summon marker ~ ~ ~ {CustomName:'"gm4_arborenda_trunk"',Tags:[gm4_arborenda_trunk,gm4_arborenda_init]}
+execute positioned ~1 ~ ~1 if block ~ ~ ~ #gm4_arborenda_shamir:trunks unless block ~-1 ~ ~ #gm4_arborenda_shamir:trunks unless block ~ ~ ~-1 #gm4_arborenda_shamir:trunks unless entity @e[type=marker,tag=gm4_arborenda_trunk,distance=..0.5] run summon marker ~ ~ ~ {CustomName:"gm4_arborenda_trunk",Tags:[gm4_arborenda_trunk,gm4_arborenda_init]}
+execute positioned ~1 ~ ~-1 if block ~ ~ ~ #gm4_arborenda_shamir:trunks unless block ~-1 ~ ~ #gm4_arborenda_shamir:trunks unless block ~ ~ ~1 #gm4_arborenda_shamir:trunks unless entity @e[type=marker,tag=gm4_arborenda_trunk,distance=..0.5] run summon marker ~ ~ ~ {CustomName:"gm4_arborenda_trunk",Tags:[gm4_arborenda_trunk,gm4_arborenda_init]}
+execute positioned ~-1 ~ ~1 if block ~ ~ ~ #gm4_arborenda_shamir:trunks unless block ~1 ~ ~ #gm4_arborenda_shamir:trunks unless block ~ ~ ~-1 #gm4_arborenda_shamir:trunks unless entity @e[type=marker,tag=gm4_arborenda_trunk,distance=..0.5] run summon marker ~ ~ ~ {CustomName:"gm4_arborenda_trunk",Tags:[gm4_arborenda_trunk,gm4_arborenda_init]}
+execute positioned ~-1 ~ ~-1 if block ~ ~ ~ #gm4_arborenda_shamir:trunks unless block ~1 ~ ~ #gm4_arborenda_shamir:trunks unless block ~ ~ ~1 #gm4_arborenda_shamir:trunks unless entity @e[type=marker,tag=gm4_arborenda_trunk,distance=..0.5] run summon marker ~ ~ ~ {CustomName:"gm4_arborenda_trunk",Tags:[gm4_arborenda_trunk,gm4_arborenda_init]}
execute positioned ~ ~1 ~ unless block ~ ~ ~ #gm4_arborenda_shamir:trunks run function gm4_arborenda_shamir:trunk/neighbors/mark_top
diff --git a/gm4_metallurgy/data/gm4_arborenda_shamir/function/trunk/neighbors/mark_bottom.mcfunction b/gm4_metallurgy/data/gm4_arborenda_shamir/function/trunk/neighbors/mark_bottom.mcfunction
index d02955a8f9..bc5a975475 100644
--- a/gm4_metallurgy/data/gm4_arborenda_shamir/function/trunk/neighbors/mark_bottom.mcfunction
+++ b/gm4_metallurgy/data/gm4_arborenda_shamir/function/trunk/neighbors/mark_bottom.mcfunction
@@ -3,14 +3,14 @@
# at @s positioned ~ ~-1 ~
# run from gm4_arborenda_shamir:trunk/neighbors/mark
-execute if block ~ ~ ~ #gm4_arborenda_shamir:trunks unless entity @e[type=marker,tag=gm4_arborenda_trunk,distance=..0.5] run summon marker ~ ~ ~ {CustomName:'"gm4_arborenda_trunk"',Tags:[gm4_arborenda_trunk,gm4_arborenda_init]}
+execute if block ~ ~ ~ #gm4_arborenda_shamir:trunks unless entity @e[type=marker,tag=gm4_arborenda_trunk,distance=..0.5] run summon marker ~ ~ ~ {CustomName:"gm4_arborenda_trunk",Tags:[gm4_arborenda_trunk,gm4_arborenda_init]}
-execute positioned ~1 ~ ~ if block ~ ~ ~ #gm4_arborenda_shamir:trunks unless entity @e[type=marker,tag=gm4_arborenda_trunk,distance=..0.5] run summon marker ~ ~ ~ {CustomName:'"gm4_arborenda_trunk"',Tags:[gm4_arborenda_trunk,gm4_arborenda_init]}
-execute positioned ~ ~ ~1 if block ~ ~ ~ #gm4_arborenda_shamir:trunks unless entity @e[type=marker,tag=gm4_arborenda_trunk,distance=..0.5] run summon marker ~ ~ ~ {CustomName:'"gm4_arborenda_trunk"',Tags:[gm4_arborenda_trunk,gm4_arborenda_init]}
-execute positioned ~-1 ~ ~ if block ~ ~ ~ #gm4_arborenda_shamir:trunks unless entity @e[type=marker,tag=gm4_arborenda_trunk,distance=..0.5] run summon marker ~ ~ ~ {CustomName:'"gm4_arborenda_trunk"',Tags:[gm4_arborenda_trunk,gm4_arborenda_init]}
-execute positioned ~ ~ ~-1 if block ~ ~ ~ #gm4_arborenda_shamir:trunks unless entity @e[type=marker,tag=gm4_arborenda_trunk,distance=..0.5] run summon marker ~ ~ ~ {CustomName:'"gm4_arborenda_trunk"',Tags:[gm4_arborenda_trunk,gm4_arborenda_init]}
+execute positioned ~1 ~ ~ if block ~ ~ ~ #gm4_arborenda_shamir:trunks unless entity @e[type=marker,tag=gm4_arborenda_trunk,distance=..0.5] run summon marker ~ ~ ~ {CustomName:"gm4_arborenda_trunk",Tags:[gm4_arborenda_trunk,gm4_arborenda_init]}
+execute positioned ~ ~ ~1 if block ~ ~ ~ #gm4_arborenda_shamir:trunks unless entity @e[type=marker,tag=gm4_arborenda_trunk,distance=..0.5] run summon marker ~ ~ ~ {CustomName:"gm4_arborenda_trunk",Tags:[gm4_arborenda_trunk,gm4_arborenda_init]}
+execute positioned ~-1 ~ ~ if block ~ ~ ~ #gm4_arborenda_shamir:trunks unless entity @e[type=marker,tag=gm4_arborenda_trunk,distance=..0.5] run summon marker ~ ~ ~ {CustomName:"gm4_arborenda_trunk",Tags:[gm4_arborenda_trunk,gm4_arborenda_init]}
+execute positioned ~ ~ ~-1 if block ~ ~ ~ #gm4_arborenda_shamir:trunks unless entity @e[type=marker,tag=gm4_arborenda_trunk,distance=..0.5] run summon marker ~ ~ ~ {CustomName:"gm4_arborenda_trunk",Tags:[gm4_arborenda_trunk,gm4_arborenda_init]}
-execute positioned ~1 ~ ~1 if block ~ ~ ~ #gm4_arborenda_shamir:trunks unless block ~-1 ~ ~ #gm4_arborenda_shamir:trunks unless block ~ ~ ~-1 #gm4_arborenda_shamir:trunks unless entity @e[type=marker,tag=gm4_arborenda_trunk,distance=..0.5] run summon marker ~ ~ ~ {CustomName:'"gm4_arborenda_trunk"',Tags:[gm4_arborenda_trunk,gm4_arborenda_init]}
-execute positioned ~1 ~ ~-1 if block ~ ~ ~ #gm4_arborenda_shamir:trunks unless block ~-1 ~ ~ #gm4_arborenda_shamir:trunks unless block ~ ~ ~1 #gm4_arborenda_shamir:trunks unless entity @e[type=marker,tag=gm4_arborenda_trunk,distance=..0.5] run summon marker ~ ~ ~ {CustomName:'"gm4_arborenda_trunk"',Tags:[gm4_arborenda_trunk,gm4_arborenda_init]}
-execute positioned ~-1 ~ ~1 if block ~ ~ ~ #gm4_arborenda_shamir:trunks unless block ~1 ~ ~ #gm4_arborenda_shamir:trunks unless block ~ ~ ~-1 #gm4_arborenda_shamir:trunks unless entity @e[type=marker,tag=gm4_arborenda_trunk,distance=..0.5] run summon marker ~ ~ ~ {CustomName:'"gm4_arborenda_trunk"',Tags:[gm4_arborenda_trunk,gm4_arborenda_init]}
-execute positioned ~-1 ~ ~-1 if block ~ ~ ~ #gm4_arborenda_shamir:trunks unless block ~1 ~ ~ #gm4_arborenda_shamir:trunks unless block ~ ~ ~1 #gm4_arborenda_shamir:trunks unless entity @e[type=marker,tag=gm4_arborenda_trunk,distance=..0.5] run summon marker ~ ~ ~ {CustomName:'"gm4_arborenda_trunk"',Tags:[gm4_arborenda_trunk,gm4_arborenda_init]}
+execute positioned ~1 ~ ~1 if block ~ ~ ~ #gm4_arborenda_shamir:trunks unless block ~-1 ~ ~ #gm4_arborenda_shamir:trunks unless block ~ ~ ~-1 #gm4_arborenda_shamir:trunks unless entity @e[type=marker,tag=gm4_arborenda_trunk,distance=..0.5] run summon marker ~ ~ ~ {CustomName:"gm4_arborenda_trunk",Tags:[gm4_arborenda_trunk,gm4_arborenda_init]}
+execute positioned ~1 ~ ~-1 if block ~ ~ ~ #gm4_arborenda_shamir:trunks unless block ~-1 ~ ~ #gm4_arborenda_shamir:trunks unless block ~ ~ ~1 #gm4_arborenda_shamir:trunks unless entity @e[type=marker,tag=gm4_arborenda_trunk,distance=..0.5] run summon marker ~ ~ ~ {CustomName:"gm4_arborenda_trunk",Tags:[gm4_arborenda_trunk,gm4_arborenda_init]}
+execute positioned ~-1 ~ ~1 if block ~ ~ ~ #gm4_arborenda_shamir:trunks unless block ~1 ~ ~ #gm4_arborenda_shamir:trunks unless block ~ ~ ~-1 #gm4_arborenda_shamir:trunks unless entity @e[type=marker,tag=gm4_arborenda_trunk,distance=..0.5] run summon marker ~ ~ ~ {CustomName:"gm4_arborenda_trunk",Tags:[gm4_arborenda_trunk,gm4_arborenda_init]}
+execute positioned ~-1 ~ ~-1 if block ~ ~ ~ #gm4_arborenda_shamir:trunks unless block ~1 ~ ~ #gm4_arborenda_shamir:trunks unless block ~ ~ ~1 #gm4_arborenda_shamir:trunks unless entity @e[type=marker,tag=gm4_arborenda_trunk,distance=..0.5] run summon marker ~ ~ ~ {CustomName:"gm4_arborenda_trunk",Tags:[gm4_arborenda_trunk,gm4_arborenda_init]}
diff --git a/gm4_metallurgy/data/gm4_arborenda_shamir/function/trunk/neighbors/mark_top.mcfunction b/gm4_metallurgy/data/gm4_arborenda_shamir/function/trunk/neighbors/mark_top.mcfunction
index 780313da8d..e0a2b6fcdb 100644
--- a/gm4_metallurgy/data/gm4_arborenda_shamir/function/trunk/neighbors/mark_top.mcfunction
+++ b/gm4_metallurgy/data/gm4_arborenda_shamir/function/trunk/neighbors/mark_top.mcfunction
@@ -3,12 +3,12 @@
# at @s positioned ~ ~1 ~
# run from gm4_arborenda_shamir:trunk/neighbors/mark
-execute positioned ~1 ~ ~ if block ~ ~ ~ #gm4_arborenda_shamir:trunks unless entity @e[type=marker,tag=gm4_arborenda_trunk,distance=..0.5] run summon marker ~ ~ ~ {CustomName:'"gm4_arborenda_trunk"',Tags:[gm4_arborenda_trunk,gm4_arborenda_init]}
-execute positioned ~ ~ ~1 if block ~ ~ ~ #gm4_arborenda_shamir:trunks unless entity @e[type=marker,tag=gm4_arborenda_trunk,distance=..0.5] run summon marker ~ ~ ~ {CustomName:'"gm4_arborenda_trunk"',Tags:[gm4_arborenda_trunk,gm4_arborenda_init]}
-execute positioned ~-1 ~ ~ if block ~ ~ ~ #gm4_arborenda_shamir:trunks unless entity @e[type=marker,tag=gm4_arborenda_trunk,distance=..0.5] run summon marker ~ ~ ~ {CustomName:'"gm4_arborenda_trunk"',Tags:[gm4_arborenda_trunk,gm4_arborenda_init]}
-execute positioned ~ ~ ~-1 if block ~ ~ ~ #gm4_arborenda_shamir:trunks unless entity @e[type=marker,tag=gm4_arborenda_trunk,distance=..0.5] run summon marker ~ ~ ~ {CustomName:'"gm4_arborenda_trunk"',Tags:[gm4_arborenda_trunk,gm4_arborenda_init]}
+execute positioned ~1 ~ ~ if block ~ ~ ~ #gm4_arborenda_shamir:trunks unless entity @e[type=marker,tag=gm4_arborenda_trunk,distance=..0.5] run summon marker ~ ~ ~ {CustomName:"gm4_arborenda_trunk",Tags:[gm4_arborenda_trunk,gm4_arborenda_init]}
+execute positioned ~ ~ ~1 if block ~ ~ ~ #gm4_arborenda_shamir:trunks unless entity @e[type=marker,tag=gm4_arborenda_trunk,distance=..0.5] run summon marker ~ ~ ~ {CustomName:"gm4_arborenda_trunk",Tags:[gm4_arborenda_trunk,gm4_arborenda_init]}
+execute positioned ~-1 ~ ~ if block ~ ~ ~ #gm4_arborenda_shamir:trunks unless entity @e[type=marker,tag=gm4_arborenda_trunk,distance=..0.5] run summon marker ~ ~ ~ {CustomName:"gm4_arborenda_trunk",Tags:[gm4_arborenda_trunk,gm4_arborenda_init]}
+execute positioned ~ ~ ~-1 if block ~ ~ ~ #gm4_arborenda_shamir:trunks unless entity @e[type=marker,tag=gm4_arborenda_trunk,distance=..0.5] run summon marker ~ ~ ~ {CustomName:"gm4_arborenda_trunk",Tags:[gm4_arborenda_trunk,gm4_arborenda_init]}
-execute positioned ~1 ~ ~1 if block ~ ~ ~ #gm4_arborenda_shamir:trunks unless block ~-1 ~ ~ #gm4_arborenda_shamir:trunks unless block ~ ~ ~-1 #gm4_arborenda_shamir:trunks unless entity @e[type=marker,tag=gm4_arborenda_trunk,distance=..0.5] run summon marker ~ ~ ~ {CustomName:'"gm4_arborenda_trunk"',Tags:[gm4_arborenda_trunk,gm4_arborenda_init]}
-execute positioned ~1 ~ ~-1 if block ~ ~ ~ #gm4_arborenda_shamir:trunks unless block ~-1 ~ ~ #gm4_arborenda_shamir:trunks unless block ~ ~ ~1 #gm4_arborenda_shamir:trunks unless entity @e[type=marker,tag=gm4_arborenda_trunk,distance=..0.5] run summon marker ~ ~ ~ {CustomName:'"gm4_arborenda_trunk"',Tags:[gm4_arborenda_trunk,gm4_arborenda_init]}
-execute positioned ~-1 ~ ~1 if block ~ ~ ~ #gm4_arborenda_shamir:trunks unless block ~1 ~ ~ #gm4_arborenda_shamir:trunks unless block ~ ~ ~-1 #gm4_arborenda_shamir:trunks unless entity @e[type=marker,tag=gm4_arborenda_trunk,distance=..0.5] run summon marker ~ ~ ~ {CustomName:'"gm4_arborenda_trunk"',Tags:[gm4_arborenda_trunk,gm4_arborenda_init]}
-execute positioned ~-1 ~ ~-1 if block ~ ~ ~ #gm4_arborenda_shamir:trunks unless block ~1 ~ ~ #gm4_arborenda_shamir:trunks unless block ~ ~ ~1 #gm4_arborenda_shamir:trunks unless entity @e[type=marker,tag=gm4_arborenda_trunk,distance=..0.5] run summon marker ~ ~ ~ {CustomName:'"gm4_arborenda_trunk"',Tags:[gm4_arborenda_trunk,gm4_arborenda_init]}
+execute positioned ~1 ~ ~1 if block ~ ~ ~ #gm4_arborenda_shamir:trunks unless block ~-1 ~ ~ #gm4_arborenda_shamir:trunks unless block ~ ~ ~-1 #gm4_arborenda_shamir:trunks unless entity @e[type=marker,tag=gm4_arborenda_trunk,distance=..0.5] run summon marker ~ ~ ~ {CustomName:"gm4_arborenda_trunk",Tags:[gm4_arborenda_trunk,gm4_arborenda_init]}
+execute positioned ~1 ~ ~-1 if block ~ ~ ~ #gm4_arborenda_shamir:trunks unless block ~-1 ~ ~ #gm4_arborenda_shamir:trunks unless block ~ ~ ~1 #gm4_arborenda_shamir:trunks unless entity @e[type=marker,tag=gm4_arborenda_trunk,distance=..0.5] run summon marker ~ ~ ~ {CustomName:"gm4_arborenda_trunk",Tags:[gm4_arborenda_trunk,gm4_arborenda_init]}
+execute positioned ~-1 ~ ~1 if block ~ ~ ~ #gm4_arborenda_shamir:trunks unless block ~1 ~ ~ #gm4_arborenda_shamir:trunks unless block ~ ~ ~-1 #gm4_arborenda_shamir:trunks unless entity @e[type=marker,tag=gm4_arborenda_trunk,distance=..0.5] run summon marker ~ ~ ~ {CustomName:"gm4_arborenda_trunk",Tags:[gm4_arborenda_trunk,gm4_arborenda_init]}
+execute positioned ~-1 ~ ~-1 if block ~ ~ ~ #gm4_arborenda_shamir:trunks unless block ~1 ~ ~ #gm4_arborenda_shamir:trunks unless block ~ ~ ~1 #gm4_arborenda_shamir:trunks unless entity @e[type=marker,tag=gm4_arborenda_trunk,distance=..0.5] run summon marker ~ ~ ~ {CustomName:"gm4_arborenda_trunk",Tags:[gm4_arborenda_trunk,gm4_arborenda_init]}
diff --git a/gm4_metallurgy/data/gm4_arborenda_shamir/loot_table/band.json b/gm4_metallurgy/data/gm4_arborenda_shamir/loot_table/band.json
index e89471ab3a..c8a8f99d5d 100644
--- a/gm4_metallurgy/data/gm4_arborenda_shamir/loot_table/band.json
+++ b/gm4_metallurgy/data/gm4_arborenda_shamir/loot_table/band.json
@@ -23,7 +23,7 @@
"lore": [
{
"translate": "item.gm4.shamir.arborenda",
- "fallback": "Arborenda",
+ "fallback": "Arborenda Shamir",
"italic": false,
"color": "gray"
}
diff --git a/gm4_metallurgy/data/gm4_arborenda_shamir/tags/block/trunks.json b/gm4_metallurgy/data/gm4_arborenda_shamir/tags/block/trunks.json
index 0166a43067..9ea4b8c750 100644
--- a/gm4_metallurgy/data/gm4_arborenda_shamir/tags/block/trunks.json
+++ b/gm4_metallurgy/data/gm4_arborenda_shamir/tags/block/trunks.json
@@ -17,8 +17,8 @@
"minecraft:mangrove_wood",
"minecraft:oak_log",
"minecraft:oak_wood",
- { "id": "minecraft:pale_oak_log", "required": false },
- { "id": "minecraft:pale_oak_wood", "required": false },
+ "minecraft:pale_oak_log",
+ "minecraft:pale_oak_wood",
"minecraft:spruce_log",
"minecraft:spruce_wood",
"minecraft:warped_stem",
diff --git a/gm4_metallurgy/data/gm4_defuse_shamir/loot_table/band.json b/gm4_metallurgy/data/gm4_defuse_shamir/loot_table/band.json
index e6699e7c3f..248c8915ca 100644
--- a/gm4_metallurgy/data/gm4_defuse_shamir/loot_table/band.json
+++ b/gm4_metallurgy/data/gm4_defuse_shamir/loot_table/band.json
@@ -23,7 +23,7 @@
"lore": [
{
"translate": "item.gm4.shamir.defuse",
- "fallback": "Defuse",
+ "fallback": "Defuse Shamir",
"italic": false,
"color": "gray"
}
diff --git a/gm4_metallurgy/data/gm4_ender_bolt_shamir/loot_table/band.json b/gm4_metallurgy/data/gm4_ender_bolt_shamir/loot_table/band.json
index a54efb5a88..70693cdfb8 100644
--- a/gm4_metallurgy/data/gm4_ender_bolt_shamir/loot_table/band.json
+++ b/gm4_metallurgy/data/gm4_ender_bolt_shamir/loot_table/band.json
@@ -23,7 +23,7 @@
"lore": [
{
"translate": "item.gm4.shamir.ender_bolt",
- "fallback": "Ender Bolt",
+ "fallback": "Ender Bolt Shamir",
"italic": false,
"color": "gray"
}
diff --git a/gm4_metallurgy/data/gm4_forterra_shamir/loot_table/band.json b/gm4_metallurgy/data/gm4_forterra_shamir/loot_table/band.json
index 05f2f63b17..fc4d91f8e7 100644
--- a/gm4_metallurgy/data/gm4_forterra_shamir/loot_table/band.json
+++ b/gm4_metallurgy/data/gm4_forterra_shamir/loot_table/band.json
@@ -23,7 +23,7 @@
"lore": [
{
"translate": "item.gm4.shamir.forterra",
- "fallback": "Forterra",
+ "fallback": "Forterra Shamir",
"italic": false,
"color": "gray"
}
diff --git a/gm4_metallurgy/data/gm4_gemini_shamir/function/baby/pick_type.mcfunction b/gm4_metallurgy/data/gm4_gemini_shamir/function/baby/pick_type.mcfunction
index f3992f1856..83c6b55fc3 100644
--- a/gm4_metallurgy/data/gm4_gemini_shamir/function/baby/pick_type.mcfunction
+++ b/gm4_metallurgy/data/gm4_gemini_shamir/function/baby/pick_type.mcfunction
@@ -3,6 +3,8 @@
execute if entity @s[tag=gm4_gemini_axolotl] as @e[type=axolotl,distance=..10,nbt={Age:-24000},limit=1,sort=nearest] at @s run function gm4_gemini_shamir:baby/spawn_axolotl
execute if entity @s[tag=gm4_gemini_cat] as @e[type=cat,distance=..10,nbt={Age:-24000},limit=1,sort=nearest] at @s run function gm4_gemini_shamir:baby/spawn_cat
+execute if entity @s[tag=gm4_gemini_chicken] as @e[type=chicken,distance=..10,nbt={Age:-24000},limit=1,sort=nearest] at @s run function gm4_gemini_shamir:baby/spawn_chicken
+execute if entity @s[tag=gm4_gemini_cow] as @e[type=cow,distance=..10,nbt={Age:-24000},limit=1,sort=nearest] at @s run function gm4_gemini_shamir:baby/spawn_cow
execute if entity @s[tag=gm4_gemini_donkey] as @e[type=donkey,distance=..10,nbt={Age:-24000},limit=1,sort=nearest] at @s run function gm4_gemini_shamir:baby/spawn_donkey
execute if entity @s[tag=gm4_gemini_fox] as @e[type=fox,distance=..10,nbt={Age:-24000},limit=1,sort=nearest] at @s run function gm4_gemini_shamir:baby/spawn_fox
execute if entity @s[tag=gm4_gemini_goat] as @e[type=goat,distance=..10,nbt={Age:-24000},limit=1,sort=nearest] at @s run function gm4_gemini_shamir:baby/spawn_goat
@@ -11,6 +13,7 @@ execute if entity @s[tag=gm4_gemini_llama] as @e[type=llama,distance=..10,nbt={A
execute if entity @s[tag=gm4_gemini_mule] as @e[type=mule,distance=..10,nbt={Age:-24000},limit=1,sort=nearest] at @s run function gm4_gemini_shamir:baby/spawn_mule
execute if entity @s[tag=gm4_gemini_ocelot] as @e[type=ocelot,distance=..10,nbt={Age:-24000},limit=1,sort=nearest] at @s run function gm4_gemini_shamir:baby/spawn_ocelot
execute if entity @s[tag=gm4_gemini_panda] as @e[type=panda,distance=..10,nbt={Age:-24000},limit=1,sort=nearest] at @s run function gm4_gemini_shamir:baby/spawn_panda
+execute if entity @s[tag=gm4_gemini_pig] as @e[type=pig,distance=..10,nbt={Age:-24000},limit=1,sort=nearest] at @s run function gm4_gemini_shamir:baby/spawn_pig
execute if entity @s[tag=gm4_gemini_rabbit] as @e[type=rabbit,distance=..10,nbt={Age:-24000},limit=1,sort=nearest] at @s run function gm4_gemini_shamir:baby/spawn_rabbit
execute if entity @s[tag=gm4_gemini_sheep] as @e[type=sheep,distance=..10,nbt={Age:-24000},limit=1,sort=nearest] at @s run function gm4_gemini_shamir:baby/spawn_sheep
execute if entity @s[tag=gm4_gemini_trader_llama] as @e[type=trader_llama,distance=..10,nbt={Age:-24000},limit=1,sort=nearest] at @s run function gm4_gemini_shamir:baby/spawn_trader_llama
diff --git a/gm4_metallurgy/data/gm4_gemini_shamir/function/baby/spawn_chicken.mcfunction b/gm4_metallurgy/data/gm4_gemini_shamir/function/baby/spawn_chicken.mcfunction
new file mode 100644
index 0000000000..3d702440e3
--- /dev/null
+++ b/gm4_metallurgy/data/gm4_gemini_shamir/function/baby/spawn_chicken.mcfunction
@@ -0,0 +1,6 @@
+# run from gm4_gemini_shamir:baby/pick_type
+# @s = recently bred chicken
+
+summon chicken ~ ~ ~ {Tags:["gm4_gemini_baby"],Age:-23999}
+data modify entity @e[type=chicken,tag=gm4_gemini_baby,distance=..2,sort=nearest,limit=1] variant set from entity @s variant
+tag @e[type=chicken,tag=gm4_gemini_baby,sort=nearest,limit=1] remove gm4_gemini_baby
diff --git a/gm4_metallurgy/data/gm4_gemini_shamir/function/baby/spawn_cow.mcfunction b/gm4_metallurgy/data/gm4_gemini_shamir/function/baby/spawn_cow.mcfunction
new file mode 100644
index 0000000000..59a7a7b40c
--- /dev/null
+++ b/gm4_metallurgy/data/gm4_gemini_shamir/function/baby/spawn_cow.mcfunction
@@ -0,0 +1,6 @@
+# run from gm4_gemini_shamir:baby/pick_type
+# @s = recently bred cow
+
+summon cow ~ ~ ~ {Tags:["gm4_gemini_baby"],Age:-23999}
+data modify entity @e[type=cow,tag=gm4_gemini_baby,distance=..2,sort=nearest,limit=1] variant set from entity @s variant
+tag @e[type=cow,tag=gm4_gemini_baby,sort=nearest,limit=1] remove gm4_gemini_baby
diff --git a/gm4_metallurgy/data/gm4_gemini_shamir/function/baby/spawn_pig.mcfunction b/gm4_metallurgy/data/gm4_gemini_shamir/function/baby/spawn_pig.mcfunction
new file mode 100644
index 0000000000..d8066199ab
--- /dev/null
+++ b/gm4_metallurgy/data/gm4_gemini_shamir/function/baby/spawn_pig.mcfunction
@@ -0,0 +1,6 @@
+# run from gm4_gemini_shamir:baby/pick_type
+# @s = recently bred pig
+
+summon pig ~ ~ ~ {Tags:["gm4_gemini_baby"],Age:-23999}
+data modify entity @e[type=pig,tag=gm4_gemini_baby,distance=..2,sort=nearest,limit=1] variant set from entity @s variant
+tag @e[type=pig,tag=gm4_gemini_baby,sort=nearest,limit=1] remove gm4_gemini_baby
diff --git a/gm4_metallurgy/data/gm4_gemini_shamir/function/breed/check_chicken.mcfunction b/gm4_metallurgy/data/gm4_gemini_shamir/function/breed/check_chicken.mcfunction
index f4b7fd640a..bcd411634e 100644
--- a/gm4_metallurgy/data/gm4_gemini_shamir/function/breed/check_chicken.mcfunction
+++ b/gm4_metallurgy/data/gm4_gemini_shamir/function/breed/check_chicken.mcfunction
@@ -1,6 +1,6 @@
# run from breed_chicken.json (advancement)
# @s = player who has bred a mob
-execute if predicate gm4_gemini_shamir:holding_gemini as @e[type=chicken,distance=..10,limit=1,sort=nearest,nbt=!{InLove:0}] at @s run summon chicken ~ ~ ~ {Age:-23999}
-
+execute if predicate gm4_gemini_shamir:holding_gemini as @e[type=chicken,distance=..10,limit=1,sort=nearest,nbt=!{InLove:0}] at @s run summon marker ~ ~ ~ {Tags:["gm4_gemini_bred","gm4_gemini_chicken"]}
advancement revoke @s only gm4_gemini_shamir:breed_chicken
+schedule function gm4_gemini_shamir:baby/find_baby 1t
diff --git a/gm4_metallurgy/data/gm4_gemini_shamir/function/breed/check_cow.mcfunction b/gm4_metallurgy/data/gm4_gemini_shamir/function/breed/check_cow.mcfunction
index dfbe094332..ba91138d08 100644
--- a/gm4_metallurgy/data/gm4_gemini_shamir/function/breed/check_cow.mcfunction
+++ b/gm4_metallurgy/data/gm4_gemini_shamir/function/breed/check_cow.mcfunction
@@ -1,6 +1,6 @@
# run from breed_cow.json (advancement)
# @s = player who has bred a mob
-execute if predicate gm4_gemini_shamir:holding_gemini as @e[type=cow,distance=..10,limit=1,sort=nearest,nbt=!{InLove:0}] at @s run summon cow ~ ~ ~ {Age:-23999}
-
+execute if predicate gm4_gemini_shamir:holding_gemini as @e[type=cow,distance=..10,limit=1,sort=nearest,nbt=!{InLove:0}] at @s run summon marker ~ ~ ~ {Tags:["gm4_gemini_bred","gm4_gemini_cow"]}
advancement revoke @s only gm4_gemini_shamir:breed_cow
+schedule function gm4_gemini_shamir:baby/find_baby 1t
diff --git a/gm4_metallurgy/data/gm4_gemini_shamir/function/breed/check_pig.mcfunction b/gm4_metallurgy/data/gm4_gemini_shamir/function/breed/check_pig.mcfunction
index f361622f91..e19e37e5a9 100644
--- a/gm4_metallurgy/data/gm4_gemini_shamir/function/breed/check_pig.mcfunction
+++ b/gm4_metallurgy/data/gm4_gemini_shamir/function/breed/check_pig.mcfunction
@@ -1,6 +1,6 @@
# run from breed_pig.json (advancement)
# @s = player who has bred a mob
-execute if predicate gm4_gemini_shamir:holding_gemini as @e[type=pig,distance=..10,limit=1,sort=nearest,nbt=!{InLove:0}] at @s run summon pig ~ ~ ~ {Age:-23999}
-
+execute if predicate gm4_gemini_shamir:holding_gemini as @e[type=pig,distance=..10,limit=1,sort=nearest,nbt=!{InLove:0}] at @s run summon marker ~ ~ ~ {Tags:["gm4_gemini_bred","gm4_gemini_pig"]}
advancement revoke @s only gm4_gemini_shamir:breed_pig
+schedule function gm4_gemini_shamir:baby/find_baby 1t
diff --git a/gm4_metallurgy/data/gm4_gemini_shamir/function/breed/check_turtle.mcfunction b/gm4_metallurgy/data/gm4_gemini_shamir/function/breed/check_turtle.mcfunction
index 809c6b24e8..33c13a0a7d 100644
--- a/gm4_metallurgy/data/gm4_gemini_shamir/function/breed/check_turtle.mcfunction
+++ b/gm4_metallurgy/data/gm4_gemini_shamir/function/breed/check_turtle.mcfunction
@@ -1,6 +1,6 @@
# run from breed_turtle.json (advancement)
# @s = player who has bred a mob
-execute if predicate gm4_gemini_shamir:holding_gemini run data modify entity @e[type=turtle,distance=..10,limit=1,sort=nearest,nbt=!{HasEgg:1b}] HasEgg set value 1b
+execute if predicate gm4_gemini_shamir:holding_gemini run data modify entity @e[type=turtle,distance=..10,limit=1,sort=nearest,nbt=!{has_egg:1b}] has_egg set value 1b
advancement revoke @s only gm4_gemini_shamir:breed_turtle
diff --git a/gm4_metallurgy/data/gm4_gemini_shamir/loot_table/band.json b/gm4_metallurgy/data/gm4_gemini_shamir/loot_table/band.json
index 25f691a30f..77672b5ec7 100644
--- a/gm4_metallurgy/data/gm4_gemini_shamir/loot_table/band.json
+++ b/gm4_metallurgy/data/gm4_gemini_shamir/loot_table/band.json
@@ -23,7 +23,7 @@
"lore": [
{
"translate": "item.gm4.shamir.gemini",
- "fallback": "Gemini",
+ "fallback": "Gemini Shamir",
"italic": false,
"color": "gray"
}
diff --git a/gm4_metallurgy/data/gm4_hypexperia_shamir/loot_table/band.json b/gm4_metallurgy/data/gm4_hypexperia_shamir/loot_table/band.json
index 55942781df..331bad4662 100644
--- a/gm4_metallurgy/data/gm4_hypexperia_shamir/loot_table/band.json
+++ b/gm4_metallurgy/data/gm4_hypexperia_shamir/loot_table/band.json
@@ -23,7 +23,7 @@
"lore": [
{
"translate": "item.gm4.shamir.hypexperia",
- "fallback": "Hypexperia",
+ "fallback": "Hypexperia Shamir",
"italic": false,
"color": "gray"
}
diff --git a/gm4_metallurgy/data/gm4_infinitas_shamir/item_modifier/restore_shamir.json b/gm4_metallurgy/data/gm4_infinitas_shamir/item_modifier/restore_shamir.json
index 7daa17446b..828edb3bee 100644
--- a/gm4_metallurgy/data/gm4_infinitas_shamir/item_modifier/restore_shamir.json
+++ b/gm4_metallurgy/data/gm4_infinitas_shamir/item_modifier/restore_shamir.json
@@ -26,15 +26,9 @@
"italic": false,
"color": "#467A1B"
},
- {
- "translate": "item.gm4.metallurgy.shamir",
- "fallback": "Shamir",
- "italic": false,
- "color": "aqua"
- },
{
"translate": "item.gm4.shamir.infinitas",
- "fallback": "Infinitas",
+ "fallback": "Infinitas Shamir",
"italic": false,
"color": "gray"
}
diff --git a/gm4_metallurgy/data/gm4_infinitas_shamir/loot_table/band.json b/gm4_metallurgy/data/gm4_infinitas_shamir/loot_table/band.json
index aeff5972e6..ca77625fb9 100644
--- a/gm4_metallurgy/data/gm4_infinitas_shamir/loot_table/band.json
+++ b/gm4_metallurgy/data/gm4_infinitas_shamir/loot_table/band.json
@@ -23,7 +23,7 @@
"lore": [
{
"translate": "item.gm4.shamir.infinitas",
- "fallback": "Infinitas",
+ "fallback": "Infinitas Shamir",
"italic": false,
"color": "gray"
}
diff --git a/gm4_metallurgy/data/gm4_infinitas_shamir/test/check_unsmoosh_after_use.mcfunction b/gm4_metallurgy/data/gm4_infinitas_shamir/test/check_unsmoosh_after_use.mcfunction
index d18026a3c4..3ef8160d05 100644
--- a/gm4_metallurgy/data/gm4_infinitas_shamir/test/check_unsmoosh_after_use.mcfunction
+++ b/gm4_metallurgy/data/gm4_infinitas_shamir/test/check_unsmoosh_after_use.mcfunction
@@ -33,4 +33,3 @@ setblock ~1 ~4 ~1 redstone_block
await items entity @e[type=item,distance=..6] contents minecraft:player_head[custom_data~{gm4_metallurgy:{stored_shamir:"infinitas"}}]
execute as @e[type=item,distance=..6] if items entity @s contents minecraft:player_head unless data entity @s Item.components."minecraft:custom_data".gm4_metallurgy.stored_shamir run fail "Unsmooshed shamir did not properly transfer shamir to cast"
-execute as @e[type=item,distance=..6] if items entity @s contents minecraft:player_head unless data entity @s Item.components."minecraft:lore"[2] run fail "Unsmooshed shamir is missing the lore line containing the shamir name"
diff --git a/gm4_metallurgy/data/gm4_metallurgy/function/casting/add_metal/add_aluminium.mcfunction b/gm4_metallurgy/data/gm4_metallurgy/function/casting/add_metal/add_aluminium.mcfunction
index eb8da023a0..8cf488d971 100644
--- a/gm4_metallurgy/data/gm4_metallurgy/function/casting/add_metal/add_aluminium.mcfunction
+++ b/gm4_metallurgy/data/gm4_metallurgy/function/casting/add_metal/add_aluminium.mcfunction
@@ -5,7 +5,7 @@
tag @s add gm4_contains_metal
item modify entity @s armor.head gm4_metallurgy:mould/hot_metal
scoreboard players operation @s gm4_ml_ore_al += $metal_amount gm4_ml_data
-execute if score $is_obsidian_cast gm4_ml_data matches 1.. run summon item ~.45 ~0.1 ~.65 {Item:{id:"minecraft:obsidian",count:1,components:{"minecraft:custom_model_data":"item/slightly_damaged_obsidian","minecraft:lore":['{"translate":"item.gm4.slightly_damaged_obsidian","fallback":"Slightly Damaged Obsidian","color":"dark_gray"}']}}}
+execute if score $is_obsidian_cast gm4_ml_data matches 1.. run summon item ~.45 ~0.1 ~.65 {Item:{id:"minecraft:obsidian",count:1,components:{"minecraft:custom_model_data":"item/slightly_damaged_obsidian","minecraft:lore":[{"translate":"item.gm4.slightly_damaged_obsidian","fallback":"Slightly Damaged Obsidian","color":"dark_gray"}]}}}
execute unless score $is_obsidian_cast gm4_ml_data matches 1.. run particle minecraft:block{block_state:"minecraft:andesite"} ~.45 ~0.1 ~.65 .1 .1 .1 0 9
particle minecraft:block{block_state:"minecraft:pink_terracotta"} ~.45 ~0.1 ~.65 .1 .1 .1 0 2
playsound item.bucket.empty_lava block @a[distance=..8] ~ ~ ~ .25 1.5
diff --git a/gm4_metallurgy/data/gm4_metallurgy/function/casting/add_metal/add_barimium.mcfunction b/gm4_metallurgy/data/gm4_metallurgy/function/casting/add_metal/add_barimium.mcfunction
index 3ee9eccf48..8dbb01066d 100644
--- a/gm4_metallurgy/data/gm4_metallurgy/function/casting/add_metal/add_barimium.mcfunction
+++ b/gm4_metallurgy/data/gm4_metallurgy/function/casting/add_metal/add_barimium.mcfunction
@@ -11,7 +11,7 @@ scoreboard players operation @s gm4_ml_ore_al += $metal_amount gm4_ml_data
# add secondary metal
execute store result score $metal_amount gm4_ml_data run data get storage gm4_metallurgy:temp/item/ore gm4_metallurgy.metal.amount[1]
scoreboard players operation @s gm4_ml_ore_ba += $metal_amount gm4_ml_data
-execute if score $is_obsidian_cast gm4_ml_data matches 1.. run summon item ~.45 ~0.1 ~.65 {Item:{id:"minecraft:obsidian",count:1,components:{"minecraft:custom_model_data":"item/slightly_damaged_obsidian","minecraft:lore":['{"translate":"item.gm4.slightly_damaged_obsidian","fallback":"Slightly Damaged Obsidian","color":"dark_gray"}']}}}
+execute if score $is_obsidian_cast gm4_ml_data matches 1.. run summon item ~.45 ~0.1 ~.65 {Item:{id:"minecraft:obsidian",count:1,components:{"minecraft:custom_model_data":"item/slightly_damaged_obsidian","minecraft:lore":[{"translate":"item.gm4.slightly_damaged_obsidian","fallback":"Slightly Damaged Obsidian","color":"dark_gray"}]}}}
# visuals
particle minecraft:block{block_state:"minecraft:dead_fire_coral_block"} ~.45 ~0.1 ~.65 .1 .1 .1 0 2
diff --git a/gm4_metallurgy/data/gm4_metallurgy/function/casting/add_metal/add_barium.mcfunction b/gm4_metallurgy/data/gm4_metallurgy/function/casting/add_metal/add_barium.mcfunction
index f7a1840c2e..684bc611ee 100644
--- a/gm4_metallurgy/data/gm4_metallurgy/function/casting/add_metal/add_barium.mcfunction
+++ b/gm4_metallurgy/data/gm4_metallurgy/function/casting/add_metal/add_barium.mcfunction
@@ -5,7 +5,7 @@
tag @s add gm4_contains_metal
item modify entity @s armor.head gm4_metallurgy:mould/hot_metal
scoreboard players operation @s gm4_ml_ore_ba += $metal_amount gm4_ml_data
-execute if score $is_obsidian_cast gm4_ml_data matches 1.. run summon item ~.45 ~0.1 ~.65 {Item:{id:"minecraft:obsidian",count:1,components:{"minecraft:custom_model_data":"item/slightly_damaged_obsidian","minecraft:lore":['{"translate":"item.gm4.slightly_damaged_obsidian","fallback":"Slightly Damaged Obsidian","color":"dark_gray"}']}}}
+execute if score $is_obsidian_cast gm4_ml_data matches 1.. run summon item ~.45 ~0.1 ~.65 {Item:{id:"minecraft:obsidian",count:1,components:{"minecraft:custom_model_data":"item/slightly_damaged_obsidian","minecraft:lore":[{"translate":"item.gm4.slightly_damaged_obsidian","fallback":"Slightly Damaged Obsidian","color":"dark_gray"}]}}}
execute unless score $is_obsidian_cast gm4_ml_data matches 1.. run particle minecraft:block{block_state:"minecraft:granite"} ~.45 ~0.1 ~.65 .1 .1 .1 0 9
particle minecraft:block{block_state:"minecraft:white_concrete_powder"} ~.45 ~0.1 ~.65 .1 .1 .1 0 2
playsound item.bucket.empty_lava block @a[distance=..8] ~ ~ ~ .25 1.5
diff --git a/gm4_metallurgy/data/gm4_metallurgy/function/casting/add_metal/add_bismuth.mcfunction b/gm4_metallurgy/data/gm4_metallurgy/function/casting/add_metal/add_bismuth.mcfunction
index 1f6d3a8973..c49f2b0b83 100644
--- a/gm4_metallurgy/data/gm4_metallurgy/function/casting/add_metal/add_bismuth.mcfunction
+++ b/gm4_metallurgy/data/gm4_metallurgy/function/casting/add_metal/add_bismuth.mcfunction
@@ -5,7 +5,7 @@
tag @s add gm4_contains_metal
item modify entity @s armor.head gm4_metallurgy:mould/hot_metal
scoreboard players operation @s gm4_ml_ore_bi += $metal_amount gm4_ml_data
-execute if score $is_obsidian_cast gm4_ml_data matches 1.. run summon item ~.45 ~0.1 ~.65 {Item:{id:"minecraft:obsidian",count:1,components:{"minecraft:custom_model_data":"item/slightly_damaged_obsidian","minecraft:lore":['{"translate":"item.gm4.slightly_damaged_obsidian","fallback":"Slightly Damaged Obsidian","color":"dark_gray"}']}}}
+execute if score $is_obsidian_cast gm4_ml_data matches 1.. run summon item ~.45 ~0.1 ~.65 {Item:{id:"minecraft:obsidian",count:1,components:{"minecraft:custom_model_data":"item/slightly_damaged_obsidian","minecraft:lore":[{"translate":"item.gm4.slightly_damaged_obsidian","fallback":"Slightly Damaged Obsidian","color":"dark_gray"}]}}}
execute unless score $is_obsidian_cast gm4_ml_data matches 1.. run particle minecraft:block{block_state:"minecraft:stone"} ~.45 ~0.1 ~.65 .1 .1 .1 0 9
particle minecraft:block{block_state:"minecraft:melon"} ~.45 ~0.1 ~.65 .1 .1 .1 0 2
playsound item.bucket.empty_lava block @a[distance=..8] ~ ~ ~ .25 1.5
diff --git a/gm4_metallurgy/data/gm4_metallurgy/function/casting/add_metal/add_copper.mcfunction b/gm4_metallurgy/data/gm4_metallurgy/function/casting/add_metal/add_copper.mcfunction
index 0fdcc2faaa..f593d25171 100644
--- a/gm4_metallurgy/data/gm4_metallurgy/function/casting/add_metal/add_copper.mcfunction
+++ b/gm4_metallurgy/data/gm4_metallurgy/function/casting/add_metal/add_copper.mcfunction
@@ -5,7 +5,7 @@
tag @s add gm4_contains_metal
item modify entity @s armor.head gm4_metallurgy:mould/hot_metal
scoreboard players operation @s gm4_ml_ore_bi += $metal_amount gm4_ml_data
-execute if score $is_obsidian_cast gm4_ml_data matches 1.. run summon item ~.45 ~0.1 ~.65 {Item:{id:"minecraft:obsidian",count:1,components:{"minecraft:custom_model_data":"item/slightly_damaged_obsidian","minecraft:lore":['{"translate":"item.gm4.slightly_damaged_obsidian","fallback":"Slightly Damaged Obsidian","color":"dark_gray"}']}}}
+execute if score $is_obsidian_cast gm4_ml_data matches 1.. run summon item ~.45 ~0.1 ~.65 {Item:{id:"minecraft:obsidian",count:1,components:{"minecraft:custom_model_data":"item/slightly_damaged_obsidian","minecraft:lore":[{"translate":"item.gm4.slightly_damaged_obsidian","fallback":"Slightly Damaged Obsidian","color":"dark_gray"}]}}}
execute unless score $is_obsidian_cast gm4_ml_data matches 1.. run particle minecraft:block{block_state:"minecraft:stone"} ~.45 ~0.1 ~.65 .1 .1 .1 0 9
particle minecraft:block{block_state:"minecraft:weathered_copper"} ~.45 ~0.1 ~.65 .1 .1 .1 0 2
playsound item.bucket.empty_lava block @a[distance=..8] ~ ~ ~ .25 1.5
diff --git a/gm4_metallurgy/data/gm4_metallurgy/function/casting/add_metal/add_curies_bismium.mcfunction b/gm4_metallurgy/data/gm4_metallurgy/function/casting/add_metal/add_curies_bismium.mcfunction
index 857edf3ba6..f24873cb64 100644
--- a/gm4_metallurgy/data/gm4_metallurgy/function/casting/add_metal/add_curies_bismium.mcfunction
+++ b/gm4_metallurgy/data/gm4_metallurgy/function/casting/add_metal/add_curies_bismium.mcfunction
@@ -11,7 +11,7 @@ scoreboard players operation @s gm4_ml_ore_th += $metal_amount gm4_ml_data
# add secondary metal
execute store result score $metal_amount gm4_ml_data run data get storage gm4_metallurgy:temp/item/ore gm4_metallurgy.metal.amount[1]
scoreboard players operation @s gm4_ml_ore_bi += $metal_amount gm4_ml_data
-execute if score $is_obsidian_cast gm4_ml_data matches 1.. run summon item ~.45 ~0.1 ~.65 {Item:{id:"minecraft:obsidian",count:1,components:{"minecraft:custom_model_data":"item/slightly_damaged_obsidian","minecraft:lore":['{"translate":"item.gm4.slightly_damaged_obsidian","fallback":"Slightly Damaged Obsidian","color":"dark_gray"}']}}}
+execute if score $is_obsidian_cast gm4_ml_data matches 1.. run summon item ~.45 ~0.1 ~.65 {Item:{id:"minecraft:obsidian",count:1,components:{"minecraft:custom_model_data":"item/slightly_damaged_obsidian","minecraft:lore":[{"translate":"item.gm4.slightly_damaged_obsidian","fallback":"Slightly Damaged Obsidian","color":"dark_gray"}]}}}
# visuals
particle minecraft:block{block_state:"minecraft:lime_concrete_powder"} ~.45 ~0.1 ~.65 .1 .1 .1 0 2
diff --git a/gm4_metallurgy/data/gm4_metallurgy/function/casting/add_metal/add_thorium.mcfunction b/gm4_metallurgy/data/gm4_metallurgy/function/casting/add_metal/add_thorium.mcfunction
index 3e85fb7aa5..d8897e045f 100644
--- a/gm4_metallurgy/data/gm4_metallurgy/function/casting/add_metal/add_thorium.mcfunction
+++ b/gm4_metallurgy/data/gm4_metallurgy/function/casting/add_metal/add_thorium.mcfunction
@@ -5,7 +5,7 @@
tag @s add gm4_contains_metal
item modify entity @s armor.head gm4_metallurgy:mould/hot_metal
scoreboard players operation @s gm4_ml_ore_th += $metal_amount gm4_ml_data
-execute if score $is_obsidian_cast gm4_ml_data matches 1.. run summon item ~.45 ~0.1 ~.65 {Item:{id:"minecraft:obsidian",count:1,components:{"minecraft:custom_model_data":"item/slightly_damaged_obsidian","minecraft:lore":['{"translate":"item.gm4.slightly_damaged_obsidian","fallback":"Slightly Damaged Obsidian","color":"dark_gray"}']}}}
+execute if score $is_obsidian_cast gm4_ml_data matches 1.. run summon item ~.45 ~0.1 ~.65 {Item:{id:"minecraft:obsidian",count:1,components:{"minecraft:custom_model_data":"item/slightly_damaged_obsidian","minecraft:lore":[{"translate":"item.gm4.slightly_damaged_obsidian","fallback":"Slightly Damaged Obsidian","color":"dark_gray"}]}}}
execute unless score $is_obsidian_cast gm4_ml_data matches 1.. run particle minecraft:block{block_state:"minecraft:diorite"} ~.45 ~0.1 ~.65 .1 .1 .1 0 9
particle minecraft:block{block_state:"minecraft:dead_fire_coral_block"} ~.45 ~0.1 ~.65 .1 .1 .1 0 2
playsound item.bucket.empty_lava block @a[distance=..8] ~ ~ ~ .25 1.5
diff --git a/gm4_metallurgy/data/gm4_metallurgy/function/casting/add_metal/add_thorium_brass.mcfunction b/gm4_metallurgy/data/gm4_metallurgy/function/casting/add_metal/add_thorium_brass.mcfunction
index 54c6e84e5b..31098a2a01 100644
--- a/gm4_metallurgy/data/gm4_metallurgy/function/casting/add_metal/add_thorium_brass.mcfunction
+++ b/gm4_metallurgy/data/gm4_metallurgy/function/casting/add_metal/add_thorium_brass.mcfunction
@@ -11,7 +11,7 @@ scoreboard players operation @s gm4_ml_ore_th += $metal_amount gm4_ml_data
# add secondary metal
execute store result score $metal_amount gm4_ml_data run data get storage gm4_metallurgy:temp/item/ore gm4_metallurgy.metal.amount[1]
scoreboard players operation @s gm4_ml_ore_bi += $metal_amount gm4_ml_data
-execute if score $is_obsidian_cast gm4_ml_data matches 1.. run summon item ~.45 ~0.1 ~.65 {Item:{id:"minecraft:obsidian",count:1,components:{"minecraft:custom_model_data":"item/slightly_damaged_obsidian","minecraft:lore":['{"translate":"item.gm4.slightly_damaged_obsidian","fallback":"Slightly Damaged Obsidian","color":"dark_gray"}']}}}
+execute if score $is_obsidian_cast gm4_ml_data matches 1.. run summon item ~.45 ~0.1 ~.65 {Item:{id:"minecraft:obsidian",count:1,components:{"minecraft:custom_model_data":"item/slightly_damaged_obsidian","minecraft:lore":[{"translate":"item.gm4.slightly_damaged_obsidian","fallback":"Slightly Damaged Obsidian","color":"dark_gray"}]}}}
# visuals
particle minecraft:block{block_state:"minecraft:lime_concrete_powder"} ~.45 ~0.1 ~.65 .1 .1 .1 0 2
diff --git a/gm4_metallurgy/data/gm4_metallurgy/function/casting/add_metal/initialize.mcfunction b/gm4_metallurgy/data/gm4_metallurgy/function/casting/add_metal/initialize.mcfunction
index 554260aa4e..e0936c9900 100644
--- a/gm4_metallurgy/data/gm4_metallurgy/function/casting/add_metal/initialize.mcfunction
+++ b/gm4_metallurgy/data/gm4_metallurgy/function/casting/add_metal/initialize.mcfunction
@@ -7,7 +7,7 @@ execute store result score $metal_amount gm4_ml_data run data get storage gm4_me
execute if data storage gm4_metallurgy:temp/item/ore gm4_metallurgy{item:"obsidian_cast"} run scoreboard players set $is_obsidian_cast gm4_ml_data 1
# store recasted shamir id
-execute if score $is_obsidian_cast gm4_ml_data matches 1 run data modify entity @s ArmorItems[0].components."minecraft:custom_data".gm4_metallurgy set from storage gm4_metallurgy:temp/item/ore gm4_metallurgy
+execute if score $is_obsidian_cast gm4_ml_data matches 1 run data modify entity @s equipment.feet.components."minecraft:custom_data".gm4_metallurgy set from storage gm4_metallurgy:temp/item/ore gm4_metallurgy
# absorb ore item
execute if data storage gm4_metallurgy:temp/item/ore gm4_metallurgy.metal{type:"aluminium"} run function gm4_metallurgy:casting/add_metal/add_aluminium
diff --git a/gm4_metallurgy/data/gm4_metallurgy/function/casting/create_mould.mcfunction b/gm4_metallurgy/data/gm4_metallurgy/function/casting/create_mould.mcfunction
index 5433aef5ff..6a73db43ad 100644
--- a/gm4_metallurgy/data/gm4_metallurgy/function/casting/create_mould.mcfunction
+++ b/gm4_metallurgy/data/gm4_metallurgy/function/casting/create_mould.mcfunction
@@ -1,7 +1,7 @@
# @s = obsidian block with count of 1 on top of sand next to a clay ball with a count of 1
# run from check_mould_creation
-summon armor_stand ~.45 ~-1.150 ~.65 {CustomName:'"gm4_sand_ring"',Tags:["gm4_sand_ring","gm4_new_sand_ring"],ArmorItems:[{id:"minecraft:stick",count:1},{},{},{id:"minecraft:player_head",count:1,components:{"minecraft:custom_model_data":"block/mould/cool_empty","minecraft:profile":"$mould/cool_empty"}}],Silent:1b,Invulnerable:1b,Marker:1b,Invisible:1b,NoGravity:1b,Small:1b,HasVisualFire:1b}
+summon armor_stand ~.45 ~-1.150 ~.65 {CustomName:"gm4_sand_ring",Tags:["gm4_sand_ring","gm4_new_sand_ring"],equipment:{feet:{id:"minecraft:stick",count:1},head:{id:"minecraft:player_head",count:1,components:{"minecraft:custom_model_data":"block/mould/cool_empty","minecraft:profile":"$mould/cool_empty"}}},Silent:1b,Invulnerable:1b,Marker:1b,Invisible:1b,NoGravity:1b,Small:1b,HasVisualFire:1b}
scoreboard players add @e[type=armor_stand,tag=gm4_new_sand_ring] gm4_ml_ore_al 0
scoreboard players add @e[type=armor_stand,tag=gm4_new_sand_ring] gm4_ml_ore_ba 0
diff --git a/gm4_metallurgy/data/gm4_metallurgy/function/casting/destroy_mould.mcfunction b/gm4_metallurgy/data/gm4_metallurgy/function/casting/destroy_mould.mcfunction
index 4ce8f415ee..e07b3f8f8e 100644
--- a/gm4_metallurgy/data/gm4_metallurgy/function/casting/destroy_mould.mcfunction
+++ b/gm4_metallurgy/data/gm4_metallurgy/function/casting/destroy_mould.mcfunction
@@ -6,7 +6,7 @@
# check for metal values in mold, drop corresponding items
# mould contains no metal
-execute if score @s gm4_ml_heat matches ..89 if entity @s[scores={gm4_ml_ore_bi=0,gm4_ml_ore_al=0,gm4_ml_ore_ba=0,gm4_ml_ore_th=0}] run summon item ~ ~ ~ {Item:{id:"minecraft:obsidian",count:1,components:{"minecraft:lore":['{"translate":"item.gm4.slightly_damaged_obsidian","fallback":"Slightly Damaged Obsidian","color":"dark_gray"}']}}}
+execute if score @s gm4_ml_heat matches ..89 if entity @s[scores={gm4_ml_ore_bi=0,gm4_ml_ore_al=0,gm4_ml_ore_ba=0,gm4_ml_ore_th=0}] run summon item ~ ~ ~ {Item:{id:"minecraft:obsidian",count:1,components:{"minecraft:lore":[{"translate":"item.gm4.slightly_damaged_obsidian","fallback":"Slightly Damaged Obsidian","color":"dark_gray"}]}}}
# set mould with metal in it
diff --git a/gm4_metallurgy/data/gm4_metallurgy/function/casting/finish_band.mcfunction b/gm4_metallurgy/data/gm4_metallurgy/function/casting/finish_band.mcfunction
index b613a6a696..faef244094 100644
--- a/gm4_metallurgy/data/gm4_metallurgy/function/casting/finish_band.mcfunction
+++ b/gm4_metallurgy/data/gm4_metallurgy/function/casting/finish_band.mcfunction
@@ -4,7 +4,7 @@
tag @e[type=item,distance=..0.1,predicate=gm4_metallurgy:has_shamir,nbt={Age:0s}] add gm4_ml_band
# kill the band that matches the recasted band
-execute store success score $has_recasted_band gm4_ml_data run data modify storage gm4_metallurgy:temp/item/cast stored_shamir set from entity @s ArmorItems[0].components."minecraft:custom_data".gm4_metallurgy.stored_shamir
+execute store success score $has_recasted_band gm4_ml_data run data modify storage gm4_metallurgy:temp/item/cast stored_shamir set from entity @s equipment.feet.components."minecraft:custom_data".gm4_metallurgy.stored_shamir
execute if score $has_recasted_band gm4_ml_data matches 1 as @e[type=item,tag=gm4_ml_band] run function gm4_metallurgy:casting/prevent_duplicate_recast
data remove storage gm4_metallurgy:temp/item/cast recasted_shamir
data remove storage gm4_metallurgy:temp/item/cast stored_shamir
diff --git a/gm4_metallurgy/data/gm4_metallurgy/function/casting/overheat_mould.mcfunction b/gm4_metallurgy/data/gm4_metallurgy/function/casting/overheat_mould.mcfunction
index 9c5d2cabe2..d95518a085 100644
--- a/gm4_metallurgy/data/gm4_metallurgy/function/casting/overheat_mould.mcfunction
+++ b/gm4_metallurgy/data/gm4_metallurgy/function/casting/overheat_mould.mcfunction
@@ -4,7 +4,7 @@
# run from destroy_mould
setblock ~ ~-1 ~ lava[level=1]
-summon item ~ ~ ~ {Item:{id:"minecraft:magma_block",count:1,components:{"minecraft:lore":['{"translate":"item.gm4.slightly_overheated_obsidian","fallback":"Slightly Overheated Obsidian","italic":false}']}},Motion:[0.0,0.2,0.0]}
+summon item ~ ~ ~ {Item:{id:"minecraft:magma_block",count:1,components:{"minecraft:lore":[{"translate":"item.gm4.slightly_overheated_obsidian","fallback":"Slightly Overheated Obsidian","italic":false}]}},Motion:[0.0,0.2,0.0]}
particle large_smoke ~ ~ ~ 0.2 0.2 0.2 0.05 20
playsound block.fire.extinguish block @a ~ ~ ~ .25 .9
fill ~1 ~1 ~1 ~-1 ~-1 ~-1 fire replace air
diff --git a/gm4_metallurgy/data/gm4_metallurgy/function/casting/set_mould.mcfunction b/gm4_metallurgy/data/gm4_metallurgy/function/casting/set_mould.mcfunction
index 4fd608390a..2cf398b8a4 100644
--- a/gm4_metallurgy/data/gm4_metallurgy/function/casting/set_mould.mcfunction
+++ b/gm4_metallurgy/data/gm4_metallurgy/function/casting/set_mould.mcfunction
@@ -17,7 +17,7 @@ execute if entity @s[scores={gm4_ml_ore_bi=6,gm4_ml_ore_al=0,gm4_ml_ore_ba=0,gm4
# apply broken band if all other bands fail
-execute if score $band_applied gm4_ml_data matches 0 run summon item ~ ~ ~ {Item:{id:"minecraft:player_head",count:1,components:{"minecraft:custom_model_data":"item/mundane_band","minecraft:profile":"$band/mundane","minecraft:custom_name":'{"italic":false,"translate":"item.gm4.metallurgy.obsidian_cast","fallback":"Obsidian Cast"}',"minecraft:lore":['{"italic":false,"color":"gray","translate":"item.gm4.metallurgy.mundane_band","fallback":"Mundane Band"}']}}}
+execute if score $band_applied gm4_ml_data matches 0 run summon item ~ ~ ~ {Item:{id:"minecraft:player_head",count:1,components:{"minecraft:custom_model_data":"item/mundane_band","minecraft:profile":"$band/mundane","minecraft:custom_name":{"italic":false,"translate":"item.gm4.metallurgy.obsidian_cast","fallback":"Obsidian Cast"},"minecraft:lore":[{"italic":false,"color":"gray","translate":"item.gm4.metallurgy.mundane_band","fallback":"Mundane Band"}]}}}
# spawn xp if band was applied
execute if score $band_applied gm4_ml_data matches 1 if entity @p[distance=..4,gamemode=!spectator] run summon experience_orb ~ ~ ~ {Value:37s}
diff --git a/gm4_metallurgy/data/gm4_metallurgy/function/smooshing/remove_band/check.mcfunction b/gm4_metallurgy/data/gm4_metallurgy/function/smooshing/remove_band/check.mcfunction
index 4755f320e8..acee015ec1 100644
--- a/gm4_metallurgy/data/gm4_metallurgy/function/smooshing/remove_band/check.mcfunction
+++ b/gm4_metallurgy/data/gm4_metallurgy/function/smooshing/remove_band/check.mcfunction
@@ -1,8 +1,10 @@
+# @s = item being crushed by a piston that has a shamir
+# run from smooshing/prepare_transfer
#check whether the other item is an obsidian block
-scoreboard players set valid_obsidian gm4_ml_data 0
-execute as @e[type=item,dx=0,predicate=gm4_metallurgy:is_obsidian,limit=1] run function gm4_metallurgy:smooshing/remove_band/found_obsidian
+scoreboard players set $valid_obsidian gm4_ml_data 0
+execute if entity @e[type=item,dx=0,predicate=gm4_metallurgy:is_obsidian,limit=1] run function gm4_metallurgy:smooshing/remove_band/found_obsidian
#if both custom model data tags are the same, then we can delete it
execute store success score custom_model_data gm4_ml_data run data modify entity @s Item.components."minecraft:custom_data".gm4_metallurgy.custom_model_data set from entity @s Item.components."minecraft:custom_model_data"
-execute if score valid_obsidian gm4_ml_data matches 1 run function gm4_metallurgy:smooshing/remove_band/clear_data
+execute if score $valid_obsidian gm4_ml_data matches 1 run function gm4_metallurgy:smooshing/remove_band/clear_data
diff --git a/gm4_metallurgy/data/gm4_metallurgy/function/smooshing/remove_band/clear_data.mcfunction b/gm4_metallurgy/data/gm4_metallurgy/function/smooshing/remove_band/clear_data.mcfunction
index 19a3921c9a..4d28d04732 100644
--- a/gm4_metallurgy/data/gm4_metallurgy/function/smooshing/remove_band/clear_data.mcfunction
+++ b/gm4_metallurgy/data/gm4_metallurgy/function/smooshing/remove_band/clear_data.mcfunction
@@ -2,12 +2,34 @@
# run from smooshing/remove_band/check
execute if score custom_model_data gm4_ml_data matches 0 run data remove entity @s Item.components."minecraft:custom_model_data"
+# Line 8 only clears custom data, while max stack size is its own component
+execute if items entity @s contents *[custom_data~{gm4_metallurgy:{active_shamir:"infinitas"}}] run data remove entity @s Item.components."minecraft:max_stack_size"
data remove entity @s Item.components."minecraft:custom_data".gm4_metallurgy
+execute if items entity @s contents *[custom_data={}] run data remove entity @s Item.components."minecraft:custom_data"
# use lib_lore to remove the correct lines of lore
data modify storage gm4_lore:temp Source set from entity @s Item.components."minecraft:lore"
-## NOTE: gm4_lore:temp Target is still "Shamir" from finish_item
-scoreboard players set $start gm4_lore -1
-scoreboard players set $extra gm4_lore 2
+# check legacy Metallurgy lore
+data modify storage gm4_lore:temp Target set value '{"color":"aqua","fallback":"Shamir","italic":false,"translate":"item.gm4.metallurgy.shamir"}'
+
+scoreboard players set $start gm4_lore 0
+function #gm4_lore:search
+execute unless score $index gm4_lore matches -1 run return run function gm4_metallurgy:smooshing/remove_band/clear_legacy_lore
+
+# use lib_lore to remove the correct lines of lore
+data modify storage gm4_lore:temp Target set from entity @s Item.components."minecraft:lore"[0]
+scoreboard players set $start gm4_lore 0
+scoreboard players set $extra gm4_lore 1
function #gm4_lore:remove
data modify entity @s Item.components."minecraft:lore" set from storage gm4_lore:temp Source
+
+## Metallurgy lore 1.21+
+# Name: Obsidian Cast
+# Lore: Band
+# Shamir
+
+## Old Metallurgy lore (pre 1.21)
+# Name: Obsidian Cast
+# Lore: Band
+# Shamir
+#
diff --git a/gm4_metallurgy/data/gm4_metallurgy/function/smooshing/remove_band/clear_legacy_lore.mcfunction b/gm4_metallurgy/data/gm4_metallurgy/function/smooshing/remove_band/clear_legacy_lore.mcfunction
new file mode 100644
index 0000000000..77ce0a7c83
--- /dev/null
+++ b/gm4_metallurgy/data/gm4_metallurgy/function/smooshing/remove_band/clear_legacy_lore.mcfunction
@@ -0,0 +1,9 @@
+# @s = armor/tool with the band
+# run from smooshing/remove_band/clear_data
+
+# use lib_lore to remove the correct lines of lore
+## NOTE: gm4_lore:temp Target is still "Shamir" from clear_data search
+scoreboard players set $start gm4_lore -1
+scoreboard players set $extra gm4_lore 2
+function #gm4_lore:remove
+data modify entity @s Item.components."minecraft:lore" set from storage gm4_lore:temp Source
diff --git a/gm4_metallurgy/data/gm4_metallurgy/function/smooshing/remove_band/finish_item.mcfunction b/gm4_metallurgy/data/gm4_metallurgy/function/smooshing/remove_band/finish_item.mcfunction
deleted file mode 100644
index 5e3a72dd17..0000000000
--- a/gm4_metallurgy/data/gm4_metallurgy/function/smooshing/remove_band/finish_item.mcfunction
+++ /dev/null
@@ -1,16 +0,0 @@
-# @s = new band item
-# run from smooshing/remove_band/found_obsidian
-
-# use lib_lore to get the correct line of lore
-## get the line after the line "Shamir" from the tool/armor piece
-data modify storage gm4_lore:temp Source set from entity @e[type=item,tag=gm4_ml_source,dx=0,limit=1] Item.components."minecraft:lore"
-data modify storage gm4_lore:temp Target set from entity @s Item.components."minecraft:lore"[1]
-scoreboard players set $start gm4_lore 1
-function #gm4_lore:remove
-## add the Shamir name to the band lore
-data modify entity @s Item.components."minecraft:lore" append from storage gm4_lore:temp Dump[]
-
-data modify entity @s Item.components."minecraft:custom_data".gm4_metallurgy.stored_shamir set from entity @e[type=item,tag=gm4_ml_source,dx=0,limit=1] Item.components."minecraft:custom_data".gm4_metallurgy.active_shamir
-data modify entity @s Item.components."minecraft:custom_model_data" set from entity @e[type=item,tag=gm4_ml_source,dx=0,limit=1] Item.components."minecraft:custom_data".gm4_metallurgy.custom_model_data
-
-tag @s add gm4_ml_smooshed
diff --git a/gm4_metallurgy/data/gm4_metallurgy/function/smooshing/remove_band/found_obsidian.mcfunction b/gm4_metallurgy/data/gm4_metallurgy/function/smooshing/remove_band/found_obsidian.mcfunction
index 8b7961a2d0..b86d37a3fe 100644
--- a/gm4_metallurgy/data/gm4_metallurgy/function/smooshing/remove_band/found_obsidian.mcfunction
+++ b/gm4_metallurgy/data/gm4_metallurgy/function/smooshing/remove_band/found_obsidian.mcfunction
@@ -1,23 +1,7 @@
-# obtain metal type
-execute store success score has_modern_nbt_version gm4_ml_data run data modify entity @s Item.components."minecraft:custom_data".gm4_metallurgy.metal.type set from entity @e[type=item,tag=gm4_ml_source,dx=0,limit=1] Item.components."minecraft:custom_data".gm4_metallurgy.metal.type
-# obtain metal type from legacy items
-execute unless score has_modern_nbt_version gm4_ml_data matches 1 run data modify entity @s Item.components."minecraft:custom_data".gm4_metallurgy.metal.type set from entity @e[type=item,tag=gm4_ml_source,dx=0,limit=1] Item.components."minecraft:custom_data".gm4_metallurgy.ore_type
-scoreboard players reset has_modern_nbt_version gm4_ml_data
+# @s = item being crushed by a piston that has a shamir
+# run from smooshing/remove_band/check
-execute if items entity @s contents *[custom_data~{gm4_metallurgy:{metal:{type:"aluminium"}}}] run loot spawn ~ ~ ~ loot gm4_metallurgy:aluminium_band
-execute if items entity @s contents *[custom_data~{gm4_metallurgy:{metal:{type:"barimium"}}}] run loot spawn ~ ~ ~ loot gm4_metallurgy:barimium_band
-execute if items entity @s contents *[custom_data~{gm4_metallurgy:{metal:{type:"barium"}}}] run loot spawn ~ ~ ~ loot gm4_metallurgy:barium_band
-execute if items entity @s contents *[custom_data~{gm4_metallurgy:{metal:{type:"bismuth"}}}] run loot spawn ~ ~ ~ loot gm4_metallurgy:bismuth_band
-execute if items entity @s contents *[custom_data~{gm4_metallurgy:{metal:{type:"copper"}}}] run loot spawn ~ ~ ~ loot gm4_metallurgy:bismuth_band
-execute if items entity @s contents *[custom_data~{gm4_metallurgy:{metal:{type:"curies_bismium"}}}] run loot spawn ~ ~ ~ loot gm4_metallurgy:curies_bismium_band
-execute if items entity @s contents *[custom_data~{gm4_metallurgy:{metal:{type:"thorium_brass"}}}] run loot spawn ~ ~ ~ loot gm4_metallurgy:curies_bismium_band
-execute if items entity @s contents *[custom_data~{gm4_metallurgy:{metal:{type:"thorium"}}}] run loot spawn ~ ~ ~ loot gm4_metallurgy:thorium_band
-
-execute as @e[type=item,tag=!gm4_ml_smooshed,distance=0,limit=1] run function gm4_metallurgy:smooshing/remove_band/finish_item
-
-scoreboard players set valid_obsidian gm4_ml_data 1
-
-kill @s[type=item]
+function gm4_metallurgy:smooshing/remove_band/spawn_band with entity @s Item.components."minecraft:custom_data".gm4_metallurgy
# use anvil durability
function gm4_metallurgy:smooshing/anvil/use
diff --git a/gm4_metallurgy/data/gm4_metallurgy/function/smooshing/remove_band/spawn_band.mcfunction b/gm4_metallurgy/data/gm4_metallurgy/function/smooshing/remove_band/spawn_band.mcfunction
new file mode 100644
index 0000000000..0a9af05604
--- /dev/null
+++ b/gm4_metallurgy/data/gm4_metallurgy/function/smooshing/remove_band/spawn_band.mcfunction
@@ -0,0 +1,5 @@
+$execute store result score $valid_obsidian gm4_ml_data run loot spawn ~ ~ ~ loot gm4_$(active_shamir)_shamir:band
+
+tag @n[type=item,nbt={Age:0s}] add gm4_ml_smooshed
+
+kill @e[type=item,dx=0,predicate=gm4_metallurgy:is_obsidian,limit=1]
diff --git a/gm4_metallurgy/data/gm4_metallurgy/loot_table/aluminium_band.json b/gm4_metallurgy/data/gm4_metallurgy/loot_table/aluminium_band.json
index b4466c234a..811e7a9d59 100644
--- a/gm4_metallurgy/data/gm4_metallurgy/loot_table/aluminium_band.json
+++ b/gm4_metallurgy/data/gm4_metallurgy/loot_table/aluminium_band.json
@@ -40,12 +40,6 @@
],
"italic": false,
"color": "#F47989"
- },
- {
- "translate": "item.gm4.metallurgy.shamir",
- "fallback": "Shamir",
- "italic": false,
- "color": "aqua"
}
]
}
diff --git a/gm4_metallurgy/data/gm4_metallurgy/loot_table/barimium_band.json b/gm4_metallurgy/data/gm4_metallurgy/loot_table/barimium_band.json
index caef3b6e7e..2658c100c7 100644
--- a/gm4_metallurgy/data/gm4_metallurgy/loot_table/barimium_band.json
+++ b/gm4_metallurgy/data/gm4_metallurgy/loot_table/barimium_band.json
@@ -40,12 +40,6 @@
],
"italic": false,
"color": "#D18A8A"
- },
- {
- "translate": "item.gm4.metallurgy.shamir",
- "fallback": "Shamir",
- "italic": false,
- "color": "aqua"
}
]
}
diff --git a/gm4_metallurgy/data/gm4_metallurgy/loot_table/barium_band.json b/gm4_metallurgy/data/gm4_metallurgy/loot_table/barium_band.json
index 3a9e2edfda..1d23678cb5 100644
--- a/gm4_metallurgy/data/gm4_metallurgy/loot_table/barium_band.json
+++ b/gm4_metallurgy/data/gm4_metallurgy/loot_table/barium_band.json
@@ -40,12 +40,6 @@
],
"italic": false,
"color": "#F0EAD6"
- },
- {
- "translate": "item.gm4.metallurgy.shamir",
- "fallback": "Shamir",
- "italic": false,
- "color": "aqua"
}
]
}
diff --git a/gm4_metallurgy/data/gm4_metallurgy/loot_table/bismuth_band.json b/gm4_metallurgy/data/gm4_metallurgy/loot_table/bismuth_band.json
index 7d114518d4..dd5f2f602f 100644
--- a/gm4_metallurgy/data/gm4_metallurgy/loot_table/bismuth_band.json
+++ b/gm4_metallurgy/data/gm4_metallurgy/loot_table/bismuth_band.json
@@ -72,13 +72,7 @@
"italic": false,
"color": "#D579F5"
}
- ],
- {
- "translate": "item.gm4.metallurgy.shamir",
- "fallback": "Shamir",
- "italic": false,
- "color": "aqua"
- }
+ ]
]
}
]
diff --git a/gm4_metallurgy/data/gm4_metallurgy/loot_table/copper_band.json b/gm4_metallurgy/data/gm4_metallurgy/loot_table/copper_band.json
index 3728cab07b..51518e6b2e 100644
--- a/gm4_metallurgy/data/gm4_metallurgy/loot_table/copper_band.json
+++ b/gm4_metallurgy/data/gm4_metallurgy/loot_table/copper_band.json
@@ -40,12 +40,6 @@
],
"italic": false,
"color": "gold"
- },
- {
- "translate": "item.gm4.metallurgy.shamir",
- "fallback": "Shamir",
- "italic": false,
- "color": "aqua"
}
]
}
diff --git a/gm4_metallurgy/data/gm4_metallurgy/loot_table/curies_bismium_band.json b/gm4_metallurgy/data/gm4_metallurgy/loot_table/curies_bismium_band.json
index d517204d16..efe7dedea5 100644
--- a/gm4_metallurgy/data/gm4_metallurgy/loot_table/curies_bismium_band.json
+++ b/gm4_metallurgy/data/gm4_metallurgy/loot_table/curies_bismium_band.json
@@ -40,12 +40,6 @@
],
"italic": false,
"color": "#467A1B"
- },
- {
- "translate": "item.gm4.metallurgy.shamir",
- "fallback": "Shamir",
- "italic": false,
- "color": "aqua"
}
]
}
diff --git a/gm4_metallurgy/data/gm4_metallurgy/loot_table/thorium_band.json b/gm4_metallurgy/data/gm4_metallurgy/loot_table/thorium_band.json
index 391161fcde..3679f6a46a 100644
--- a/gm4_metallurgy/data/gm4_metallurgy/loot_table/thorium_band.json
+++ b/gm4_metallurgy/data/gm4_metallurgy/loot_table/thorium_band.json
@@ -40,12 +40,6 @@
],
"italic": false,
"color": "#767676"
- },
- {
- "translate": "item.gm4.metallurgy.shamir",
- "fallback": "Shamir",
- "italic": false,
- "color": "aqua"
}
]
}
diff --git a/gm4_metallurgy/data/gm4_metallurgy/loot_table/thorium_brass_band.json b/gm4_metallurgy/data/gm4_metallurgy/loot_table/thorium_brass_band.json
index 858cfc6c30..76f87225ca 100644
--- a/gm4_metallurgy/data/gm4_metallurgy/loot_table/thorium_brass_band.json
+++ b/gm4_metallurgy/data/gm4_metallurgy/loot_table/thorium_brass_band.json
@@ -40,12 +40,6 @@
],
"italic": false,
"color": "dark_green"
- },
- {
- "translate": "item.gm4.metallurgy.shamir",
- "fallback": "Shamir",
- "italic": false,
- "color": "aqua"
}
]
}
diff --git a/gm4_metallurgy/data/gm4_moneo_shamir/function/active_armor_chest.mcfunction b/gm4_metallurgy/data/gm4_moneo_shamir/function/active_armor_chest.mcfunction
index 56f3792c13..a21d72972e 100644
--- a/gm4_metallurgy/data/gm4_moneo_shamir/function/active_armor_chest.mcfunction
+++ b/gm4_metallurgy/data/gm4_moneo_shamir/function/active_armor_chest.mcfunction
@@ -4,7 +4,7 @@
scoreboard players set $tool_current_damage gm4_ml_data 0
scoreboard players set $tool_max_damage gm4_ml_data 0
-execute store result score $tool_current_damage gm4_ml_data run data get entity @s Inventory[{Slot:102b}].components."minecraft:damage"
-execute store result score $tool_max_damage gm4_ml_data run data get entity @s Inventory[{Slot:102b}].components."minecraft:custom_data".MaxDurability
+execute store result score $tool_current_damage gm4_ml_data run data get entity @s equipment.chest.components."minecraft:damage"
+execute store result score $tool_max_damage gm4_ml_data run data get entity @s equipment.chest.components."minecraft:custom_data".MaxDurability
execute if score $tool_max_damage gm4_ml_data matches 432 run function gm4_moneo_shamir:armor/elytra
diff --git a/gm4_metallurgy/data/gm4_moneo_shamir/loot_table/band.json b/gm4_metallurgy/data/gm4_moneo_shamir/loot_table/band.json
index c5ec9e3da8..fe10f565d8 100644
--- a/gm4_metallurgy/data/gm4_moneo_shamir/loot_table/band.json
+++ b/gm4_metallurgy/data/gm4_moneo_shamir/loot_table/band.json
@@ -23,7 +23,7 @@
"lore": [
{
"translate": "item.gm4.shamir.moneo",
- "fallback": "Moneo",
+ "fallback": "Moneo Shamir",
"italic": false,
"color": "gray"
}
diff --git a/gm4_metallurgy/data/gm4_musical_shamir/loot_table/band.json b/gm4_metallurgy/data/gm4_musical_shamir/loot_table/band.json
index 7ec5b60d48..1cc531328c 100644
--- a/gm4_metallurgy/data/gm4_musical_shamir/loot_table/band.json
+++ b/gm4_metallurgy/data/gm4_musical_shamir/loot_table/band.json
@@ -23,7 +23,7 @@
"lore": [
{
"translate": "item.gm4.shamir.musical",
- "fallback": "Musical",
+ "fallback": "Musical Shamir",
"italic": false,
"color": "gray"
}
diff --git a/gm4_metallurgy/data/gm4_sensus_shamir/loot_table/band.json b/gm4_metallurgy/data/gm4_sensus_shamir/loot_table/band.json
index 96c72b4836..50fc9713a7 100644
--- a/gm4_metallurgy/data/gm4_sensus_shamir/loot_table/band.json
+++ b/gm4_metallurgy/data/gm4_sensus_shamir/loot_table/band.json
@@ -23,7 +23,7 @@
"lore": [
{
"translate": "item.gm4.shamir.sensus",
- "fallback": "Sensus",
+ "fallback": "Sensus Shamir",
"italic": false,
"color": "gray"
}
diff --git a/gm4_metallurgy/data/gm4_tinker_shamir/function/active.mcfunction b/gm4_metallurgy/data/gm4_tinker_shamir/function/active.mcfunction
index da8c5abcac..da2491a368 100644
--- a/gm4_metallurgy/data/gm4_tinker_shamir/function/active.mcfunction
+++ b/gm4_metallurgy/data/gm4_tinker_shamir/function/active.mcfunction
@@ -4,9 +4,9 @@
scoreboard players set $success gm4_ml_data 0
-execute if entity @s[predicate=gm4_tinker_shamir:holding_shovel] run function gm4_tinker_shamir:tool/shovel
-execute unless score $success gm4_ml_data matches 1.. if entity @s[predicate=gm4_tinker_shamir:holding_pickaxe] run function gm4_tinker_shamir:tool/pickaxe
-execute unless score $success gm4_ml_data matches 1.. if entity @s[predicate=gm4_tinker_shamir:holding_sword] run function gm4_tinker_shamir:tool/sword
-execute unless score $success gm4_ml_data matches 1.. if entity @s[predicate=gm4_tinker_shamir:holding_hoe] run function gm4_tinker_shamir:tool/hoe
+execute if score $success gm4_ml_data matches 0 if items entity @s weapon.mainhand #minecraft:shovels run function gm4_tinker_shamir:tool/shovel
+execute if score $success gm4_ml_data matches 0 if items entity @s weapon.mainhand #minecraft:pickaxes run function gm4_tinker_shamir:tool/pickaxe
+execute if score $success gm4_ml_data matches 0 if items entity @s weapon.mainhand #minecraft:swords run function gm4_tinker_shamir:tool/sword
+execute if score $success gm4_ml_data matches 0 if items entity @s weapon.mainhand #minecraft:hoes run function gm4_tinker_shamir:tool/hoe
scoreboard players reset $success gm4_ml_data
diff --git a/gm4_metallurgy/data/gm4_tinker_shamir/function/tool/hoe.mcfunction b/gm4_metallurgy/data/gm4_tinker_shamir/function/tool/hoe.mcfunction
index a15921fa0c..626e85c76a 100644
--- a/gm4_metallurgy/data/gm4_tinker_shamir/function/tool/hoe.mcfunction
+++ b/gm4_metallurgy/data/gm4_tinker_shamir/function/tool/hoe.mcfunction
@@ -2,12 +2,6 @@
# at @s
# run from gm4_tinker_shamir:active
-# pull inventory into storage
-data modify storage gm4_tinker_shamir:temp/player/inventory Inventory set from entity @s Inventory
-
# check for compacting operations
-execute if data storage gm4_tinker_shamir:temp/player/inventory Inventory[{id:"minecraft:melon_slice",count:64}] run function gm4_tinker_shamir:compact/melon_slice
-execute unless score $success gm4_ml_data matches 1.. if data storage gm4_tinker_shamir:temp/player/inventory Inventory[{id:"minecraft:wheat",count:64}] run function gm4_tinker_shamir:compact/wheat
-
-# clear storage
-data remove storage gm4_tinker_shamir:temp/player/inventory Inventory
+execute if score $success gm4_ml_data matches 0 if predicate gm4_tinker_shamir:has_full_stack/melon_slice run function gm4_tinker_shamir:compact/melon_slice
+execute if score $success gm4_ml_data matches 0 if predicate gm4_tinker_shamir:has_full_stack/wheat run function gm4_tinker_shamir:compact/wheat
diff --git a/gm4_metallurgy/data/gm4_tinker_shamir/function/tool/pickaxe.mcfunction b/gm4_metallurgy/data/gm4_tinker_shamir/function/tool/pickaxe.mcfunction
index 5c5efd4862..393d08a01a 100644
--- a/gm4_metallurgy/data/gm4_tinker_shamir/function/tool/pickaxe.mcfunction
+++ b/gm4_metallurgy/data/gm4_tinker_shamir/function/tool/pickaxe.mcfunction
@@ -2,24 +2,18 @@
# at @s
# run from gm4_tinker_shamir:active
-# pull inventory into storage
-data modify storage gm4_tinker_shamir:temp/player/inventory Inventory set from entity @s Inventory
-
# check for compacting operations
-execute if data storage gm4_tinker_shamir:temp/player/inventory Inventory[{id:"minecraft:netherite_ingot",count:64}] run function gm4_tinker_shamir:compact/netherite_ingot
-execute unless score $success gm4_ml_data matches 1.. if data storage gm4_tinker_shamir:temp/player/inventory Inventory[{id:"minecraft:emerald",count:64}] run function gm4_tinker_shamir:compact/emerald
-execute unless score $success gm4_ml_data matches 1.. if data storage gm4_tinker_shamir:temp/player/inventory Inventory[{id:"minecraft:diamond",count:64}] run function gm4_tinker_shamir:compact/diamond
-execute unless score $success gm4_ml_data matches 1.. if data storage gm4_tinker_shamir:temp/player/inventory Inventory[{id:"minecraft:redstone",count:64}] run function gm4_tinker_shamir:compact/redstone
-execute unless score $success gm4_ml_data matches 1.. if data storage gm4_tinker_shamir:temp/player/inventory Inventory[{id:"minecraft:coal",count:64}] run function gm4_tinker_shamir:compact/coal
-execute unless score $success gm4_ml_data matches 1.. if data storage gm4_tinker_shamir:temp/player/inventory Inventory[{id:"minecraft:lapis_lazuli",count:64}] run function gm4_tinker_shamir:compact/lapis_lazuli
-execute unless score $success gm4_ml_data matches 1.. if data storage gm4_tinker_shamir:temp/player/inventory Inventory[{id:"minecraft:iron_ingot",count:64}] run function gm4_tinker_shamir:compact/iron_ingot
-execute unless score $success gm4_ml_data matches 1.. if data storage gm4_tinker_shamir:temp/player/inventory Inventory[{id:"minecraft:gold_ingot",count:64}] run function gm4_tinker_shamir:compact/gold_ingot
-execute unless score $success gm4_ml_data matches 1.. if data storage gm4_tinker_shamir:temp/player/inventory Inventory[{id:"minecraft:iron_nugget",count:64}] run function gm4_tinker_shamir:compact/iron_nugget
-execute unless score $success gm4_ml_data matches 1.. if data storage gm4_tinker_shamir:temp/player/inventory Inventory[{id:"minecraft:gold_nugget",count:64}] run function gm4_tinker_shamir:compact/gold_nugget
-execute unless score $success gm4_ml_data matches 1.. if data storage gm4_tinker_shamir:temp/player/inventory Inventory[{id:"minecraft:copper_ingot",count:64}] run function gm4_tinker_shamir:compact/copper_ingot
-execute unless score $success gm4_ml_data matches 1.. if data storage gm4_tinker_shamir:temp/player/inventory Inventory[{id:"minecraft:raw_iron",count:64}] run function gm4_tinker_shamir:compact/raw_iron
-execute unless score $success gm4_ml_data matches 1.. if data storage gm4_tinker_shamir:temp/player/inventory Inventory[{id:"minecraft:raw_gold",count:64}] run function gm4_tinker_shamir:compact/raw_gold
-execute unless score $success gm4_ml_data matches 1.. if data storage gm4_tinker_shamir:temp/player/inventory Inventory[{id:"minecraft:raw_copper",count:64}] run function gm4_tinker_shamir:compact/raw_copper
-
-# clear storage
-data remove storage gm4_tinker_shamir:temp/player/inventory Inventory
+execute if score $success gm4_ml_data matches 0 if predicate gm4_tinker_shamir:has_full_stack/netherite_ingot run function gm4_tinker_shamir:compact/netherite_ingot
+execute if score $success gm4_ml_data matches 0 if predicate gm4_tinker_shamir:has_full_stack/emerald run function gm4_tinker_shamir:compact/emerald
+execute if score $success gm4_ml_data matches 0 if predicate gm4_tinker_shamir:has_full_stack/diamond run function gm4_tinker_shamir:compact/diamond
+execute if score $success gm4_ml_data matches 0 if predicate gm4_tinker_shamir:has_full_stack/redstone run function gm4_tinker_shamir:compact/redstone
+execute if score $success gm4_ml_data matches 0 if predicate gm4_tinker_shamir:has_full_stack/coal run function gm4_tinker_shamir:compact/coal
+execute if score $success gm4_ml_data matches 0 if predicate gm4_tinker_shamir:has_full_stack/lapis_lazuli run function gm4_tinker_shamir:compact/lapis_lazuli
+execute if score $success gm4_ml_data matches 0 if predicate gm4_tinker_shamir:has_full_stack/iron_ingot run function gm4_tinker_shamir:compact/iron_ingot
+execute if score $success gm4_ml_data matches 0 if predicate gm4_tinker_shamir:has_full_stack/gold_ingot run function gm4_tinker_shamir:compact/gold_ingot
+execute if score $success gm4_ml_data matches 0 if predicate gm4_tinker_shamir:has_full_stack/iron_nugget run function gm4_tinker_shamir:compact/iron_nugget
+execute if score $success gm4_ml_data matches 0 if predicate gm4_tinker_shamir:has_full_stack/gold_nugget run function gm4_tinker_shamir:compact/gold_nugget
+execute if score $success gm4_ml_data matches 0 if predicate gm4_tinker_shamir:has_full_stack/copper_ingot run function gm4_tinker_shamir:compact/copper_ingot
+execute if score $success gm4_ml_data matches 0 if predicate gm4_tinker_shamir:has_full_stack/raw_iron run function gm4_tinker_shamir:compact/raw_iron
+execute if score $success gm4_ml_data matches 0 if predicate gm4_tinker_shamir:has_full_stack/raw_gold run function gm4_tinker_shamir:compact/raw_gold
+execute if score $success gm4_ml_data matches 0 if predicate gm4_tinker_shamir:has_full_stack/raw_copper run function gm4_tinker_shamir:compact/raw_copper
diff --git a/gm4_metallurgy/data/gm4_tinker_shamir/function/tool/shovel.mcfunction b/gm4_metallurgy/data/gm4_tinker_shamir/function/tool/shovel.mcfunction
index 674873b1cb..06920464f6 100644
--- a/gm4_metallurgy/data/gm4_tinker_shamir/function/tool/shovel.mcfunction
+++ b/gm4_metallurgy/data/gm4_tinker_shamir/function/tool/shovel.mcfunction
@@ -2,12 +2,6 @@
# at @s
# run from gm4_tinker_shamir:active
-# pull inventory into storage
-data modify storage gm4_tinker_shamir:temp/player/inventory Inventory set from entity @s Inventory
-
# check for compacting operations
-execute if data storage gm4_tinker_shamir:temp/player/inventory Inventory[{id:"minecraft:snowball",count:16}] run function gm4_tinker_shamir:compact/snowball
-execute unless score $success gm4_ml_data matches 1.. if data storage gm4_tinker_shamir:temp/player/inventory Inventory[{id:"minecraft:clay_ball",count:64}] run function gm4_tinker_shamir:compact/clay_ball
-
-# clear storage
-data remove storage gm4_tinker_shamir:temp/player/inventory Inventory
+execute if score $success gm4_ml_data matches 0 if predicate gm4_tinker_shamir:has_full_stack/snowball run function gm4_tinker_shamir:compact/snowball
+execute if score $success gm4_ml_data matches 0 if predicate gm4_tinker_shamir:has_full_stack/clay_ball run function gm4_tinker_shamir:compact/clay_ball
diff --git a/gm4_metallurgy/data/gm4_tinker_shamir/function/tool/sword.mcfunction b/gm4_metallurgy/data/gm4_tinker_shamir/function/tool/sword.mcfunction
index 16b2eb888f..08fc42dc41 100644
--- a/gm4_metallurgy/data/gm4_tinker_shamir/function/tool/sword.mcfunction
+++ b/gm4_metallurgy/data/gm4_tinker_shamir/function/tool/sword.mcfunction
@@ -2,12 +2,5 @@
# at @s
# run from gm4_tinker_shamir:active
-# pull inventory into storage
-# this is technically slightly more laggy in this case, but more cases might be added in the future
-data modify storage gm4_tinker_shamir:temp/player/inventory Inventory set from entity @s Inventory
-
# check for compacting operations
-execute if data storage gm4_tinker_shamir:temp/player/inventory Inventory[{id:"minecraft:slime_ball",count:64}] run function gm4_tinker_shamir:compact/slime_ball
-
-# clear storage
-data remove storage gm4_tinker_shamir:temp/player/inventory Inventory
+execute if score $success gm4_ml_data matches 0 if predicate gm4_tinker_shamir:has_full_stack/slime_ball run function gm4_tinker_shamir:compact/slime_ball
diff --git a/gm4_metallurgy/data/gm4_tinker_shamir/loot_table/band.json b/gm4_metallurgy/data/gm4_tinker_shamir/loot_table/band.json
index 48614dff23..1dde91865c 100644
--- a/gm4_metallurgy/data/gm4_tinker_shamir/loot_table/band.json
+++ b/gm4_metallurgy/data/gm4_tinker_shamir/loot_table/band.json
@@ -23,7 +23,7 @@
"lore": [
{
"translate": "item.gm4.shamir.tinker",
- "fallback": "Tinker",
+ "fallback": "Tinker Shamir",
"italic": false,
"color": "gray"
}
diff --git a/gm4_metallurgy/data/gm4_tinker_shamir/predicate/has_full_stack/clay_ball.json b/gm4_metallurgy/data/gm4_tinker_shamir/predicate/has_full_stack/clay_ball.json
new file mode 100644
index 0000000000..fcdbd7d6bf
--- /dev/null
+++ b/gm4_metallurgy/data/gm4_tinker_shamir/predicate/has_full_stack/clay_ball.json
@@ -0,0 +1,41 @@
+{
+ "condition": "minecraft:any_of",
+ "terms": [
+ {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "slots": {
+ "container.*": {
+ "items": "minecraft:clay_ball",
+ "count": 64
+ }
+ }
+ }
+ },
+ {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "slots": {
+ "armor.*": {
+ "items": "minecraft:clay_ball",
+ "count": 64
+ }
+ }
+ }
+ },
+ {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "slots": {
+ "weapon.offhand": {
+ "items": "minecraft:clay_ball",
+ "count": 64
+ }
+ }
+ }
+ }
+ ]
+}
diff --git a/gm4_metallurgy/data/gm4_tinker_shamir/predicate/has_full_stack/coal.json b/gm4_metallurgy/data/gm4_tinker_shamir/predicate/has_full_stack/coal.json
new file mode 100644
index 0000000000..e4d6539b97
--- /dev/null
+++ b/gm4_metallurgy/data/gm4_tinker_shamir/predicate/has_full_stack/coal.json
@@ -0,0 +1,41 @@
+{
+ "condition": "minecraft:any_of",
+ "terms": [
+ {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "slots": {
+ "container.*": {
+ "items": "minecraft:coal",
+ "count": 64
+ }
+ }
+ }
+ },
+ {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "slots": {
+ "armor.*": {
+ "items": "minecraft:coal",
+ "count": 64
+ }
+ }
+ }
+ },
+ {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "slots": {
+ "weapon.offhand": {
+ "items": "minecraft:coal",
+ "count": 64
+ }
+ }
+ }
+ }
+ ]
+}
diff --git a/gm4_metallurgy/data/gm4_tinker_shamir/predicate/has_full_stack/copper_ingot.json b/gm4_metallurgy/data/gm4_tinker_shamir/predicate/has_full_stack/copper_ingot.json
new file mode 100644
index 0000000000..933c26bcd5
--- /dev/null
+++ b/gm4_metallurgy/data/gm4_tinker_shamir/predicate/has_full_stack/copper_ingot.json
@@ -0,0 +1,41 @@
+{
+ "condition": "minecraft:any_of",
+ "terms": [
+ {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "slots": {
+ "container.*": {
+ "items": "minecraft:copper_ingot",
+ "count": 64
+ }
+ }
+ }
+ },
+ {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "slots": {
+ "armor.*": {
+ "items": "minecraft:copper_ingot",
+ "count": 64
+ }
+ }
+ }
+ },
+ {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "slots": {
+ "weapon.offhand": {
+ "items": "minecraft:copper_ingot",
+ "count": 64
+ }
+ }
+ }
+ }
+ ]
+}
diff --git a/gm4_metallurgy/data/gm4_tinker_shamir/predicate/has_full_stack/diamond.json b/gm4_metallurgy/data/gm4_tinker_shamir/predicate/has_full_stack/diamond.json
new file mode 100644
index 0000000000..52607dc47a
--- /dev/null
+++ b/gm4_metallurgy/data/gm4_tinker_shamir/predicate/has_full_stack/diamond.json
@@ -0,0 +1,41 @@
+{
+ "condition": "minecraft:any_of",
+ "terms": [
+ {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "slots": {
+ "container.*": {
+ "items": "minecraft:diamond",
+ "count": 64
+ }
+ }
+ }
+ },
+ {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "slots": {
+ "armor.*": {
+ "items": "minecraft:diamond",
+ "count": 64
+ }
+ }
+ }
+ },
+ {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "slots": {
+ "weapon.offhand": {
+ "items": "minecraft:diamond",
+ "count": 64
+ }
+ }
+ }
+ }
+ ]
+}
diff --git a/gm4_metallurgy/data/gm4_tinker_shamir/predicate/has_full_stack/emerald.json b/gm4_metallurgy/data/gm4_tinker_shamir/predicate/has_full_stack/emerald.json
new file mode 100644
index 0000000000..b1b26ba0b6
--- /dev/null
+++ b/gm4_metallurgy/data/gm4_tinker_shamir/predicate/has_full_stack/emerald.json
@@ -0,0 +1,41 @@
+{
+ "condition": "minecraft:any_of",
+ "terms": [
+ {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "slots": {
+ "container.*": {
+ "items": "minecraft:emerald",
+ "count": 64
+ }
+ }
+ }
+ },
+ {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "slots": {
+ "armor.*": {
+ "items": "minecraft:emerald",
+ "count": 64
+ }
+ }
+ }
+ },
+ {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "slots": {
+ "weapon.offhand": {
+ "items": "minecraft:emerald",
+ "count": 64
+ }
+ }
+ }
+ }
+ ]
+}
diff --git a/gm4_metallurgy/data/gm4_tinker_shamir/predicate/has_full_stack/gold_ingot.json b/gm4_metallurgy/data/gm4_tinker_shamir/predicate/has_full_stack/gold_ingot.json
new file mode 100644
index 0000000000..ce8cfe9a4f
--- /dev/null
+++ b/gm4_metallurgy/data/gm4_tinker_shamir/predicate/has_full_stack/gold_ingot.json
@@ -0,0 +1,41 @@
+{
+ "condition": "minecraft:any_of",
+ "terms": [
+ {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "slots": {
+ "container.*": {
+ "items": "minecraft:gold_ingot",
+ "count": 64
+ }
+ }
+ }
+ },
+ {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "slots": {
+ "armor.*": {
+ "items": "minecraft:gold_ingot",
+ "count": 64
+ }
+ }
+ }
+ },
+ {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "slots": {
+ "weapon.offhand": {
+ "items": "minecraft:gold_ingot",
+ "count": 64
+ }
+ }
+ }
+ }
+ ]
+}
diff --git a/gm4_metallurgy/data/gm4_tinker_shamir/predicate/has_full_stack/gold_nugget.json b/gm4_metallurgy/data/gm4_tinker_shamir/predicate/has_full_stack/gold_nugget.json
new file mode 100644
index 0000000000..edbca56361
--- /dev/null
+++ b/gm4_metallurgy/data/gm4_tinker_shamir/predicate/has_full_stack/gold_nugget.json
@@ -0,0 +1,41 @@
+{
+ "condition": "minecraft:any_of",
+ "terms": [
+ {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "slots": {
+ "container.*": {
+ "items": "minecraft:gold_nugget",
+ "count": 64
+ }
+ }
+ }
+ },
+ {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "slots": {
+ "armor.*": {
+ "items": "minecraft:gold_nugget",
+ "count": 64
+ }
+ }
+ }
+ },
+ {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "slots": {
+ "weapon.offhand": {
+ "items": "minecraft:gold_nugget",
+ "count": 64
+ }
+ }
+ }
+ }
+ ]
+}
diff --git a/gm4_metallurgy/data/gm4_tinker_shamir/predicate/has_full_stack/iron_ingot.json b/gm4_metallurgy/data/gm4_tinker_shamir/predicate/has_full_stack/iron_ingot.json
new file mode 100644
index 0000000000..58b4b4f526
--- /dev/null
+++ b/gm4_metallurgy/data/gm4_tinker_shamir/predicate/has_full_stack/iron_ingot.json
@@ -0,0 +1,41 @@
+{
+ "condition": "minecraft:any_of",
+ "terms": [
+ {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "slots": {
+ "container.*": {
+ "items": "minecraft:iron_ingot",
+ "count": 64
+ }
+ }
+ }
+ },
+ {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "slots": {
+ "armor.*": {
+ "items": "minecraft:iron_ingot",
+ "count": 64
+ }
+ }
+ }
+ },
+ {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "slots": {
+ "weapon.offhand": {
+ "items": "minecraft:iron_ingot",
+ "count": 64
+ }
+ }
+ }
+ }
+ ]
+}
diff --git a/gm4_metallurgy/data/gm4_tinker_shamir/predicate/has_full_stack/iron_nugget.json b/gm4_metallurgy/data/gm4_tinker_shamir/predicate/has_full_stack/iron_nugget.json
new file mode 100644
index 0000000000..57c88d04bd
--- /dev/null
+++ b/gm4_metallurgy/data/gm4_tinker_shamir/predicate/has_full_stack/iron_nugget.json
@@ -0,0 +1,41 @@
+{
+ "condition": "minecraft:any_of",
+ "terms": [
+ {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "slots": {
+ "container.*": {
+ "items": "minecraft:iron_nugget",
+ "count": 64
+ }
+ }
+ }
+ },
+ {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "slots": {
+ "armor.*": {
+ "items": "minecraft:iron_nugget",
+ "count": 64
+ }
+ }
+ }
+ },
+ {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "slots": {
+ "weapon.offhand": {
+ "items": "minecraft:iron_nugget",
+ "count": 64
+ }
+ }
+ }
+ }
+ ]
+}
diff --git a/gm4_metallurgy/data/gm4_tinker_shamir/predicate/has_full_stack/lapis_lazuli.json b/gm4_metallurgy/data/gm4_tinker_shamir/predicate/has_full_stack/lapis_lazuli.json
new file mode 100644
index 0000000000..1e0c836b8c
--- /dev/null
+++ b/gm4_metallurgy/data/gm4_tinker_shamir/predicate/has_full_stack/lapis_lazuli.json
@@ -0,0 +1,41 @@
+{
+ "condition": "minecraft:any_of",
+ "terms": [
+ {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "slots": {
+ "container.*": {
+ "items": "minecraft:lapis_lazuli",
+ "count": 64
+ }
+ }
+ }
+ },
+ {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "slots": {
+ "armor.*": {
+ "items": "minecraft:lapis_lazuli",
+ "count": 64
+ }
+ }
+ }
+ },
+ {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "slots": {
+ "weapon.offhand": {
+ "items": "minecraft:lapis_lazuli",
+ "count": 64
+ }
+ }
+ }
+ }
+ ]
+}
diff --git a/gm4_metallurgy/data/gm4_tinker_shamir/predicate/has_full_stack/melon_slice.json b/gm4_metallurgy/data/gm4_tinker_shamir/predicate/has_full_stack/melon_slice.json
new file mode 100644
index 0000000000..37eafd9bed
--- /dev/null
+++ b/gm4_metallurgy/data/gm4_tinker_shamir/predicate/has_full_stack/melon_slice.json
@@ -0,0 +1,41 @@
+{
+ "condition": "minecraft:any_of",
+ "terms": [
+ {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "slots": {
+ "container.*": {
+ "items": "minecraft:melon_slice",
+ "count": 64
+ }
+ }
+ }
+ },
+ {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "slots": {
+ "armor.*": {
+ "items": "minecraft:melon_slice",
+ "count": 64
+ }
+ }
+ }
+ },
+ {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "slots": {
+ "weapon.offhand": {
+ "items": "minecraft:melon_slice",
+ "count": 64
+ }
+ }
+ }
+ }
+ ]
+}
diff --git a/gm4_metallurgy/data/gm4_tinker_shamir/predicate/has_full_stack/netherite_ingot.json b/gm4_metallurgy/data/gm4_tinker_shamir/predicate/has_full_stack/netherite_ingot.json
new file mode 100644
index 0000000000..921dd099af
--- /dev/null
+++ b/gm4_metallurgy/data/gm4_tinker_shamir/predicate/has_full_stack/netherite_ingot.json
@@ -0,0 +1,41 @@
+{
+ "condition": "minecraft:any_of",
+ "terms": [
+ {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "slots": {
+ "container.*": {
+ "items": "minecraft:netherite_ingot",
+ "count": 64
+ }
+ }
+ }
+ },
+ {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "slots": {
+ "armor.*": {
+ "items": "minecraft:netherite_ingot",
+ "count": 64
+ }
+ }
+ }
+ },
+ {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "slots": {
+ "weapon.offhand": {
+ "items": "minecraft:netherite_ingot",
+ "count": 64
+ }
+ }
+ }
+ }
+ ]
+}
diff --git a/gm4_metallurgy/data/gm4_tinker_shamir/predicate/has_full_stack/raw_copper.json b/gm4_metallurgy/data/gm4_tinker_shamir/predicate/has_full_stack/raw_copper.json
new file mode 100644
index 0000000000..9b169f7758
--- /dev/null
+++ b/gm4_metallurgy/data/gm4_tinker_shamir/predicate/has_full_stack/raw_copper.json
@@ -0,0 +1,41 @@
+{
+ "condition": "minecraft:any_of",
+ "terms": [
+ {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "slots": {
+ "container.*": {
+ "items": "minecraft:raw_copper",
+ "count": 64
+ }
+ }
+ }
+ },
+ {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "slots": {
+ "armor.*": {
+ "items": "minecraft:raw_copper",
+ "count": 64
+ }
+ }
+ }
+ },
+ {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "slots": {
+ "weapon.offhand": {
+ "items": "minecraft:raw_copper",
+ "count": 64
+ }
+ }
+ }
+ }
+ ]
+}
diff --git a/gm4_metallurgy/data/gm4_tinker_shamir/predicate/has_full_stack/raw_gold.json b/gm4_metallurgy/data/gm4_tinker_shamir/predicate/has_full_stack/raw_gold.json
new file mode 100644
index 0000000000..a18546d68d
--- /dev/null
+++ b/gm4_metallurgy/data/gm4_tinker_shamir/predicate/has_full_stack/raw_gold.json
@@ -0,0 +1,41 @@
+{
+ "condition": "minecraft:any_of",
+ "terms": [
+ {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "slots": {
+ "container.*": {
+ "items": "minecraft:raw_gold",
+ "count": 64
+ }
+ }
+ }
+ },
+ {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "slots": {
+ "armor.*": {
+ "items": "minecraft:raw_gold",
+ "count": 64
+ }
+ }
+ }
+ },
+ {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "slots": {
+ "weapon.offhand": {
+ "items": "minecraft:raw_gold",
+ "count": 64
+ }
+ }
+ }
+ }
+ ]
+}
diff --git a/gm4_metallurgy/data/gm4_tinker_shamir/predicate/has_full_stack/raw_iron.json b/gm4_metallurgy/data/gm4_tinker_shamir/predicate/has_full_stack/raw_iron.json
new file mode 100644
index 0000000000..693e99d3c0
--- /dev/null
+++ b/gm4_metallurgy/data/gm4_tinker_shamir/predicate/has_full_stack/raw_iron.json
@@ -0,0 +1,41 @@
+{
+ "condition": "minecraft:any_of",
+ "terms": [
+ {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "slots": {
+ "container.*": {
+ "items": "minecraft:raw_iron",
+ "count": 64
+ }
+ }
+ }
+ },
+ {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "slots": {
+ "armor.*": {
+ "items": "minecraft:raw_iron",
+ "count": 64
+ }
+ }
+ }
+ },
+ {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "slots": {
+ "weapon.offhand": {
+ "items": "minecraft:raw_iron",
+ "count": 64
+ }
+ }
+ }
+ }
+ ]
+}
diff --git a/gm4_metallurgy/data/gm4_tinker_shamir/predicate/has_full_stack/redstone.json b/gm4_metallurgy/data/gm4_tinker_shamir/predicate/has_full_stack/redstone.json
new file mode 100644
index 0000000000..df95e3a129
--- /dev/null
+++ b/gm4_metallurgy/data/gm4_tinker_shamir/predicate/has_full_stack/redstone.json
@@ -0,0 +1,41 @@
+{
+ "condition": "minecraft:any_of",
+ "terms": [
+ {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "slots": {
+ "container.*": {
+ "items": "minecraft:redstone",
+ "count": 64
+ }
+ }
+ }
+ },
+ {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "slots": {
+ "armor.*": {
+ "items": "minecraft:redstone",
+ "count": 64
+ }
+ }
+ }
+ },
+ {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "slots": {
+ "weapon.offhand": {
+ "items": "minecraft:redstone",
+ "count": 64
+ }
+ }
+ }
+ }
+ ]
+}
diff --git a/gm4_metallurgy/data/gm4_tinker_shamir/predicate/has_full_stack/slime_ball.json b/gm4_metallurgy/data/gm4_tinker_shamir/predicate/has_full_stack/slime_ball.json
new file mode 100644
index 0000000000..73f5da3126
--- /dev/null
+++ b/gm4_metallurgy/data/gm4_tinker_shamir/predicate/has_full_stack/slime_ball.json
@@ -0,0 +1,41 @@
+{
+ "condition": "minecraft:any_of",
+ "terms": [
+ {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "slots": {
+ "container.*": {
+ "items": "minecraft:slime_ball",
+ "count": 64
+ }
+ }
+ }
+ },
+ {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "slots": {
+ "armor.*": {
+ "items": "minecraft:slime_ball",
+ "count": 64
+ }
+ }
+ }
+ },
+ {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "slots": {
+ "weapon.offhand": {
+ "items": "minecraft:slime_ball",
+ "count": 64
+ }
+ }
+ }
+ }
+ ]
+}
diff --git a/gm4_metallurgy/data/gm4_tinker_shamir/predicate/has_full_stack/snowball.json b/gm4_metallurgy/data/gm4_tinker_shamir/predicate/has_full_stack/snowball.json
new file mode 100644
index 0000000000..b838cfd68e
--- /dev/null
+++ b/gm4_metallurgy/data/gm4_tinker_shamir/predicate/has_full_stack/snowball.json
@@ -0,0 +1,41 @@
+{
+ "condition": "minecraft:any_of",
+ "terms": [
+ {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "slots": {
+ "container.*": {
+ "items": "minecraft:snowball",
+ "count": 16
+ }
+ }
+ }
+ },
+ {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "slots": {
+ "armor.*": {
+ "items": "minecraft:snowball",
+ "count": 16
+ }
+ }
+ }
+ },
+ {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "slots": {
+ "weapon.offhand": {
+ "items": "minecraft:snowball",
+ "count": 16
+ }
+ }
+ }
+ }
+ ]
+}
diff --git a/gm4_metallurgy/data/gm4_tinker_shamir/predicate/has_full_stack/wheat.json b/gm4_metallurgy/data/gm4_tinker_shamir/predicate/has_full_stack/wheat.json
new file mode 100644
index 0000000000..b005c8f64f
--- /dev/null
+++ b/gm4_metallurgy/data/gm4_tinker_shamir/predicate/has_full_stack/wheat.json
@@ -0,0 +1,41 @@
+{
+ "condition": "minecraft:any_of",
+ "terms": [
+ {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "slots": {
+ "container.*": {
+ "items": "minecraft:wheat",
+ "count": 64
+ }
+ }
+ }
+ },
+ {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "slots": {
+ "armor.*": {
+ "items": "minecraft:wheat",
+ "count": 64
+ }
+ }
+ }
+ },
+ {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "slots": {
+ "weapon.offhand": {
+ "items": "minecraft:wheat",
+ "count": 64
+ }
+ }
+ }
+ }
+ ]
+}
diff --git a/gm4_metallurgy/data/gm4_tinker_shamir/predicate/holding_hoe.json b/gm4_metallurgy/data/gm4_tinker_shamir/predicate/holding_hoe.json
deleted file mode 100644
index dabd9d968e..0000000000
--- a/gm4_metallurgy/data/gm4_tinker_shamir/predicate/holding_hoe.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "mainhand": {
- "items": "#gm4_tinker_shamir:tinker_hoe"
- }
- }
- }
-}
diff --git a/gm4_metallurgy/data/gm4_tinker_shamir/predicate/holding_pickaxe.json b/gm4_metallurgy/data/gm4_tinker_shamir/predicate/holding_pickaxe.json
deleted file mode 100644
index f22106a6fc..0000000000
--- a/gm4_metallurgy/data/gm4_tinker_shamir/predicate/holding_pickaxe.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "mainhand": {
- "items": "#gm4_tinker_shamir:tinker_pickaxe"
- }
- }
- }
-}
diff --git a/gm4_metallurgy/data/gm4_tinker_shamir/predicate/holding_shovel.json b/gm4_metallurgy/data/gm4_tinker_shamir/predicate/holding_shovel.json
deleted file mode 100644
index 45b63711c1..0000000000
--- a/gm4_metallurgy/data/gm4_tinker_shamir/predicate/holding_shovel.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "mainhand": {
- "items": "#gm4_tinker_shamir:tinker_shovel"
- }
- }
- }
-}
diff --git a/gm4_metallurgy/data/gm4_tinker_shamir/predicate/holding_sword.json b/gm4_metallurgy/data/gm4_tinker_shamir/predicate/holding_sword.json
deleted file mode 100644
index cbb206c3f1..0000000000
--- a/gm4_metallurgy/data/gm4_tinker_shamir/predicate/holding_sword.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "equipment": {
- "mainhand": {
- "items": "#gm4_tinker_shamir:tinker_sword"
- }
- }
- }
-}
diff --git a/gm4_metallurgy/data/gm4_tinker_shamir/tags/item/tinker_hoe.json b/gm4_metallurgy/data/gm4_tinker_shamir/tags/item/tinker_hoe.json
deleted file mode 100644
index a07d0b78fd..0000000000
--- a/gm4_metallurgy/data/gm4_tinker_shamir/tags/item/tinker_hoe.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "values": [
- "minecraft:wooden_hoe",
- "minecraft:stone_hoe",
- "minecraft:iron_hoe",
- "minecraft:golden_hoe",
- "minecraft:diamond_hoe",
- "minecraft:netherite_hoe"
- ]
-}
diff --git a/gm4_metallurgy/data/gm4_tinker_shamir/tags/item/tinker_pickaxe.json b/gm4_metallurgy/data/gm4_tinker_shamir/tags/item/tinker_pickaxe.json
deleted file mode 100644
index 19b1d32db2..0000000000
--- a/gm4_metallurgy/data/gm4_tinker_shamir/tags/item/tinker_pickaxe.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "values": [
- "minecraft:wooden_pickaxe",
- "minecraft:stone_pickaxe",
- "minecraft:iron_pickaxe",
- "minecraft:golden_pickaxe",
- "minecraft:diamond_pickaxe",
- "minecraft:netherite_pickaxe"
- ]
-}
diff --git a/gm4_metallurgy/data/gm4_tinker_shamir/tags/item/tinker_shovel.json b/gm4_metallurgy/data/gm4_tinker_shamir/tags/item/tinker_shovel.json
deleted file mode 100644
index 9e32059258..0000000000
--- a/gm4_metallurgy/data/gm4_tinker_shamir/tags/item/tinker_shovel.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "values": [
- "minecraft:wooden_shovel",
- "minecraft:stone_shovel",
- "minecraft:iron_shovel",
- "minecraft:golden_shovel",
- "minecraft:diamond_shovel",
- "minecraft:netherite_shovel"
- ]
-}
diff --git a/gm4_metallurgy/data/gm4_tinker_shamir/tags/item/tinker_sword.json b/gm4_metallurgy/data/gm4_tinker_shamir/tags/item/tinker_sword.json
deleted file mode 100644
index 88f7202196..0000000000
--- a/gm4_metallurgy/data/gm4_tinker_shamir/tags/item/tinker_sword.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "values": [
- "minecraft:wooden_sword",
- "minecraft:stone_sword",
- "minecraft:iron_sword",
- "minecraft:golden_sword",
- "minecraft:diamond_sword",
- "minecraft:netherite_sword"
- ]
-}
diff --git a/gm4_metallurgy/data/gm4_vibro_shamir/function/shock/calculate.mcfunction b/gm4_metallurgy/data/gm4_vibro_shamir/function/shock/calculate.mcfunction
index bff066d01f..3b2afa8427 100644
--- a/gm4_metallurgy/data/gm4_vibro_shamir/function/shock/calculate.mcfunction
+++ b/gm4_metallurgy/data/gm4_vibro_shamir/function/shock/calculate.mcfunction
@@ -2,7 +2,7 @@
# run from shock/activate
# raycast to the vibro player
-summon marker ~ ~ ~ {CustomName:'"gm4_vibro_ray"',Tags:["gm4_vibro_ray"]}
+summon marker ~ ~ ~ {CustomName:"gm4_vibro_ray",Tags:["gm4_vibro_ray"]}
execute as @e[type=marker,tag=gm4_vibro_ray,limit=1] at @s run function gm4_vibro_shamir:shock/ray_execute
# damage dealt to the vibro player is multiplied by 2 and divided by the distance+dampening
diff --git a/gm4_metallurgy/data/gm4_vibro_shamir/function/shockwave.mcfunction b/gm4_metallurgy/data/gm4_vibro_shamir/function/shockwave.mcfunction
index 9d2478eb74..e02860e623 100644
--- a/gm4_metallurgy/data/gm4_vibro_shamir/function/shockwave.mcfunction
+++ b/gm4_metallurgy/data/gm4_vibro_shamir/function/shockwave.mcfunction
@@ -11,7 +11,12 @@ scoreboard players operation @s gm4_vibro_shock = @s gm4_vibro_hurt
scoreboard players operation @s gm4_vibro_shock += @s gm4_vibro_absorb
schedule function gm4_vibro_shamir:shock/activate 1t
-# desire lines effect in a 5x5
-scoreboard players remove @s gm4_desire_lines 3
+# terminate if desire lines is not installed
+execute unless score gm4_desire_lines load.status matches 1.. run return 1
+
+# desire lines is installed, apply guarenteed effect (unless the player has some strong desire lines inhibiting item) in a 5x5
+# | the inverse sneak penalty is not enough to cicumvent desire lines in this case
+scoreboard players set $probability gm4_desire_lines 100
+scoreboard players operation $probability gm4_desire_lines -= #sneak_penality gm4_desire_lines
function #gm4_desire_lines:expansion
-execute if score gm4_desire_lines load.status matches 1.. unless score @s gm4_desire_lines matches 0 run function gm4_vibro_shamir:desire_lines
+execute if predicate {"condition":"minecraft:random_chance","chance":{"type":"minecraft:score","target":{"type":"minecraft:fixed","name":"$probability"},"score":"gm4_desire_lines","scale":0.01}} run function gm4_vibro_shamir:desire_lines
diff --git a/gm4_metallurgy/data/gm4_vibro_shamir/loot_table/band.json b/gm4_metallurgy/data/gm4_vibro_shamir/loot_table/band.json
index 545281c659..2c24d8f498 100644
--- a/gm4_metallurgy/data/gm4_vibro_shamir/loot_table/band.json
+++ b/gm4_metallurgy/data/gm4_vibro_shamir/loot_table/band.json
@@ -23,7 +23,7 @@
"lore": [
{
"translate": "item.gm4.shamir.vibro",
- "fallback": "Vibro",
+ "fallback": "Vibro Shamir",
"italic": false,
"color": "gray"
}
diff --git a/gm4_metallurgy/shamir_model_template.py b/gm4_metallurgy/shamir_model_template.py
index 7c8ee77c6a..7ea27736c5 100644
--- a/gm4_metallurgy/shamir_model_template.py
+++ b/gm4_metallurgy/shamir_model_template.py
@@ -5,8 +5,9 @@
from itertools import product, chain, count
import re
import logging
+from copy import deepcopy
-from gm4.plugins.resource_pack import ModelData, TemplateOptions
+from gm4.plugins.resource_pack import ModelData, TemplateOptions, JsonType
from gm4.utils import add_namespace, MapOption
parent_logger = logging.getLogger("gm4."+__name__)
@@ -19,6 +20,8 @@
TEXTURELESS = ["shield"] # item model is unable to receive layer in vanilla
+SPECIAL_MODEL_IGNORES = ["shield"] # models with special case handling, that cannot be customized with resource packs the way we want.
+
# define item group lookups
GROUP_LOOKUP = {
"armor": [f"{material}_{armor}" for material, armor in product(ARMOR_MATERIALS, ARMOR)] + ["turtle_helmet"],
@@ -62,14 +65,16 @@ class ShamirTemplate(TemplateOptions):
textures_path: str = "" # directory of texture files to use for shamirs, falling back to the default metallurgy textures
metal: Literal["aluminium", "barimium", "barium", "bismuth", "curies_bismium", "thorium"] # the metallurgy metal this shamir is made of
+ _item_def_map: dict[str, JsonType] = {}
+
bound_ctx: ClassVar[Context]
metallurgy_assets: ClassVar[ResourcePack] = ResourcePack(path="gm4_metallurgy") # load metallurgy textures so expansion shamirs can fall back on their
vanilla_models_jar: ClassVar[ClientJar]
- def process(self, config: ModelData, models_container: NamespaceProxy[Model]) -> list[Model]:
+ def create_models(self, config: ModelData, models_container: NamespaceProxy[Model]) -> list[Model]:
logger = parent_logger.getChild(self.bound_ctx.project_id)
models_loc = f"{config.reference}"
- models: dict[str, str|list[dict[str,Any]]] = {} # the value of config.models to be applied after going through special cases
+ models: dict[str, str] = {} # the value of config.models to be applied after going through special cases
ret_list: list[Model] = []
for item in config.item.entries():
@@ -123,57 +128,62 @@ def process(self, config: ModelData, models_container: NamespaceProxy[Model]) ->
models_container[f"{models_loc}/{item}"] = m
ret_list.append(m)
- variants: Any = [{"model": f"{models_loc}/{item}"}] # the base model is just a regular model reference
- for override in self.vanilla_models_jar.assets.models[f"minecraft:item/{item}"].data.get('overrides', []):
- item_variant = override['model'].split('/')[-1] # ie, iron_chestplate_quartz_trim, fishing_rod_cast, compass_00, elytra_broken ect...
-
+ # define recursive search function for looking at vanilla item definitions to copy/modify
+ def recursive_extract_variants(json: dict[str, Any]) -> tuple[list[str], list[Any]]:
+ ret_variants: list[str] = []
+ ret_pointers: list[Any] = []
+ for val in json.values():
+ match val:
+ case {"type": "minecraft:model", "model": str(m)}:
+ ret_variants.append(m.split('/')[-1]) # ie, iron_chestplate_quartz_trim, fishing_rod_cast, compass_00, elytra_broken ect...
+ ret_pointers.append(val)
+ case list()|dict(): # val is dict, or list of dicts
+ for elem in val if isinstance(val, list) else [val]: # type: ignore ; this is json
+ if isinstance(elem, dict):
+ rec_varis, rec_pts = recursive_extract_variants(elem) # type: ignore ; this is json
+ ret_variants.extend(rec_varis)
+ ret_pointers.extend(rec_pts)
+ case _:
+ pass
+
+ return ret_variants, ret_pointers
+
+ # create texture variants, using the vanilla item definition as a template
+ mutatable_itemdef_copy = deepcopy(self.vanilla_models_jar.assets.item_models[f"minecraft:{item}"].data["model"])
+ item_variants, itemdef_compounds = recursive_extract_variants(mutatable_itemdef_copy)
+ for item_variant, itemdef_compound in zip(item_variants, itemdef_compounds):
texture_variant = ('/'.join(texture.split('/')[0:-1] + [item_variant])) # is there an explicit texture for this variant. ie broken_elytra.png?
variant_tex_exists = texture_variant in self.bound_ctx.assets.textures or texture_variant in self.metallurgy_assets.textures
- m = Model({
- "parent": f"minecraft:item/{item_variant}",
- "textures": {
- f"layer{total_layers+1}": texture_variant if variant_tex_exists else texture
- }
- })
- models_container[f"{models_loc}/{item_variant}"] = m
- ret_list.append(m)
- variants.append({
- "predicate": override['predicate'],
- "model": f"{models_loc}/{item_variant}"
- })
- models.update({item: variants})
-
- # optifine .properties handling
- if item in GROUP_LOOKUP["armor"]:
- material = item.split("_")[0]
-
- if material == "golden":
- material = "gold" # vanilla armor textures are called "gold_layer_1" for some reason
- layer = item.endswith("leggings")+1 # leggings use layer 2
-
- self.bound_ctx.generate(f"gm4_metallurgy:cit/{self.metal}/{item}", merge=OptifineProperties(
- "\n".join([e for e in [
- "type=armor",
- f"matchItems={item}",
- f"texture.{material}_layer_{layer}={material}_layer_{layer}",
- f"texture.leather_layer_{layer}_overlay=leather_layer_{layer}_overlay" if material == "leather" else None,
- f"nbt.CustomModelData=regex:(${config.reference})"
- ] if e is not None])
- ))
- elif item in ["elytra", "trident", "spyglass"]:
- self.bound_ctx.generate(f"gm4_metallurgy:cit/{self.metal}/{item}", merge=OptifineProperties(
- "\n".join([
- "type=elytra" if item=="elytra" else f"type=item",
- f"matchItems={item}",
- f"texture.{item}={item}",
- f"nbt.CustomModelData=regex:(${config.reference})"
- ])
- ))
+ if (variant_path:=f"{models_loc}/{item_variant}") not in models_container: # create a new model file if one does not exist
+ m = Model({
+ "parent": f"minecraft:item/{item_variant}",
+ "textures": {
+ f"layer{total_layers+1}": texture_variant if variant_tex_exists else texture
+ }
+ })
+ models_container[f"{models_loc}/{item_variant}"] = m
+ ret_list.append(m)
+
+ itemdef_compound["model"] = variant_path # update our copy to point to the new model
+
+ if item_variants:
+ self._item_def_map[item] = mutatable_itemdef_copy
+ models.update({item: "NULL"}) # actual model paths contained within itemdef compound
+ elif item in SPECIAL_MODEL_IGNORES:
+ # use the vanilla item-def anyway
+ self._item_def_map[item] = mutatable_itemdef_copy
+ models.update({item: "NULL"}) # actual model paths contained within itemdef compound
+ else:
+ models.update({item: f"{models_loc}/{item}"})
config.model = MapOption(__root__=models)
return ret_list
+ def get_item_def_entry(self, config: ModelData, item: str) -> None|JsonType:
+ # TODO fill me out, replacing ComplexBypass
+ return self._item_def_map.get(item)
+
def mutate_config(self, config: ModelData):
expanded_items = set(chain.from_iterable([GROUP_LOOKUP.get(group, [group]) for group in config.item.entries()])) | {"player_head"}
config.item = ListOption(__root__=list(expanded_items))
@@ -183,7 +193,6 @@ def mutate_config(self, config: ModelData):
else: # isinstance(.., dict):
config.textures = MapOption(__root__={"band": f"gm4_metallurgy:item/band/{self.metal}_band"}|config.textures.__root__)
-
def optifine_armor_properties_merging(pack: ResourcePack, path: str, current: OptifineProperties, conflict: OptifineProperties) -> bool:
if not path.startswith("gm4_metallurgy:cit"): # only apply this rule to metallurgy files
return False
@@ -212,8 +221,8 @@ def beet_default(ctx: Context):
# bind context object to a ClassVar so it can be accessed later during template processing
ShamirTemplate.bound_ctx = ctx
vanilla = ctx.inject(Vanilla)
- vanilla.minecraft_version = '1.21.3'
- ShamirTemplate.vanilla_models_jar = vanilla.mount("assets/minecraft/models/item")
+ vanilla.minecraft_version = '1.21.5'
+ ShamirTemplate.vanilla_models_jar = vanilla.mount("assets/minecraft/items")
merge_policy(ctx)
def merge_policy(ctx: Context):
diff --git a/gm4_midnight_menaces/beet.yaml b/gm4_midnight_menaces/beet.yaml
index 30a8b5a0b9..059a3b32f9 100644
--- a/gm4_midnight_menaces/beet.yaml
+++ b/gm4_midnight_menaces/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_midnight_menaces
name: Midnight Menaces
-version: 1.5.X
+version: 1.6.X
data_pack:
load: .
@@ -12,7 +12,7 @@ meta:
gm4:
versioning:
required:
- gm4_mysterious_midnights: 1.3.0
+ gm4_mysterious_midnights: 1.7.0
schedule_loops: [main]
website:
description: Adds 7 new events to Mysterious Midnights! From nights with merging Slimes to scary Illusioners -- this is a variety pack you shouldn't miss out on!
diff --git a/gm4_midnight_menaces/data/gm4_enlarging_phantoms/function/set_size.mcfunction b/gm4_midnight_menaces/data/gm4_enlarging_phantoms/function/set_size.mcfunction
index b136f49478..0e29c818f9 100644
--- a/gm4_midnight_menaces/data/gm4_enlarging_phantoms/function/set_size.mcfunction
+++ b/gm4_midnight_menaces/data/gm4_enlarging_phantoms/function/set_size.mcfunction
@@ -5,8 +5,8 @@ execute store result score @s gm4_menace_data run data get entity @s UUID[0]
scoreboard players operation @s gm4_menace_data %= 100 gm4_menace_data
# 35% size 3, 40% size 5, 25% size 7
-data merge entity @s[scores={gm4_menace_data=..34}] {Size:3,Health:24.0f,attributes:[{id:"minecraft:max_health",base:24.0d},{id:"minecraft:attack_damage",base:5.0d}]}
-data merge entity @s[scores={gm4_menace_data=35..74}] {Size:5,Health:30.0f,attributes:[{id:"minecraft:max_health",base:30.0d},{id:"minecraft:attack_damage",base:7.0d}]}
-data merge entity @s[scores={gm4_menace_data=75..}] {Size:7,Health:40.0f,attributes:[{id:"minecraft:max_health",base:40.0d},{id:"minecraft:attack_damage",base:9.0d}]}
+data merge entity @s[scores={gm4_menace_data=..34}] {size:3,Health:24.0f,attributes:[{id:"minecraft:max_health",base:24.0d},{id:"minecraft:attack_damage",base:5.0d}]}
+data merge entity @s[scores={gm4_menace_data=35..74}] {size:5,Health:30.0f,attributes:[{id:"minecraft:max_health",base:30.0d},{id:"minecraft:attack_damage",base:7.0d}]}
+data merge entity @s[scores={gm4_menace_data=75..}] {size:7,Health:40.0f,attributes:[{id:"minecraft:max_health",base:40.0d},{id:"minecraft:attack_damage",base:9.0d}]}
scoreboard players reset @s gm4_menace_data
diff --git a/gm4_midnight_menaces/data/gm4_enlarging_phantoms/function/setup.mcfunction b/gm4_midnight_menaces/data/gm4_enlarging_phantoms/function/setup.mcfunction
index e7f934a62a..95df50f660 100644
--- a/gm4_midnight_menaces/data/gm4_enlarging_phantoms/function/setup.mcfunction
+++ b/gm4_midnight_menaces/data/gm4_enlarging_phantoms/function/setup.mcfunction
@@ -1,3 +1,3 @@
# called upon start of a rare mysterious midnight. Used to select this expansion by chance.
-summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:'"gm4_enlarging_phantoms"',Tags:["gm4_mysterious_midnights_expansion","gm4_enlarging_phantoms"],Duration:18000,Radius:0f,Particle:{type:"minecraft:block",block_state:"air"}}
+summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:"gm4_enlarging_phantoms",Tags:["gm4_mysterious_midnights_expansion","gm4_enlarging_phantoms"],Duration:18000,Radius:0f,Particle:{type:"minecraft:block",block_state:"air"}}
diff --git a/gm4_midnight_menaces/data/gm4_enlarging_phantoms/function/slow_clock.mcfunction b/gm4_midnight_menaces/data/gm4_enlarging_phantoms/function/slow_clock.mcfunction
index f7b5d2e071..fdd5d29274 100644
--- a/gm4_midnight_menaces/data/gm4_enlarging_phantoms/function/slow_clock.mcfunction
+++ b/gm4_midnight_menaces/data/gm4_enlarging_phantoms/function/slow_clock.mcfunction
@@ -3,7 +3,7 @@
# called by event
# summon potential spawn points
-summon minecraft:area_effect_cloud 29999998 1 7134 {CustomName:'"gm4_phantom_spawn_point"',Tags:["gm4_phantom_spawn_point"],Duration:1,Radius:0f,Particle:{type:"minecraft:block",block_state:"minecraft:air"}}
+summon minecraft:area_effect_cloud 29999998 1 7134 {CustomName:"gm4_phantom_spawn_point",Tags:["gm4_phantom_spawn_point"],Duration:1,Radius:0f,Particle:{type:"minecraft:block",block_state:"minecraft:air"}}
# randomizer (average spawn rate: 1 every 40 seconds)
execute store result score phantom_random_value gm4_menace_data run data get entity @e[type=area_effect_cloud,tag=gm4_phantom_spawn_point,limit=1] UUID[0]
diff --git a/gm4_midnight_menaces/data/gm4_icy_strays/function/setup.mcfunction b/gm4_midnight_menaces/data/gm4_icy_strays/function/setup.mcfunction
index 5024197d76..337bd8fd05 100644
--- a/gm4_midnight_menaces/data/gm4_icy_strays/function/setup.mcfunction
+++ b/gm4_midnight_menaces/data/gm4_icy_strays/function/setup.mcfunction
@@ -1,3 +1,3 @@
#called upon start of a rare mysterious midnight. Used to select this expansion by chance.
-summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:'"gm4_icy_strays"',Tags:["gm4_mysterious_midnights_expansion","gm4_icy_strays"],Duration:18000,Radius:0f,Particle:{type:"minecraft:block",block_state:"minecraft:air"}}
+summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:"gm4_icy_strays",Tags:["gm4_mysterious_midnights_expansion","gm4_icy_strays"],Duration:18000,Radius:0f,Particle:{type:"minecraft:block",block_state:"minecraft:air"}}
diff --git a/gm4_midnight_menaces/data/gm4_icy_strays/function/stray_transform.mcfunction b/gm4_midnight_menaces/data/gm4_icy_strays/function/stray_transform.mcfunction
index 0a5df17ee1..efdc6cba06 100644
--- a/gm4_midnight_menaces/data/gm4_icy_strays/function/stray_transform.mcfunction
+++ b/gm4_midnight_menaces/data/gm4_icy_strays/function/stray_transform.mcfunction
@@ -1,6 +1,6 @@
# @s = skeleton to be converted into a stray
# called by event
-summon stray ~ ~ ~ {HandItems:[{id:"minecraft:bow",count:1},{}],DeathLootTable:"gm4_icy_strays:entities/icy_stray"}
+summon stray ~ ~ ~ {equipment:{mainhand:{id:"minecraft:bow",count:1}},DeathLootTable:"gm4_icy_strays:entities/icy_stray"}
tp @e[type=stray,limit=1,distance=0] @s
data merge entity @s {DeathTime:19s,Health:0f,DeathLootTable:"gm4:empty"}
diff --git a/gm4_midnight_menaces/data/gm4_illusioner_nights/function/illusioner_transform.mcfunction b/gm4_midnight_menaces/data/gm4_illusioner_nights/function/illusioner_transform.mcfunction
index 7f284705b0..e110f74d78 100644
--- a/gm4_midnight_menaces/data/gm4_illusioner_nights/function/illusioner_transform.mcfunction
+++ b/gm4_midnight_menaces/data/gm4_illusioner_nights/function/illusioner_transform.mcfunction
@@ -1,6 +1,6 @@
# @s = skeleton, zombie, or creeper to be converted into an illusioner
# called by event
-summon illusioner ~ ~ ~ {DeathLootTable:"gm4_illusioner_nights:entities/illusioner",HandItems:[{id:"minecraft:bow",count:1},{}]}
+summon illusioner ~ ~ ~ {DeathLootTable:"gm4_illusioner_nights:entities/illusioner",equipment:{mainhand:{id:"minecraft:bow",count:1}}}
tp @e[type=illusioner,limit=1,distance=0] @s
data merge entity @s {DeathTime:19s,Health:0f,DeathLootTable:"gm4:empty"}
diff --git a/gm4_midnight_menaces/data/gm4_illusioner_nights/function/setup.mcfunction b/gm4_midnight_menaces/data/gm4_illusioner_nights/function/setup.mcfunction
index dd86418a14..1333832994 100644
--- a/gm4_midnight_menaces/data/gm4_illusioner_nights/function/setup.mcfunction
+++ b/gm4_midnight_menaces/data/gm4_illusioner_nights/function/setup.mcfunction
@@ -1,3 +1,3 @@
# called upon start of a rare mysterious midnight. Used to select this expansion by chance.
-summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:'"gm4_illusioner_nights"',Tags:["gm4_mysterious_midnights_expansion","gm4_illusioner_nights"],Duration:18000,Radius:0f,Particle:{type:"minecraft:block",block_state:"minecraft:air"}}
+summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:"gm4_illusioner_nights",Tags:["gm4_mysterious_midnights_expansion","gm4_illusioner_nights"],Duration:18000,Radius:0f,Particle:{type:"minecraft:block",block_state:"minecraft:air"}}
diff --git a/gm4_midnight_menaces/data/gm4_illusioner_nights/loot_table/entities/illusioner.json b/gm4_midnight_menaces/data/gm4_illusioner_nights/loot_table/entities/illusioner.json
index 564e109aec..96f7c857d8 100644
--- a/gm4_midnight_menaces/data/gm4_illusioner_nights/loot_table/entities/illusioner.json
+++ b/gm4_midnight_menaces/data/gm4_illusioner_nights/loot_table/entities/illusioner.json
@@ -76,7 +76,7 @@
{
"function": "set_components",
"components": {
- "minecraft:custom_name": "{\"text\":\"Lingering Potion of Blindness\",\"italic\":false}",
+ "minecraft:custom_name": {"text":"Lingering Potion of Blindness","italic":false},
"minecraft:potion_contents": {
"potion": "minecraft:mundane",
"custom_effects": [
diff --git a/gm4_midnight_menaces/data/gm4_menacing_goblins/function/goblin_steal/diamond.mcfunction b/gm4_midnight_menaces/data/gm4_menacing_goblins/function/goblin_steal/diamond.mcfunction
index c7f9a6012b..4d9dde63ff 100644
--- a/gm4_midnight_menaces/data/gm4_menacing_goblins/function/goblin_steal/diamond.mcfunction
+++ b/gm4_midnight_menaces/data/gm4_menacing_goblins/function/goblin_steal/diamond.mcfunction
@@ -4,17 +4,17 @@
# run from goblin_steal/check_player
# get current diamond count
-execute store result score count gm4_menace_data run data get entity @s ArmorItems[0].count
+execute store result score count gm4_menace_data run data get entity @s equipment.feet.count
# take 1 diamond from player
clear @a[tag=gm4_goblin_target,limit=1,distance=..3] diamond 1
# store diamonds at feet slot
-execute if score count gm4_menace_data matches 0 run data modify entity @s ArmorItems[0] set value {id:"minecraft:diamond",count:1}
-execute if score count gm4_menace_data matches 1..63 if predicate gm4_menacing_goblins:store_chance store result entity @s ArmorItems[0].count byte 1 run scoreboard players add count gm4_menace_data 1
+execute if score count gm4_menace_data matches 0 run data modify entity @s equipment.feet set value {id:"minecraft:diamond",count:1}
+execute if score count gm4_menace_data matches 1..63 if predicate gm4_menacing_goblins:store_chance store result entity @s equipment.feet.count byte 1 run scoreboard players add count gm4_menace_data 1
# show that it got stolen
-data modify entity @s HandItems[1] set value {id:"minecraft:diamond",count:1}
+data modify entity @s equipment.offhand set value {id:"minecraft:diamond",count:1}
playsound minecraft:entity.zombie.ambient hostile @a[distance=..5] ~ ~ ~ 0.2 2
playsound minecraft:entity.witch.celebrate hostile @a[distance=..5] ~ ~ ~ 1 2
playsound minecraft:block.chain.break hostile @a[distance=..5] ~ ~ ~ 2 2
diff --git a/gm4_midnight_menaces/data/gm4_menacing_goblins/function/goblin_steal/gold_ingot.mcfunction b/gm4_midnight_menaces/data/gm4_menacing_goblins/function/goblin_steal/gold_ingot.mcfunction
index 03ff80fdca..dd70aa757a 100644
--- a/gm4_midnight_menaces/data/gm4_menacing_goblins/function/goblin_steal/gold_ingot.mcfunction
+++ b/gm4_midnight_menaces/data/gm4_menacing_goblins/function/goblin_steal/gold_ingot.mcfunction
@@ -4,17 +4,17 @@
# run from goblin_steal/check_player
# get current gold ingot count
-execute store result score count gm4_menace_data run data get entity @s ArmorItems[2].count
+execute store result score count gm4_menace_data run data get entity @s equipment.chest.count
# take 1 gold ingot from player
clear @a[tag=gm4_goblin_target,limit=1,distance=..3] gold_ingot 1
# store gold ingots at chest slot
-execute if score count gm4_menace_data matches 0 run data modify entity @s ArmorItems[2] set value {id:"minecraft:gold_ingot",count:1}
-execute if score count gm4_menace_data matches 1..63 if predicate gm4_menacing_goblins:store_chance store result entity @s ArmorItems[2].count byte 1 run scoreboard players add count gm4_menace_data 1
+execute if score count gm4_menace_data matches 0 run data modify entity @s equipment.chest set value {id:"minecraft:gold_ingot",count:1}
+execute if score count gm4_menace_data matches 1..63 if predicate gm4_menacing_goblins:store_chance store result entity @s equipment.chest.count byte 1 run scoreboard players add count gm4_menace_data 1
# show that it got stolen
-data modify entity @s HandItems[1] set value {id:"minecraft:gold_ingot",count:1}
+data modify entity @s equipment.offhand set value {id:"minecraft:gold_ingot",count:1}
playsound minecraft:entity.zombie.ambient hostile @a[distance=..5] ~ ~ ~ 0.2 2
playsound minecraft:entity.witch.celebrate hostile @a[distance=..5] ~ ~ ~ 1 2
playsound minecraft:block.chain.break hostile @a[distance=..5] ~ ~ ~ 2 2
diff --git a/gm4_midnight_menaces/data/gm4_menacing_goblins/function/goblin_steal/iron_ingot.mcfunction b/gm4_midnight_menaces/data/gm4_menacing_goblins/function/goblin_steal/iron_ingot.mcfunction
index f600c8c1a3..98fcf33b37 100644
--- a/gm4_midnight_menaces/data/gm4_menacing_goblins/function/goblin_steal/iron_ingot.mcfunction
+++ b/gm4_midnight_menaces/data/gm4_menacing_goblins/function/goblin_steal/iron_ingot.mcfunction
@@ -4,17 +4,17 @@
# run from goblin_steal/check_player
# get current iron ingot count
-execute store result score count gm4_menace_data run data get entity @s ArmorItems[1].count
+execute store result score count gm4_menace_data run data get entity @s equipment.feet.count
# take 1 iron ingot from player
clear @a[tag=gm4_goblin_target,limit=1,distance=..3] iron_ingot 1
-# store iron ingots at chest slot
-execute if score count gm4_menace_data matches 0 run data modify entity @s ArmorItems[1] set value {id:"minecraft:iron_ingot",count:1}
-execute if score count gm4_menace_data matches 1..63 if predicate gm4_menacing_goblins:store_chance store result entity @s ArmorItems[1].count byte 1 run scoreboard players add count gm4_menace_data 1
+# store iron ingots at feet slot
+execute if score count gm4_menace_data matches 0 run data modify entity @s equipment.feet set value {id:"minecraft:iron_ingot",count:1}
+execute if score count gm4_menace_data matches 1..63 if predicate gm4_menacing_goblins:store_chance store result entity @s equipment.feet.count byte 1 run scoreboard players add count gm4_menace_data 1
# show that it got stolen
-data modify entity @s HandItems[1] set value {id:"minecraft:iron_ingot",count:1}
+data modify entity @s equipment.offhand set value {id:"minecraft:iron_ingot",count:1}
playsound minecraft:entity.zombie.ambient hostile @a[distance=..5] ~ ~ ~ 0.2 2
playsound minecraft:entity.witch.celebrate hostile @a[distance=..5] ~ ~ ~ 1 2
playsound minecraft:block.chain.break hostile @a[distance=..5] ~ ~ ~ 2 2
diff --git a/gm4_midnight_menaces/data/gm4_menacing_goblins/function/goblin_transform.mcfunction b/gm4_midnight_menaces/data/gm4_menacing_goblins/function/goblin_transform.mcfunction
index 6d550351be..ddfa83da15 100644
--- a/gm4_midnight_menaces/data/gm4_menacing_goblins/function/goblin_transform.mcfunction
+++ b/gm4_midnight_menaces/data/gm4_menacing_goblins/function/goblin_transform.mcfunction
@@ -1,7 +1,7 @@
# @s = skeleton, zombie, or creeper to be converted into a goblin
# called by event
-summon zombie ~ ~ ~ {CustomName:'{"translate":"entity.gm4.goblin","fallback":"Goblin§"}',CustomNameVisible:0b,Team:"gm4_hide_name",DeathLootTable:"gm4_menacing_goblins:entities/goblin",LeftHanded:1b,CanPickUpLoot:0b,Health:24f,IsBaby:1b,CanBreakDoors:0b,Tags:["gm4_goblin","smithed.entity"],HandItems:[{id:"minecraft:golden_sword",count:1},{}],HandDropChances:[0.3F,-327.67F],ArmorItems:[{},{},{},{id:"minecraft:carved_pumpkin",count:1,components:{"minecraft:enchantments":{"minecraft:thorns":3}}}],ArmorDropChances:[2.0F,2.0F,2.0F,-327.67F],active_effects:[{id:'minecraft:resistance',amplifier:4b,duration:20,show_particles:1b}],attributes:[{id:"minecraft:max_health",base:24.0d},{id:"minecraft:follow_range",base:48.0d}]}
+summon zombie ~ ~ ~ {CustomName:{"translate":"entity.gm4.goblin","fallback":"Goblin§"},CustomNameVisible:0b,Team:"gm4_hide_name",DeathLootTable:"gm4_menacing_goblins:entities/goblin",LeftHanded:1b,CanPickUpLoot:0b,Health:24f,IsBaby:1b,CanBreakDoors:0b,Tags:["gm4_goblin","smithed.entity"],equipment:{mainhand:{id:"minecraft:golden_sword",count:1},head:{id:"minecraft:carved_pumpkin",count:1,components:{"minecraft:enchantments":{"minecraft:thorns":3}}}},drop_chances:{mainhand:0.3F,head:0F},active_effects:[{id:'minecraft:resistance',amplifier:4b,duration:20,show_particles:1b}],attributes:[{id:"minecraft:max_health",base:24.0d},{id:"minecraft:follow_range",base:48.0d}]}
scoreboard players set @e[type=zombie,tag=gm4_goblin,distance=0] gm4_entity_version 1
tp @e[type=zombie,limit=1,distance=0] @s
diff --git a/gm4_midnight_menaces/data/gm4_menacing_goblins/function/main.mcfunction b/gm4_midnight_menaces/data/gm4_menacing_goblins/function/main.mcfunction
index 8495c87b6c..2238ac0ab2 100644
--- a/gm4_midnight_menaces/data/gm4_menacing_goblins/function/main.mcfunction
+++ b/gm4_midnight_menaces/data/gm4_menacing_goblins/function/main.mcfunction
@@ -1,4 +1,3 @@
-execute as @e[type=zombie,tag=gm4_goblin,tag=!smithed.entity] run function gm4_menaging_goblins:upgrade_path/smithed_compat
execute as @e[type=zombie,tag=gm4_goblin] unless entity @s[tag=gm4_goblin_diamond_full,tag=gm4_goblin_iron_full,tag=gm4_goblin_gold_full] at @s if entity @a[limit=1,distance=..3] run function gm4_menacing_goblins:goblin_steal/check_player
schedule function gm4_menacing_goblins:main 16t
diff --git a/gm4_midnight_menaces/data/gm4_menacing_goblins/function/setup.mcfunction b/gm4_midnight_menaces/data/gm4_menacing_goblins/function/setup.mcfunction
index e0e085fea7..f20a2378b5 100644
--- a/gm4_midnight_menaces/data/gm4_menacing_goblins/function/setup.mcfunction
+++ b/gm4_midnight_menaces/data/gm4_menacing_goblins/function/setup.mcfunction
@@ -1,3 +1,3 @@
#called upon start of a rare mysterious midnight. Used to select this expansion by chance.
-summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:'"gm4_menacing_goblins"',Tags:["gm4_mysterious_midnights_expansion","gm4_menacing_goblins"],Duration:18000,Radius:0f,Particle:{type:"minecraft:block",block_state:"minecraft:air"}}
+summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:"gm4_menacing_goblins",Tags:["gm4_mysterious_midnights_expansion","gm4_menacing_goblins"],Duration:18000,Radius:0f,Particle:{type:"minecraft:block",block_state:"minecraft:air"}}
diff --git a/gm4_midnight_menaces/data/gm4_menacing_goblins/function/upgrade_path/smithed_compat.mcfunction b/gm4_midnight_menaces/data/gm4_menacing_goblins/function/upgrade_path/smithed_compat.mcfunction
deleted file mode 100644
index e1679198b1..0000000000
--- a/gm4_midnight_menaces/data/gm4_menacing_goblins/function/upgrade_path/smithed_compat.mcfunction
+++ /dev/null
@@ -1,7 +0,0 @@
-# updates entities with smithed tags and entity version
-# @s = old goblin
-# located at world spawn
-# run from gm4_menacing_goblins:main
-
-tag @s add smithed.entity
-scoreboard players set @s gm4_entity_version 1
diff --git a/gm4_midnight_menaces/data/gm4_sandy_husks/function/setup.mcfunction b/gm4_midnight_menaces/data/gm4_sandy_husks/function/setup.mcfunction
index fcf573addd..075a1f18e5 100644
--- a/gm4_midnight_menaces/data/gm4_sandy_husks/function/setup.mcfunction
+++ b/gm4_midnight_menaces/data/gm4_sandy_husks/function/setup.mcfunction
@@ -1,3 +1,3 @@
#called upon start of a rare mysterious midnight. Used to select this expansion by chance.
-summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:'"gm4_sandy_husks"',Tags:["gm4_mysterious_midnights_expansion","gm4_sandy_husks"],Duration:18000,Radius:0f,Particle:{type:"minecraft:block",block_state:"minecraft:air"}}
+summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:"gm4_sandy_husks",Tags:["gm4_mysterious_midnights_expansion","gm4_sandy_husks"],Duration:18000,Radius:0f,Particle:{type:"minecraft:block",block_state:"minecraft:air"}}
diff --git a/gm4_midnight_menaces/data/gm4_slime_fests/function/setup.mcfunction b/gm4_midnight_menaces/data/gm4_slime_fests/function/setup.mcfunction
index 89a8193095..ef004b1c25 100644
--- a/gm4_midnight_menaces/data/gm4_slime_fests/function/setup.mcfunction
+++ b/gm4_midnight_menaces/data/gm4_slime_fests/function/setup.mcfunction
@@ -1,3 +1,3 @@
# called upon start of an uncommon mysterious midnight. Used to select this expansion by chance.
-summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:'"gm4_slime_fests"',Tags:["gm4_mysterious_midnights_expansion","gm4_slime_fests"],Duration:18000,Radius:0f,Particle:{type:"minecraft:block",block_state:"minecraft:air"}}
+summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:"gm4_slime_fests",Tags:["gm4_mysterious_midnights_expansion","gm4_slime_fests"],Duration:18000,Radius:0f,Particle:{type:"minecraft:block",block_state:"minecraft:air"}}
diff --git a/gm4_midnight_menaces/data/gm4_slime_fests/guidebook/slime_fests.json b/gm4_midnight_menaces/data/gm4_slime_fests/guidebook/slime_fests.json
index f4e852d532..936274d378 100644
--- a/gm4_midnight_menaces/data/gm4_slime_fests/guidebook/slime_fests.json
+++ b/gm4_midnight_menaces/data/gm4_slime_fests/guidebook/slime_fests.json
@@ -22,9 +22,10 @@
"predicate": {
"type": "minecraft:slime",
"type_specific": {
- "type": "slime"
+ "type": "slime",
+ "size": 0
},
- "nbt": "{Size:0,DeathLootTable:\"minecraft:empty\"}"
+ "nbt": "{DeathLootTable:\"minecraft:empty\"}"
}
},
{
diff --git a/gm4_mob_curing/beet.yaml b/gm4_mob_curing/beet.yaml
index 19942171ae..1ebb9302b3 100644
--- a/gm4_mob_curing/beet.yaml
+++ b/gm4_mob_curing/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_mob_curing
name: Mob Curing
-version: 1.7.X
+version: 1.8.X
data_pack:
load: .
@@ -16,7 +16,7 @@ meta:
gm4:
versioning:
required:
- lib_trades: 1.5.0
+ lib_trades: 1.6.0
schedule_loops: [main]
model_data:
- item: potion
diff --git a/gm4_mob_curing/data/gm4_mob_curing/function/cure/witch.mcfunction b/gm4_mob_curing/data/gm4_mob_curing/function/cure/witch.mcfunction
index 7202d365aa..592f8388e3 100644
--- a/gm4_mob_curing/data/gm4_mob_curing/function/cure/witch.mcfunction
+++ b/gm4_mob_curing/data/gm4_mob_curing/function/cure/witch.mcfunction
@@ -3,7 +3,7 @@
# at @s
# run from check_item
-summon villager ~ ~ ~ {Tags:["gm4_mob_curing_potion_cleric","gm4_mob_curing_needs_init"],VillagerData:{profession:"minecraft:cleric",level:5,type:"minecraft:plains"},Xp:1,CustomName:'{"translate":"entity.gm4.potion_cleric","fallback":"Potion Cleric§"}',Team:"gm4_hide_name"}
+summon villager ~ ~ ~ {Tags:["gm4_mob_curing_potion_cleric","gm4_mob_curing_needs_init"],VillagerData:{profession:"minecraft:cleric",level:5,type:"minecraft:plains"},Xp:1,CustomName:{"translate":"entity.gm4.potion_cleric","fallback":"Potion Cleric§"},Team:"gm4_hide_name"}
tp @e[type=villager,distance=..1,tag=gm4_mob_curing_needs_init,sort=nearest,limit=1] @s
tag @s add gm4_mob_curing_needs_init
diff --git a/gm4_mob_curing/data/gm4_mob_curing/function/potion_cleric/register_trades.mcfunction b/gm4_mob_curing/data/gm4_mob_curing/function/potion_cleric/register_trades.mcfunction
index fd910f146c..b862579911 100644
--- a/gm4_mob_curing/data/gm4_mob_curing/function/potion_cleric/register_trades.mcfunction
+++ b/gm4_mob_curing/data/gm4_mob_curing/function/potion_cleric/register_trades.mcfunction
@@ -5,41 +5,41 @@
data remove entity @s Offers.Recipes
# trade for slot 1 (nether wart for 4-7 emeralds)
-summon trader_llama ~ 0 ~ {Silent:1b,NoGravity:1b,Invulnerable:1b,ChestedHorse:1b,Variant:0,Strength:1,DespawnDelay:1,Tags:["gm4_trade_option","gm4_mob_curing_trade_0_option"],Items:[{},{},{}],body_armor_item:{id:"minecraft:light_blue_carpet",count:1,components:{"minecraft:custom_data":{gm4_trades:{options:{maxUses:9999999,rewardXp:8b,xp:1,priceMultiplier:0.05f}}}}}}
+summon trader_llama ~ 0 ~ {Silent:1b,NoGravity:1b,Invulnerable:1b,ChestedHorse:1b,Variant:0,Strength:1,DespawnDelay:1,Tags:["gm4_trade_option","gm4_mob_curing_trade_0_option"],Items:[{},{},{}],equipment:{body:{id:"minecraft:light_blue_carpet",count:1,components:{"minecraft:custom_data":{gm4_trades:{options:{maxUses:9999999,rewardXp:8b,xp:1,priceMultiplier:0.05f}}}}}}}
loot replace entity @e[type=trader_llama,limit=1,tag=gm4_mob_curing_trade_0_option] horse.0 loot gm4_mob_curing:technical/potion_cleric/trade_1
# trade for slot 2 (gunpowder for 3-5 emeralds)
-summon trader_llama ~ 0 ~ {Silent:1b,NoGravity:1b,Invulnerable:1b,ChestedHorse:1b,Variant:0,Strength:1,DespawnDelay:1,Tags:["gm4_trade_option","gm4_mob_curing_trade_1_option"],Items:[{},{},{}],body_armor_item:{id:"minecraft:light_blue_carpet",count:1,components:{"minecraft:custom_data":{gm4_trades:{options:{maxUses:9999999,rewardXp:8b,xp:1,priceMultiplier:0.05f}}}}}}
+summon trader_llama ~ 0 ~ {Silent:1b,NoGravity:1b,Invulnerable:1b,ChestedHorse:1b,Variant:0,Strength:1,DespawnDelay:1,Tags:["gm4_trade_option","gm4_mob_curing_trade_1_option"],Items:[{},{},{}],equipment:{body:{id:"minecraft:light_blue_carpet",count:1,components:{"minecraft:custom_data":{gm4_trades:{options:{maxUses:9999999,rewardXp:8b,xp:1,priceMultiplier:0.05f}}}}}}}
loot replace entity @e[type=trader_llama,limit=1,tag=gm4_mob_curing_trade_1_option] horse.0 loot gm4_mob_curing:technical/potion_cleric/trade_2
# trade for slot 3
-summon trader_llama ~ 0 ~ {Silent:1b,NoGravity:1b,Invulnerable:1b,ChestedHorse:1b,Variant:0,Strength:1,DespawnDelay:1,Tags:["gm4_trade_option","gm4_mob_curing_trade_2_option"],Items:[{},{},{}],body_armor_item:{id:"minecraft:light_blue_carpet",count:1,components:{"minecraft:custom_data":{gm4_trades:{options:{maxUses:9999999,rewardXp:24b,xp:1,priceMultiplier:0.05f}}}}}}
+summon trader_llama ~ 0 ~ {Silent:1b,NoGravity:1b,Invulnerable:1b,ChestedHorse:1b,Variant:0,Strength:1,DespawnDelay:1,Tags:["gm4_trade_option","gm4_mob_curing_trade_2_option"],Items:[{},{},{}],equipment:{body:{id:"minecraft:light_blue_carpet",count:1,components:{"minecraft:custom_data":{gm4_trades:{options:{maxUses:9999999,rewardXp:24b,xp:1,priceMultiplier:0.05f}}}}}}}
loot replace entity @e[type=trader_llama,limit=1,tag=gm4_mob_curing_trade_2_option] horse.0 loot gm4_mob_curing:technical/potion_cleric/all_trades
# trade for slot 4
-summon trader_llama ~ 0 ~ {Silent:1b,NoGravity:1b,Invulnerable:1b,ChestedHorse:1b,Variant:0,Strength:1,DespawnDelay:1,Tags:["gm4_trade_option","gm4_mob_curing_trade_3_option"],Items:[{},{},{}],body_armor_item:{id:"minecraft:light_blue_carpet",count:1,components:{"minecraft:custom_data":{gm4_trades:{options:{maxUses:9999999,rewardXp:24b,xp:1,priceMultiplier:0.05f}}}}}}
+summon trader_llama ~ 0 ~ {Silent:1b,NoGravity:1b,Invulnerable:1b,ChestedHorse:1b,Variant:0,Strength:1,DespawnDelay:1,Tags:["gm4_trade_option","gm4_mob_curing_trade_3_option"],Items:[{},{},{}],equipment:{body:{id:"minecraft:light_blue_carpet",count:1,components:{"minecraft:custom_data":{gm4_trades:{options:{maxUses:9999999,rewardXp:24b,xp:1,priceMultiplier:0.05f}}}}}}}
loot replace entity @e[type=trader_llama,limit=1,tag=gm4_mob_curing_trade_3_option] horse.0 loot gm4_mob_curing:technical/potion_cleric/all_trades
# trade for slot 5
-summon trader_llama ~ 0 ~ {Silent:1b,NoGravity:1b,Invulnerable:1b,ChestedHorse:1b,Variant:0,Strength:1,DespawnDelay:1,Tags:["gm4_trade_option","gm4_mob_curing_trade_4_option"],Items:[{},{},{}],body_armor_item:{id:"minecraft:light_blue_carpet",count:1,components:{"minecraft:custom_data":{gm4_trades:{options:{maxUses:9999999,rewardXp:24b,xp:1,priceMultiplier:0.05f}}}}}}
+summon trader_llama ~ 0 ~ {Silent:1b,NoGravity:1b,Invulnerable:1b,ChestedHorse:1b,Variant:0,Strength:1,DespawnDelay:1,Tags:["gm4_trade_option","gm4_mob_curing_trade_4_option"],Items:[{},{},{}],equipment:{body:{id:"minecraft:light_blue_carpet",count:1,components:{"minecraft:custom_data":{gm4_trades:{options:{maxUses:9999999,rewardXp:24b,xp:1,priceMultiplier:0.05f}}}}}}}
loot replace entity @e[type=trader_llama,limit=1,tag=gm4_mob_curing_trade_4_option] horse.0 loot gm4_mob_curing:technical/potion_cleric/all_trades
# trade for slot 6
-summon trader_llama ~ 0 ~ {Silent:1b,NoGravity:1b,Invulnerable:1b,ChestedHorse:1b,Variant:0,Strength:1,DespawnDelay:1,Tags:["gm4_trade_option","gm4_mob_curing_trade_5_option"],Items:[{},{},{}],body_armor_item:{id:"minecraft:light_blue_carpet",count:1,components:{"minecraft:custom_data":{gm4_trades:{options:{maxUses:9999999,rewardXp:24b,xp:1,priceMultiplier:0.05f}}}}}}
+summon trader_llama ~ 0 ~ {Silent:1b,NoGravity:1b,Invulnerable:1b,ChestedHorse:1b,Variant:0,Strength:1,DespawnDelay:1,Tags:["gm4_trade_option","gm4_mob_curing_trade_5_option"],Items:[{},{},{}],equipment:{body:{id:"minecraft:light_blue_carpet",count:1,components:{"minecraft:custom_data":{gm4_trades:{options:{maxUses:9999999,rewardXp:24b,xp:1,priceMultiplier:0.05f}}}}}}}
loot replace entity @e[type=trader_llama,limit=1,tag=gm4_mob_curing_trade_5_option] horse.0 loot gm4_mob_curing:technical/potion_cleric/all_trades
# trade for slot 7
-summon trader_llama ~ 0 ~ {Silent:1b,NoGravity:1b,Invulnerable:1b,ChestedHorse:1b,Variant:0,Strength:1,DespawnDelay:1,Tags:["gm4_trade_option","gm4_mob_curing_trade_6_option"],Items:[{},{},{}],body_armor_item:{id:"minecraft:light_blue_carpet",count:1,components:{"minecraft:custom_data":{gm4_trades:{options:{maxUses:9999999,rewardXp:24b,xp:1,priceMultiplier:0.05f}}}}}}
+summon trader_llama ~ 0 ~ {Silent:1b,NoGravity:1b,Invulnerable:1b,ChestedHorse:1b,Variant:0,Strength:1,DespawnDelay:1,Tags:["gm4_trade_option","gm4_mob_curing_trade_6_option"],Items:[{},{},{}],equipment:{body:{id:"minecraft:light_blue_carpet",count:1,components:{"minecraft:custom_data":{gm4_trades:{options:{maxUses:9999999,rewardXp:24b,xp:1,priceMultiplier:0.05f}}}}}}}
loot replace entity @e[type=trader_llama,limit=1,tag=gm4_mob_curing_trade_6_option] horse.0 loot gm4_mob_curing:technical/potion_cleric/all_trades
# trade for slot 8
-summon trader_llama ~ 0 ~ {Silent:1b,NoGravity:1b,Invulnerable:1b,ChestedHorse:1b,Variant:0,Strength:1,DespawnDelay:1,Tags:["gm4_trade_option","gm4_mob_curing_trade_7_option"],Items:[{},{},{}],body_armor_item:{id:"minecraft:light_blue_carpet",count:1,components:{"minecraft:custom_data":{gm4_trades:{options:{maxUses:9999999,rewardXp:24b,xp:1,priceMultiplier:0.05f}}}}}}
+summon trader_llama ~ 0 ~ {Silent:1b,NoGravity:1b,Invulnerable:1b,ChestedHorse:1b,Variant:0,Strength:1,DespawnDelay:1,Tags:["gm4_trade_option","gm4_mob_curing_trade_7_option"],Items:[{},{},{}],equipment:{body:{id:"minecraft:light_blue_carpet",count:1,components:{"minecraft:custom_data":{gm4_trades:{options:{maxUses:9999999,rewardXp:24b,xp:1,priceMultiplier:0.05f}}}}}}}
loot replace entity @e[type=trader_llama,limit=1,tag=gm4_mob_curing_trade_7_option] horse.0 loot gm4_mob_curing:technical/potion_cleric/all_trades
# trade for slot 9
-summon trader_llama ~ 0 ~ {Silent:1b,NoGravity:1b,Invulnerable:1b,ChestedHorse:1b,Variant:0,Strength:1,DespawnDelay:1,Tags:["gm4_trade_option","gm4_mob_curing_trade_8_option"],Items:[{},{},{}],body_armor_item:{id:"minecraft:light_blue_carpet",count:1,components:{"minecraft:custom_data":{gm4_trades:{options:{maxUses:9999999,rewardXp:24b,xp:1,priceMultiplier:0.05f}}}}}}
+summon trader_llama ~ 0 ~ {Silent:1b,NoGravity:1b,Invulnerable:1b,ChestedHorse:1b,Variant:0,Strength:1,DespawnDelay:1,Tags:["gm4_trade_option","gm4_mob_curing_trade_8_option"],Items:[{},{},{}],equipment:{body:{id:"minecraft:light_blue_carpet",count:1,components:{"minecraft:custom_data":{gm4_trades:{options:{maxUses:9999999,rewardXp:24b,xp:1,priceMultiplier:0.05f}}}}}}}
loot replace entity @e[type=trader_llama,limit=1,tag=gm4_mob_curing_trade_8_option] horse.0 loot gm4_mob_curing:technical/potion_cleric/all_trades
# trade for slot 10
-summon trader_llama ~ 0 ~ {Silent:1b,NoGravity:1b,Invulnerable:1b,ChestedHorse:1b,Variant:0,Strength:1,DespawnDelay:1,Tags:["gm4_trade_option","gm4_mob_curing_trade_9_option"],Items:[{},{},{}],body_armor_item:{id:"minecraft:light_blue_carpet",count:1,components:{"minecraft:custom_data":{gm4_trades:{options:{maxUses:9999999,rewardXp:24b,xp:1,priceMultiplier:0.05f}}}}}}
+summon trader_llama ~ 0 ~ {Silent:1b,NoGravity:1b,Invulnerable:1b,ChestedHorse:1b,Variant:0,Strength:1,DespawnDelay:1,Tags:["gm4_trade_option","gm4_mob_curing_trade_9_option"],Items:[{},{},{}],equipment:{body:{id:"minecraft:light_blue_carpet",count:1,components:{"minecraft:custom_data":{gm4_trades:{options:{maxUses:9999999,rewardXp:24b,xp:1,priceMultiplier:0.05f}}}}}}}
loot replace entity @e[type=trader_llama,limit=1,tag=gm4_mob_curing_trade_9_option] horse.0 loot gm4_mob_curing:technical/potion_cleric/all_trades
diff --git a/gm4_mob_curing/data/gm4_mob_curing/guidebook/mob_curing.json b/gm4_mob_curing/data/gm4_mob_curing/guidebook/mob_curing.json
index 34179c46ce..c8be5ff1a9 100644
--- a/gm4_mob_curing/data/gm4_mob_curing/guidebook/mob_curing.json
+++ b/gm4_mob_curing/data/gm4_mob_curing/guidebook/mob_curing.json
@@ -27,11 +27,10 @@
"entity": "this",
"predicate": {
"type": "minecraft:villager",
- "type_specific": {
- "type": "villager",
- "variant": "minecraft:plains"
+ "components": {
+ "minecraft:villager/variant": "minecraft:plains"
},
- "nbt": "{CustomName:'{\"translate\":\"entity.gm4.potion_cleric\",\"fallback\":\"Potion Cleric§\"}'}"
+ "nbt": "{CustomName:{\"translate\":\"entity.gm4.potion_cleric\",\"fallback\":\"Potion Cleric§\"}}"
}
}
]
diff --git a/gm4_mob_curing/data/gm4_mob_curing/test/cow_to_mooshroom.mcfunction b/gm4_mob_curing/data/gm4_mob_curing/test/cow_to_mooshroom.mcfunction
index 1af2905e72..9fce678b92 100644
--- a/gm4_mob_curing/data/gm4_mob_curing/test/cow_to_mooshroom.mcfunction
+++ b/gm4_mob_curing/data/gm4_mob_curing/test/cow_to_mooshroom.mcfunction
@@ -3,7 +3,7 @@
summon cow ~1.5 ~1 ~1.5
summon item ~1.5 ~2 ~1.5 {Item:{id:"red_mushroom"}}
summon item ~1.5 ~2 ~1.5 {Item:{id:"brown_mushroom"}}
-summon potion ~1.5 ~3 ~1.5 {Item:{id:"splash_potion",components:{"minecraft:potion_contents":"minecraft:slowness"}}}
+summon splash_potion ~1.5 ~3 ~1.5 {Item:{id:"splash_potion",components:{"minecraft:potion_contents":"minecraft:slowness"}}}
await entity @e[type=mooshroom] inside
assert not entity @e[type=cow] inside
diff --git a/gm4_mob_curing/data/gm4_mob_curing/test/witch_to_potion_cleric.mcfunction b/gm4_mob_curing/data/gm4_mob_curing/test/witch_to_potion_cleric.mcfunction
index 509930251a..7f9549e3f8 100644
--- a/gm4_mob_curing/data/gm4_mob_curing/test/witch_to_potion_cleric.mcfunction
+++ b/gm4_mob_curing/data/gm4_mob_curing/test/witch_to_potion_cleric.mcfunction
@@ -2,7 +2,7 @@
summon witch ~1.5 ~1 ~1.5
summon item ~1.5 ~2 ~1.5 {Item:{id:"golden_apple"}}
-summon potion ~1.5 ~3 ~1.5 {Item:{id:"splash_potion",components:{"minecraft:potion_contents":"minecraft:weakness"}}}
+summon splash_potion ~1.5 ~3 ~1.5 {Item:{id:"splash_potion",components:{"minecraft:potion_contents":"minecraft:weakness"}}}
await entity @e[type=villager] inside
assert not entity @e[type=zombified_piglin] inside
diff --git a/gm4_mob_curing/data/gm4_mob_curing/test/ziglin_to_pig.mcfunction b/gm4_mob_curing/data/gm4_mob_curing/test/ziglin_to_pig.mcfunction
index 15e5d4d479..4530242106 100644
--- a/gm4_mob_curing/data/gm4_mob_curing/test/ziglin_to_pig.mcfunction
+++ b/gm4_mob_curing/data/gm4_mob_curing/test/ziglin_to_pig.mcfunction
@@ -2,7 +2,7 @@
summon zombified_piglin ~1.5 ~1 ~1.5
summon item ~1.5 ~2 ~1.5 {Item:{id:"golden_carrot"}}
-summon potion ~1.5 ~3 ~1.5 {Item:{id:"splash_potion",components:{"minecraft:potion_contents":"minecraft:swiftness"}}}
+summon splash_potion ~1.5 ~3 ~1.5 {Item:{id:"splash_potion",components:{"minecraft:potion_contents":"minecraft:swiftness"}}}
await entity @e[type=pig] inside
assert not entity @e[type=zombified_piglin] inside
diff --git a/gm4_mob_curing/data/gm4_mob_curing/test/ziglin_to_piglin.mcfunction b/gm4_mob_curing/data/gm4_mob_curing/test/ziglin_to_piglin.mcfunction
index 64c5828513..cc43fcd3f2 100644
--- a/gm4_mob_curing/data/gm4_mob_curing/test/ziglin_to_piglin.mcfunction
+++ b/gm4_mob_curing/data/gm4_mob_curing/test/ziglin_to_piglin.mcfunction
@@ -2,7 +2,7 @@
summon zombified_piglin ~1.5 ~1 ~1.5
summon item ~1.5 ~2 ~1.5 {Item:{id:"golden_carrot"}}
-summon potion ~1.5 ~3 ~1.5 {Item:{id:"splash_potion",components:{"minecraft:potion_contents":"minecraft:weakness"}}}
+summon splash_potion ~1.5 ~3 ~1.5 {Item:{id:"splash_potion",components:{"minecraft:potion_contents":"minecraft:weakness"}}}
await entity @e[type=piglin] inside
assert not entity @e[type=zombified_piglin] inside
diff --git a/gm4_mob_curing/data/gm4_mob_curing/test/zoglin_to_hoglin.mcfunction b/gm4_mob_curing/data/gm4_mob_curing/test/zoglin_to_hoglin.mcfunction
index 2ea3c18d42..342b6a189d 100644
--- a/gm4_mob_curing/data/gm4_mob_curing/test/zoglin_to_hoglin.mcfunction
+++ b/gm4_mob_curing/data/gm4_mob_curing/test/zoglin_to_hoglin.mcfunction
@@ -2,7 +2,7 @@
summon zoglin ~1.5 ~1 ~1.5
summon item ~1.5 ~2 ~1.5 {Item:{id:"golden_carrot"}}
-summon potion ~1.5 ~3 ~1.5 {Item:{id:"splash_potion",components:{"minecraft:potion_contents":"minecraft:swiftness"}}}
+summon splash_potion ~1.5 ~3 ~1.5 {Item:{id:"splash_potion",components:{"minecraft:potion_contents":"minecraft:swiftness"}}}
await entity @e[type=hoglin] inside
assert not entity @e[type=zoglin] inside
diff --git a/gm4_mountaineering/beet.yaml b/gm4_mountaineering/beet.yaml
index 4f4d0da2c9..476a9be2ee 100644
--- a/gm4_mountaineering/beet.yaml
+++ b/gm4_mountaineering/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_mountaineering
name: Mountaineering
-version: 1.3.X
+version: 1.4.X
data_pack:
load: .
@@ -13,7 +13,7 @@ meta:
gm4:
versioning:
required:
- lib_custom_crafters: 3.2.0
+ lib_custom_crafters: 3.4.0
schedule_loops:
- main
- fast_main
diff --git a/gm4_mountaineering/data/gm4_mountaineering/recipe/crampons.json b/gm4_mountaineering/data/gm4_mountaineering/recipe/crampons.json
index 0ebfd6133d..30f83c6b31 100644
--- a/gm4_mountaineering/data/gm4_mountaineering/recipe/crampons.json
+++ b/gm4_mountaineering/data/gm4_mountaineering/recipe/crampons.json
@@ -14,7 +14,7 @@
"components": {
"minecraft:custom_model_data": "item/crampons",
"minecraft:custom_data": "{gm4_mountaineering:{item:'crampons'}}",
- "minecraft:custom_name": "{\"translate\":\"item.gm4.crampons\",\"fallback\":\"Crampons\",\"italic\":false}",
+ "minecraft:custom_name": {"translate":"item.gm4.crampons","fallback":"Crampons","italic":false},
"minecraft:attribute_modifiers": [
{
"type": "minecraft:movement_speed",
diff --git a/gm4_mountaineering/data/gm4_mountaineering/recipe/ski_pole.json b/gm4_mountaineering/data/gm4_mountaineering/recipe/ski_pole.json
index cc2d34afce..9262be7062 100644
--- a/gm4_mountaineering/data/gm4_mountaineering/recipe/ski_pole.json
+++ b/gm4_mountaineering/data/gm4_mountaineering/recipe/ski_pole.json
@@ -16,7 +16,7 @@
"minecraft:custom_model_data": "item/poles",
"minecraft:max_stack_size": 1,
"minecraft:custom_data": "{gm4_mountaineering:{item:'poles'}}",
- "minecraft:custom_name": "{\"translate\":\"item.gm4.poles\",\"fallback\":\"Ski Pole\",\"italic\":false}"
+ "minecraft:custom_name": {"translate":"item.gm4.poles","fallback":"Ski Pole","italic":false}
}
}
}
diff --git a/gm4_mountaineering/data/gm4_mountaineering/recipe/skis.json b/gm4_mountaineering/data/gm4_mountaineering/recipe/skis.json
index 2731b0a668..99cb87e8d2 100644
--- a/gm4_mountaineering/data/gm4_mountaineering/recipe/skis.json
+++ b/gm4_mountaineering/data/gm4_mountaineering/recipe/skis.json
@@ -15,7 +15,7 @@
"components": {
"minecraft:custom_model_data": "item/skis",
"minecraft:custom_data": "{gm4_mountaineering:{item:'skis'}}",
- "minecraft:custom_name": "{\"translate\":\"item.gm4.skis\",\"fallback\":\"Skis\",\"italic\":false}"
+ "minecraft:custom_name": {"translate":"item.gm4.skis","fallback":"Skis","italic":false}
}
}
}
diff --git a/gm4_mysterious_midnights/beet.yaml b/gm4_mysterious_midnights/beet.yaml
index cd2e418ef1..3f7fd58ba3 100644
--- a/gm4_mysterious_midnights/beet.yaml
+++ b/gm4_mysterious_midnights/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_mysterious_midnights
name: Mysterious Midnights
-version: 1.6.X
+version: 1.7.X
data_pack:
load: .
@@ -13,7 +13,7 @@ meta:
gm4:
versioning:
required:
- lib_forceload: 1.4.0
+ lib_forceload: 1.5.0
schedule_loops: [main]
model_data:
- item: end_stone
diff --git a/gm4_mysterious_midnights/data/gm4_falling_stars/function/event.mcfunction b/gm4_mysterious_midnights/data/gm4_falling_stars/function/event.mcfunction
index 40ff503ba5..800dd9f2fb 100644
--- a/gm4_mysterious_midnights/data/gm4_falling_stars/function/event.mcfunction
+++ b/gm4_mysterious_midnights/data/gm4_falling_stars/function/event.mcfunction
@@ -10,4 +10,4 @@ execute if score $shower_clock gm4_fstar_decay matches 150.. run function gm4_fa
execute as @e[type=item,tag=gm4_endermite_star,nbt={OnGround:1b}] at @s run function gm4_falling_stars:hatch_endermite
# decay all falling star entities (saftey cap)
-execute as @e[type=potion,tag=gm4_falling_star] at @s run function gm4_falling_stars:falling_star/decay
+execute as @e[type=splash_potion,tag=gm4_falling_star] at @s run function gm4_falling_stars:falling_star/decay
diff --git a/gm4_mysterious_midnights/data/gm4_falling_stars/function/falling_star/accumulate_impact_points.mcfunction b/gm4_mysterious_midnights/data/gm4_falling_stars/function/falling_star/accumulate_impact_points.mcfunction
index 3284798eaa..53fca898cb 100644
--- a/gm4_mysterious_midnights/data/gm4_falling_stars/function/falling_star/accumulate_impact_points.mcfunction
+++ b/gm4_mysterious_midnights/data/gm4_falling_stars/function/falling_star/accumulate_impact_points.mcfunction
@@ -4,7 +4,7 @@
# spawn impact points. Max 20, each with a chance.
scoreboard players add $loop_count gm4_mm_data 1
-execute if predicate gm4_falling_stars:spawn_chance run summon marker ~ ~ ~ {CustomName:'"gm4_falling_stars_impact_point"',Tags:["gm4_falling_stars_impact_point"]}
+execute if predicate gm4_falling_stars:spawn_chance run summon marker ~ ~ ~ {CustomName:"gm4_falling_stars_impact_point",Tags:["gm4_falling_stars_impact_point"]}
# loop
execute unless score $loop_count gm4_mm_data matches 8.. run function gm4_falling_stars:falling_star/accumulate_impact_points
diff --git a/gm4_mysterious_midnights/data/gm4_falling_stars/function/falling_star/spawn.mcfunction b/gm4_mysterious_midnights/data/gm4_falling_stars/function/falling_star/spawn.mcfunction
index ebf2ced0af..5234e76f78 100644
--- a/gm4_mysterious_midnights/data/gm4_falling_stars/function/falling_star/spawn.mcfunction
+++ b/gm4_mysterious_midnights/data/gm4_falling_stars/function/falling_star/spawn.mcfunction
@@ -3,7 +3,7 @@
# run from gm4_falling_stars:event
# summon falling star
-summon shulker_bullet ~ ~ ~ {Motion:[0.0d,0.0d,0.0d],Tags:["gm4_falling_star","gm4_new_falling_star"],CustomName:'{"translate":"entity.gm4.falling_star","fallback":"Falling Star"}',Steps:0,Passengers:[{id:"potion",Tags:["gm4_falling_star"],CustomName:'"Falling Star"',Item:{count:1,id:"splash_potion",components:{"minecraft:potion_contents":{potion:"thick",custom_color:16777215,custom_effects:[{id:'minecraft:levitation',amplifier:0,duration:300}]}}}},{id:"area_effect_cloud",Tags:["gm4_falling_star"],Duration:600,CustomName:'"gm4_falling_star_particle"',Radius:0.5f,Particle:{type:"minecraft:end_rod"}},{id:"item",Age:3600,Tags:["gm4_falling_star","gm4_falling_stars_item"],Item:{count:1,id:"minecraft:end_stone"}}]}
+summon shulker_bullet ~ ~ ~ {Motion:[0.0d,0.0d,0.0d],Tags:["gm4_falling_star","gm4_new_falling_star"],CustomName:{"translate":"entity.gm4.falling_star","fallback":"Falling Star"},Steps:0,Passengers:[{id:"splash_potion",Tags:["gm4_falling_star"],CustomName:"Falling Star",Item:{count:1,id:"splash_potion",components:{"minecraft:potion_contents":{potion:"thick",custom_color:16777215,custom_effects:[{id:"minecraft:levitation",amplifier:0,duration:300}]}}}},{id:"area_effect_cloud",Tags:["gm4_falling_star"],Duration:600,CustomName:"gm4_falling_star_particle",Radius:0.5f,Particle:{type:"minecraft:end_rod"}},{id:"item",Age:3600,Tags:["gm4_falling_star","gm4_falling_stars_item"],Item:{count:1,id:"minecraft:end_stone"}}]}
# set random motion vector
data modify storage gm4_falling_stars:motion temp.uuid set from entity @e[type=shulker_bullet,tag=gm4_new_falling_star,limit=1] UUID
diff --git a/gm4_mysterious_midnights/data/gm4_falling_stars/function/setup.mcfunction b/gm4_mysterious_midnights/data/gm4_falling_stars/function/setup.mcfunction
index c28b6874dc..63aee655d3 100644
--- a/gm4_mysterious_midnights/data/gm4_falling_stars/function/setup.mcfunction
+++ b/gm4_mysterious_midnights/data/gm4_falling_stars/function/setup.mcfunction
@@ -1,3 +1,3 @@
#called upon start of a rare mysterious midnight. Used to select this expansion by chance.
-summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:'"gm4_falling_stars"',Tags:["gm4_mysterious_midnights_expansion","gm4_falling_stars"],Duration:18000,Radius:0f,Particle:{type:"minecraft:block",block_state:"minecraft:air"}}
+summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:"gm4_falling_stars",Tags:["gm4_mysterious_midnights_expansion","gm4_falling_stars"],Duration:18000,Radius:0f,Particle:{type:"minecraft:block",block_state:"minecraft:air"}}
diff --git a/gm4_mysterious_midnights/data/gm4_falling_stars/guidebook/falling_stars.json b/gm4_mysterious_midnights/data/gm4_falling_stars/guidebook/falling_stars.json
index e449b45e52..d5637c9fff 100644
--- a/gm4_mysterious_midnights/data/gm4_falling_stars/guidebook/falling_stars.json
+++ b/gm4_mysterious_midnights/data/gm4_falling_stars/guidebook/falling_stars.json
@@ -20,7 +20,7 @@
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
- "type": "minecraft:potion",
+ "type": "minecraft:splash_potion",
"nbt": "{Tags:['gm4_falling_star']}"
}
},
diff --git a/gm4_mysterious_midnights/data/gm4_falling_stars/tags/entity_type/falling_star.json b/gm4_mysterious_midnights/data/gm4_falling_stars/tags/entity_type/falling_star.json
index fc2d858d6f..14d0873a9c 100644
--- a/gm4_mysterious_midnights/data/gm4_falling_stars/tags/entity_type/falling_star.json
+++ b/gm4_mysterious_midnights/data/gm4_falling_stars/tags/entity_type/falling_star.json
@@ -2,7 +2,7 @@
"values": [
"minecraft:area_effect_cloud",
"minecraft:item",
- "minecraft:potion",
- "minecraft:shulker_bullet"
+ "minecraft:shulker_bullet",
+ "minecraft:splash_potion"
]
}
diff --git a/gm4_mysterious_midnights/data/gm4_harvest_moons/function/setup.mcfunction b/gm4_mysterious_midnights/data/gm4_harvest_moons/function/setup.mcfunction
index 7702ca1f9b..4c64227764 100644
--- a/gm4_mysterious_midnights/data/gm4_harvest_moons/function/setup.mcfunction
+++ b/gm4_mysterious_midnights/data/gm4_harvest_moons/function/setup.mcfunction
@@ -1,3 +1,3 @@
#called upon start of a rare mysterious midnight. Used to select this expansion by chance.
-summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:'"gm4_harvest_moons"',Tags:["gm4_mysterious_midnights_expansion","gm4_harvest_moons"],Duration:18000,Radius:0f,Particle:{type:"minecraft:block",block_state:"minecraft:air"}}
+summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:"gm4_harvest_moons",Tags:["gm4_mysterious_midnights_expansion","gm4_harvest_moons"],Duration:18000,Radius:0f,Particle:{type:"minecraft:block",block_state:"minecraft:air"}}
diff --git a/gm4_mysterious_midnights/data/gm4_mysterious_midnights/function/calculate_difficulty.mcfunction b/gm4_mysterious_midnights/data/gm4_mysterious_midnights/function/calculate_difficulty.mcfunction
index 1ab0499668..1753765156 100644
--- a/gm4_mysterious_midnights/data/gm4_mysterious_midnights/function/calculate_difficulty.mcfunction
+++ b/gm4_mysterious_midnights/data/gm4_mysterious_midnights/function/calculate_difficulty.mcfunction
@@ -9,7 +9,8 @@ scoreboard players set 16 gm4_mm_data 16
scoreboard players operation difficulty gm4_mm_data %= 16 gm4_mm_data
# spawn AEC for random selection (1/3 of nights are not a mysterious midnight)
-execute if score difficulty gm4_mm_data matches 6.. run playsound entity.wolf.howl weather @a[x=0] ~ ~100000000000 ~ 0 1 1
+execute if score difficulty gm4_mm_data matches 6.. run playsound event.mob_effect.raid_omen weather @a[x=0] ~ ~100000000000 ~ 0 .5 1
+execute if score difficulty gm4_mm_data matches 6.. run playsound block.trial_spawner.ominous_activate weather @a[x=0] ~ ~100000000000 ~ 0 .6 1
execute if score difficulty gm4_mm_data matches 6..10 run function #gm4_mysterious_midnights:setup_common_expansion
execute if score difficulty gm4_mm_data matches 11..13 run function #gm4_mysterious_midnights:setup_uncommon_expansion
execute if score difficulty gm4_mm_data matches 14.. run function #gm4_mysterious_midnights:setup_rare_expansion
diff --git a/gm4_mysterious_midnights/data/gm4_nightmare_nights/function/setup.mcfunction b/gm4_mysterious_midnights/data/gm4_nightmare_nights/function/setup.mcfunction
index d5e2f047dc..4cb0e3c6ac 100644
--- a/gm4_mysterious_midnights/data/gm4_nightmare_nights/function/setup.mcfunction
+++ b/gm4_mysterious_midnights/data/gm4_nightmare_nights/function/setup.mcfunction
@@ -1,3 +1,3 @@
#called upon start of a rare mysterious midnight. Used to select this expansion by chance.
-summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:'"gm4_nightmare_nights"',Tags:["gm4_mysterious_midnights_expansion","gm4_nightmare_nights"],Duration:18000,Radius:0f,Particle:{type:"minecraft:block",block_state:"minecraft:air"}}
+summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:"gm4_nightmare_nights",Tags:["gm4_mysterious_midnights_expansion","gm4_nightmare_nights"],Duration:18000,Radius:0f,Particle:{type:"minecraft:block",block_state:"minecraft:air"}}
diff --git a/gm4_mysterious_midnights/data/gm4_resurrecting_skeletons/function/setup.mcfunction b/gm4_mysterious_midnights/data/gm4_resurrecting_skeletons/function/setup.mcfunction
index d6a8db251d..b2add3bda7 100644
--- a/gm4_mysterious_midnights/data/gm4_resurrecting_skeletons/function/setup.mcfunction
+++ b/gm4_mysterious_midnights/data/gm4_resurrecting_skeletons/function/setup.mcfunction
@@ -1,3 +1,3 @@
#called upon start of a rare mysterious midnight. Used to select this expansion by chance.
-summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:'"gm4_resurrecting_skeletons"',Tags:["gm4_mysterious_midnights_expansion","gm4_resurrecting_skeletons"],Duration:18000,Radius:0f,Particle:{type:"minecraft:block",block_state:"minecraft:air"}}
+summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:"gm4_resurrecting_skeletons",Tags:["gm4_mysterious_midnights_expansion","gm4_resurrecting_skeletons"],Duration:18000,Radius:0f,Particle:{type:"minecraft:block",block_state:"minecraft:air"}}
diff --git a/gm4_mysterious_midnights/data/gm4_resurrecting_skeletons/function/spawn_skeleton.mcfunction b/gm4_mysterious_midnights/data/gm4_resurrecting_skeletons/function/spawn_skeleton.mcfunction
index 90d7cd6a37..6321ac591c 100644
--- a/gm4_mysterious_midnights/data/gm4_resurrecting_skeletons/function/spawn_skeleton.mcfunction
+++ b/gm4_mysterious_midnights/data/gm4_resurrecting_skeletons/function/spawn_skeleton.mcfunction
@@ -2,7 +2,7 @@
#at @s
#called by event
-summon skeleton ~ ~ ~ {DeathLootTable:"gm4:empty",ArmorItems:[],HandItems:[],active_effects:[{id:'minecraft:nausea',amplifier:1,duration:30}],attributes:[{id:"minecraft:attack_damage",base:10.0}]}
+summon skeleton ~ ~ ~ {DeathLootTable:"gm4:empty",equipment:{},active_effects:[{id:'minecraft:nausea',amplifier:1,duration:30}],attributes:[{id:"minecraft:attack_damage",base:10.0}]}
playsound block.redstone_torch.burnout hostile @a[distance=..16] ~ ~ ~ 1 .1
function gm4_resurrecting_skeletons:absorb_bone
diff --git a/gm4_mysterious_midnights/data/gm4_resurrecting_zombies/function/setup.mcfunction b/gm4_mysterious_midnights/data/gm4_resurrecting_zombies/function/setup.mcfunction
index 4618c9fc17..daec32d888 100644
--- a/gm4_mysterious_midnights/data/gm4_resurrecting_zombies/function/setup.mcfunction
+++ b/gm4_mysterious_midnights/data/gm4_resurrecting_zombies/function/setup.mcfunction
@@ -1,3 +1,3 @@
#called upon start of a rare mysterious midnight. Used to select this expansion by chance.
-summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:'"gm4_resurrecting_zombies"',Tags:["gm4_mysterious_midnights_expansion","gm4_resurrecting_zombies"],Duration:18000,Radius:0f,Particle:{type:"minecraft:block",block_state:"minecraft:air"}}
+summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:"gm4_resurrecting_zombies",Tags:["gm4_mysterious_midnights_expansion","gm4_resurrecting_zombies"],Duration:18000,Radius:0f,Particle:{type:"minecraft:block",block_state:"minecraft:air"}}
diff --git a/gm4_mysterious_midnights/data/gm4_resurrecting_zombies/function/spawn_zombie.mcfunction b/gm4_mysterious_midnights/data/gm4_resurrecting_zombies/function/spawn_zombie.mcfunction
index 81132a2f32..4ba696803e 100644
--- a/gm4_mysterious_midnights/data/gm4_resurrecting_zombies/function/spawn_zombie.mcfunction
+++ b/gm4_mysterious_midnights/data/gm4_resurrecting_zombies/function/spawn_zombie.mcfunction
@@ -2,7 +2,7 @@
#at @s
#called by event
-summon zombie ~ ~ ~ {DeathLootTable:"gm4:empty",ArmorItems:[],HandItems:[],active_effects:[{id:'minecraft:nausea',amplifier:1,duration:30}],attributes:[{id:"minecraft:attack_damage",base:10.0}]}
+summon zombie ~ ~ ~ {DeathLootTable:"gm4:empty",equipment:{},active_effects:[{id:'minecraft:nausea',amplifier:1,duration:30}],attributes:[{id:"minecraft:attack_damage",base:10.0}]}
playsound block.redstone_torch.burnout hostile @a[distance=..16] ~ ~ ~ 1 .1
function gm4_resurrecting_zombies:absorb_rotten_flesh
diff --git a/gm4_mysterious_midnights/data/gm4_tipped_skeletons/function/event.mcfunction b/gm4_mysterious_midnights/data/gm4_tipped_skeletons/function/event.mcfunction
index 6cd8d2d3d2..7dabcda4ef 100644
--- a/gm4_mysterious_midnights/data/gm4_tipped_skeletons/function/event.mcfunction
+++ b/gm4_mysterious_midnights/data/gm4_tipped_skeletons/function/event.mcfunction
@@ -2,4 +2,4 @@
#at world spawn
#called by mysterious midnights base if this expansion was selected. pulsed every 0.8 seconds throughout the night.
-execute as @e[type=skeleton,tag=!smithed.entity,tag=!gm4_tipped_skeleton,x=0,nbt={HandItems:[{id:"minecraft:bow",count:1},{}],PersistenceRequired:0b}] at @s run function gm4_tipped_skeletons:tipp
+execute as @e[type=skeleton,tag=!smithed.entity,tag=!gm4_tipped_skeleton,x=0,nbt={equipment:{mainhand:{id:"minecraft:bow",count:1}},PersistenceRequired:0b}] at @s run function gm4_tipped_skeletons:tipp
diff --git a/gm4_mysterious_midnights/data/gm4_tipped_skeletons/function/setup.mcfunction b/gm4_mysterious_midnights/data/gm4_tipped_skeletons/function/setup.mcfunction
index 6eeb9eb48c..259b772cef 100644
--- a/gm4_mysterious_midnights/data/gm4_tipped_skeletons/function/setup.mcfunction
+++ b/gm4_mysterious_midnights/data/gm4_tipped_skeletons/function/setup.mcfunction
@@ -1,3 +1,3 @@
#called upon start of a rare mysterious midnight. Used to select this expansion by chance.
-summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:'"gm4_tipped_skeletons"',Tags:["gm4_mysterious_midnights_expansion","gm4_tipped_skeletons"],Duration:18000,Radius:0f,Particle:{type:"minecraft:block",block_state:"minecraft:air"}}
+summon minecraft:area_effect_cloud ~ ~ ~ {CustomName:"gm4_tipped_skeletons",Tags:["gm4_mysterious_midnights_expansion","gm4_tipped_skeletons"],Duration:18000,Radius:0f,Particle:{type:"minecraft:block",block_state:"minecraft:air"}}
diff --git a/gm4_mysterious_midnights/data/gm4_tipped_skeletons/function/tipp.mcfunction b/gm4_mysterious_midnights/data/gm4_tipped_skeletons/function/tipp.mcfunction
index 3efd3dea1b..d69c6f8c19 100644
--- a/gm4_mysterious_midnights/data/gm4_tipped_skeletons/function/tipp.mcfunction
+++ b/gm4_mysterious_midnights/data/gm4_tipped_skeletons/function/tipp.mcfunction
@@ -1,7 +1,7 @@
-#@s = not tipped skeletons with nbt={HandItems:[{id:"minecraft:bow",count:1},{}],PersistenceRequired:0b}
+#@s = not tipped skeletons with nbt={equipment:{mainhand:{id:"minecraft:bow",count:1}},PersistenceRequired:0b}
#at @s
#called by event
tag @s add gm4_tipped_skeleton
-data modify entity @s HandDropChances[1] set value 0.75f
+data modify entity @s drop_chances merge value {offhand:0.75f}
loot replace entity @s weapon.offhand loot gm4_tipped_skeletons:tipped_type
diff --git a/gm4_note_block_interface/beet.yaml b/gm4_note_block_interface/beet.yaml
index 308622e8f4..1b05d2b5a8 100644
--- a/gm4_note_block_interface/beet.yaml
+++ b/gm4_note_block_interface/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_note_block_interface
name: Note Block Interface
-version: 1.4.X
+version: 1.5.X
data_pack:
load: .
diff --git a/gm4_note_block_interface/data/gm4_note_block_interface/function/interface/create.mcfunction b/gm4_note_block_interface/data/gm4_note_block_interface/function/interface/create.mcfunction
index d8cf339e49..875d120e14 100644
--- a/gm4_note_block_interface/data/gm4_note_block_interface/function/interface/create.mcfunction
+++ b/gm4_note_block_interface/data/gm4_note_block_interface/function/interface/create.mcfunction
@@ -9,28 +9,28 @@
kill @e[distance=..0.5,type=area_effect_cloud,tag=gm4_nbi_display]
# summons new AEC with correct note
-execute if block ~ ~ ~ note_block[note=0] run summon area_effect_cloud ~ ~ ~ {Duration:20,Tags:["gm4_nbi_display"],CustomNameVisible:1b,CustomName:'{"text":"F♯"}'}
-execute if block ~ ~ ~ note_block[note=1] run summon area_effect_cloud ~ ~ ~ {Duration:20,Tags:["gm4_nbi_display"],CustomNameVisible:1b,CustomName:'{"text":"G"}'}
-execute if block ~ ~ ~ note_block[note=2] run summon area_effect_cloud ~ ~ ~ {Duration:20,Tags:["gm4_nbi_display"],CustomNameVisible:1b,CustomName:'{"text":"G♯"}'}
-execute if block ~ ~ ~ note_block[note=3] run summon area_effect_cloud ~ ~ ~ {Duration:20,Tags:["gm4_nbi_display"],CustomNameVisible:1b,CustomName:'{"text":"A"}'}
-execute if block ~ ~ ~ note_block[note=4] run summon area_effect_cloud ~ ~ ~ {Duration:20,Tags:["gm4_nbi_display"],CustomNameVisible:1b,CustomName:'{"text":"A♯"}'}
-execute if block ~ ~ ~ note_block[note=5] run summon area_effect_cloud ~ ~ ~ {Duration:20,Tags:["gm4_nbi_display"],CustomNameVisible:1b,CustomName:'{"text":"B"}'}
-execute if block ~ ~ ~ note_block[note=6] run summon area_effect_cloud ~ ~ ~ {Duration:20,Tags:["gm4_nbi_display"],CustomNameVisible:1b,CustomName:'{"text":"C"}'}
-execute if block ~ ~ ~ note_block[note=7] run summon area_effect_cloud ~ ~ ~ {Duration:20,Tags:["gm4_nbi_display"],CustomNameVisible:1b,CustomName:'{"text":"C♯"}'}
-execute if block ~ ~ ~ note_block[note=8] run summon area_effect_cloud ~ ~ ~ {Duration:20,Tags:["gm4_nbi_display"],CustomNameVisible:1b,CustomName:'{"text":"D"}'}
-execute if block ~ ~ ~ note_block[note=9] run summon area_effect_cloud ~ ~ ~ {Duration:20,Tags:["gm4_nbi_display"],CustomNameVisible:1b,CustomName:'{"text":"D♯"}'}
-execute if block ~ ~ ~ note_block[note=10] run summon area_effect_cloud ~ ~ ~ {Duration:20,Tags:["gm4_nbi_display"],CustomNameVisible:1b,CustomName:'{"text":"E"}'}
-execute if block ~ ~ ~ note_block[note=11] run summon area_effect_cloud ~ ~ ~ {Duration:20,Tags:["gm4_nbi_display"],CustomNameVisible:1b,CustomName:'{"text":"F"}'}
-execute if block ~ ~ ~ note_block[note=12] run summon area_effect_cloud ~ ~ ~ {Duration:20,Tags:["gm4_nbi_display"],CustomNameVisible:1b,CustomName:'{"text":"F♯"}'}
-execute if block ~ ~ ~ note_block[note=13] run summon area_effect_cloud ~ ~ ~ {Duration:20,Tags:["gm4_nbi_display"],CustomNameVisible:1b,CustomName:'{"text":"G"}'}
-execute if block ~ ~ ~ note_block[note=14] run summon area_effect_cloud ~ ~ ~ {Duration:20,Tags:["gm4_nbi_display"],CustomNameVisible:1b,CustomName:'{"text":"G♯"}'}
-execute if block ~ ~ ~ note_block[note=15] run summon area_effect_cloud ~ ~ ~ {Duration:20,Tags:["gm4_nbi_display"],CustomNameVisible:1b,CustomName:'{"text":"A"}'}
-execute if block ~ ~ ~ note_block[note=16] run summon area_effect_cloud ~ ~ ~ {Duration:20,Tags:["gm4_nbi_display"],CustomNameVisible:1b,CustomName:'{"text":"A♯"}'}
-execute if block ~ ~ ~ note_block[note=17] run summon area_effect_cloud ~ ~ ~ {Duration:20,Tags:["gm4_nbi_display"],CustomNameVisible:1b,CustomName:'{"text":"B"}'}
-execute if block ~ ~ ~ note_block[note=18] run summon area_effect_cloud ~ ~ ~ {Duration:20,Tags:["gm4_nbi_display"],CustomNameVisible:1b,CustomName:'{"text":"C"}'}
-execute if block ~ ~ ~ note_block[note=19] run summon area_effect_cloud ~ ~ ~ {Duration:20,Tags:["gm4_nbi_display"],CustomNameVisible:1b,CustomName:'{"text":"C♯"}'}
-execute if block ~ ~ ~ note_block[note=20] run summon area_effect_cloud ~ ~ ~ {Duration:20,Tags:["gm4_nbi_display"],CustomNameVisible:1b,CustomName:'{"text":"D"}'}
-execute if block ~ ~ ~ note_block[note=21] run summon area_effect_cloud ~ ~ ~ {Duration:20,Tags:["gm4_nbi_display"],CustomNameVisible:1b,CustomName:'{"text":"D♯"}'}
-execute if block ~ ~ ~ note_block[note=22] run summon area_effect_cloud ~ ~ ~ {Duration:20,Tags:["gm4_nbi_display"],CustomNameVisible:1b,CustomName:'{"text":"E"}'}
-execute if block ~ ~ ~ note_block[note=23] run summon area_effect_cloud ~ ~ ~ {Duration:20,Tags:["gm4_nbi_display"],CustomNameVisible:1b,CustomName:'{"text":"F"}'}
-execute if block ~ ~ ~ note_block[note=24] run summon area_effect_cloud ~ ~ ~ {Duration:20,Tags:["gm4_nbi_display"],CustomNameVisible:1b,CustomName:'{"text":"F♯"}'}
+execute if block ~ ~ ~ note_block[note=0] run summon area_effect_cloud ~ ~ ~ {Radius:0.0f,Duration:20,Particle:{type:"minecraft:block",block_state:{Name:"minecraft:air"}},Tags:["gm4_nbi_display"],CustomNameVisible:1b,CustomName:{"text":"F♯"}}
+execute if block ~ ~ ~ note_block[note=1] run summon area_effect_cloud ~ ~ ~ {Radius:0.0f,Duration:20,Particle:{type:"minecraft:block",block_state:{Name:"minecraft:air"}},Tags:["gm4_nbi_display"],CustomNameVisible:1b,CustomName:{"text":"G"}}
+execute if block ~ ~ ~ note_block[note=2] run summon area_effect_cloud ~ ~ ~ {Radius:0.0f,Duration:20,Particle:{type:"minecraft:block",block_state:{Name:"minecraft:air"}},Tags:["gm4_nbi_display"],CustomNameVisible:1b,CustomName:{"text":"G♯"}}
+execute if block ~ ~ ~ note_block[note=3] run summon area_effect_cloud ~ ~ ~ {Radius:0.0f,Duration:20,Particle:{type:"minecraft:block",block_state:{Name:"minecraft:air"}},Tags:["gm4_nbi_display"],CustomNameVisible:1b,CustomName:{"text":"A"}}
+execute if block ~ ~ ~ note_block[note=4] run summon area_effect_cloud ~ ~ ~ {Radius:0.0f,Duration:20,Particle:{type:"minecraft:block",block_state:{Name:"minecraft:air"}},Tags:["gm4_nbi_display"],CustomNameVisible:1b,CustomName:{"text":"A♯"}}
+execute if block ~ ~ ~ note_block[note=5] run summon area_effect_cloud ~ ~ ~ {Radius:0.0f,Duration:20,Particle:{type:"minecraft:block",block_state:{Name:"minecraft:air"}},Tags:["gm4_nbi_display"],CustomNameVisible:1b,CustomName:{"text":"B"}}
+execute if block ~ ~ ~ note_block[note=6] run summon area_effect_cloud ~ ~ ~ {Radius:0.0f,Duration:20,Particle:{type:"minecraft:block",block_state:{Name:"minecraft:air"}},Tags:["gm4_nbi_display"],CustomNameVisible:1b,CustomName:{"text":"C"}}
+execute if block ~ ~ ~ note_block[note=7] run summon area_effect_cloud ~ ~ ~ {Radius:0.0f,Duration:20,Particle:{type:"minecraft:block",block_state:{Name:"minecraft:air"}},Tags:["gm4_nbi_display"],CustomNameVisible:1b,CustomName:{"text":"C♯"}}
+execute if block ~ ~ ~ note_block[note=8] run summon area_effect_cloud ~ ~ ~ {Radius:0.0f,Duration:20,Particle:{type:"minecraft:block",block_state:{Name:"minecraft:air"}},Tags:["gm4_nbi_display"],CustomNameVisible:1b,CustomName:{"text":"D"}}
+execute if block ~ ~ ~ note_block[note=9] run summon area_effect_cloud ~ ~ ~ {Radius:0.0f,Duration:20,Particle:{type:"minecraft:block",block_state:{Name:"minecraft:air"}},Tags:["gm4_nbi_display"],CustomNameVisible:1b,CustomName:{"text":"D♯"}}
+execute if block ~ ~ ~ note_block[note=10] run summon area_effect_cloud ~ ~ ~ {Radius:0.0f,Duration:20,Particle:{type:"minecraft:block",block_state:{Name:"minecraft:air"}},Tags:["gm4_nbi_display"],CustomNameVisible:1b,CustomName:{"text":"E"}}
+execute if block ~ ~ ~ note_block[note=11] run summon area_effect_cloud ~ ~ ~ {Radius:0.0f,Duration:20,Particle:{type:"minecraft:block",block_state:{Name:"minecraft:air"}},Tags:["gm4_nbi_display"],CustomNameVisible:1b,CustomName:{"text":"F"}}
+execute if block ~ ~ ~ note_block[note=12] run summon area_effect_cloud ~ ~ ~ {Radius:0.0f,Duration:20,Particle:{type:"minecraft:block",block_state:{Name:"minecraft:air"}},Tags:["gm4_nbi_display"],CustomNameVisible:1b,CustomName:{"text":"F♯"}}
+execute if block ~ ~ ~ note_block[note=13] run summon area_effect_cloud ~ ~ ~ {Radius:0.0f,Duration:20,Particle:{type:"minecraft:block",block_state:{Name:"minecraft:air"}},Tags:["gm4_nbi_display"],CustomNameVisible:1b,CustomName:{"text":"G"}}
+execute if block ~ ~ ~ note_block[note=14] run summon area_effect_cloud ~ ~ ~ {Radius:0.0f,Duration:20,Particle:{type:"minecraft:block",block_state:{Name:"minecraft:air"}},Tags:["gm4_nbi_display"],CustomNameVisible:1b,CustomName:{"text":"G♯"}}
+execute if block ~ ~ ~ note_block[note=15] run summon area_effect_cloud ~ ~ ~ {Radius:0.0f,Duration:20,Particle:{type:"minecraft:block",block_state:{Name:"minecraft:air"}},Tags:["gm4_nbi_display"],CustomNameVisible:1b,CustomName:{"text":"A"}}
+execute if block ~ ~ ~ note_block[note=16] run summon area_effect_cloud ~ ~ ~ {Radius:0.0f,Duration:20,Particle:{type:"minecraft:block",block_state:{Name:"minecraft:air"}},Tags:["gm4_nbi_display"],CustomNameVisible:1b,CustomName:{"text":"A♯"}}
+execute if block ~ ~ ~ note_block[note=17] run summon area_effect_cloud ~ ~ ~ {Radius:0.0f,Duration:20,Particle:{type:"minecraft:block",block_state:{Name:"minecraft:air"}},Tags:["gm4_nbi_display"],CustomNameVisible:1b,CustomName:{"text":"B"}}
+execute if block ~ ~ ~ note_block[note=18] run summon area_effect_cloud ~ ~ ~ {Radius:0.0f,Duration:20,Particle:{type:"minecraft:block",block_state:{Name:"minecraft:air"}},Tags:["gm4_nbi_display"],CustomNameVisible:1b,CustomName:{"text":"C"}}
+execute if block ~ ~ ~ note_block[note=19] run summon area_effect_cloud ~ ~ ~ {Radius:0.0f,Duration:20,Particle:{type:"minecraft:block",block_state:{Name:"minecraft:air"}},Tags:["gm4_nbi_display"],CustomNameVisible:1b,CustomName:{"text":"C♯"}}
+execute if block ~ ~ ~ note_block[note=20] run summon area_effect_cloud ~ ~ ~ {Radius:0.0f,Duration:20,Particle:{type:"minecraft:block",block_state:{Name:"minecraft:air"}},Tags:["gm4_nbi_display"],CustomNameVisible:1b,CustomName:{"text":"D"}}
+execute if block ~ ~ ~ note_block[note=21] run summon area_effect_cloud ~ ~ ~ {Radius:0.0f,Duration:20,Particle:{type:"minecraft:block",block_state:{Name:"minecraft:air"}},Tags:["gm4_nbi_display"],CustomNameVisible:1b,CustomName:{"text":"D♯"}}
+execute if block ~ ~ ~ note_block[note=22] run summon area_effect_cloud ~ ~ ~ {Radius:0.0f,Duration:20,Particle:{type:"minecraft:block",block_state:{Name:"minecraft:air"}},Tags:["gm4_nbi_display"],CustomNameVisible:1b,CustomName:{"text":"E"}}
+execute if block ~ ~ ~ note_block[note=23] run summon area_effect_cloud ~ ~ ~ {Radius:0.0f,Duration:20,Particle:{type:"minecraft:block",block_state:{Name:"minecraft:air"}},Tags:["gm4_nbi_display"],CustomNameVisible:1b,CustomName:{"text":"F"}}
+execute if block ~ ~ ~ note_block[note=24] run summon area_effect_cloud ~ ~ ~ {Radius:0.0f,Duration:20,Particle:{type:"minecraft:block",block_state:{Name:"minecraft:air"}},Tags:["gm4_nbi_display"],CustomNameVisible:1b,CustomName:{"text":"F♯"}}
diff --git a/gm4_orb_of_ankou/assets/translations.csv b/gm4_orb_of_ankou/assets/translations.csv
index d8d0d74d3f..38403f1325 100644
--- a/gm4_orb_of_ankou/assets/translations.csv
+++ b/gm4_orb_of_ankou/assets/translations.csv
@@ -19,7 +19,7 @@ entity.gm4.severed_soul,Severed Soul\u00A7
entity.gm4.wandering_tear,Wandering Tear\u00A7
entity.gm4.withering_magic,Withering Magic
item.gm4.orb_of_ankou,Orb of Ankou
-item.gm4.shamir.corripio,Corripio
+item.gm4.shamir.corripio,Corripio Shamir
item.gm4.soul_essence,Soul Essence
item.gm4.soul_shard,Soul Shard
text.gm4.orb_of_ankou.empty,Empty
@@ -90,8 +90,9 @@ text.gm4.guidebook.orb_of_ankou.note.volatile,Creates explosion if damaged below
text.gm4.guidebook.orb_of_ankou.offensive_pneumas,The following pneumas activate upon dealing damage:
text.gm4.guidebook.orb_of_ankou.note.blasting,Shoots fireballs when shooting a crossbow with blaze powder in the inventory
text.gm4.guidebook.orb_of_ankou.note.depriving,Applies Hunger to attacked targets; Applies Weakness to attacked mobs
-text.gm4.guidebook.orb_of_ankou.note.freezing,Applies Slowness to attacked targets
+text.gm4.guidebook.orb_of_ankou.note.freezing,Applies Slowness to arrows shot from bows
text.gm4.guidebook.orb_of_ankou.note.hawkeye,Doubles the damage of arrows shot from bows; Arrows shot from bows will have Piercing I
+text.gm4.guidebook.orb_of_ankou.note.tranquilizing,Applies Poison to arrows shot from bows
text.gm4.guidebook.orb_of_ankou.note.venomous,Applies Poison to attacked target
text.gm4.guidebook.orb_of_ankou.note.withering,Applies Wither to attacked target
text.gm4.guidebook.orb_of_ankou.passive_pneumas,"The following pneumas are passive, activating automatically:"
diff --git a/gm4_orb_of_ankou/beet.yaml b/gm4_orb_of_ankou/beet.yaml
index 4aaa0ca203..f6ea9731f4 100644
--- a/gm4_orb_of_ankou/beet.yaml
+++ b/gm4_orb_of_ankou/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_orb_of_ankou
name: Orb of Ankou
-version: 1.7.X
+version: 1.8.X
data_pack:
load: .
@@ -16,13 +16,15 @@ pipeline:
- gm4_metallurgy.shamir_model_template
- gm4.plugins.extend.module
- gm4.plugins.include.lib_custom_crafters
+ - gm4.plugins.include.lib_player_motion
meta:
gm4:
versioning:
required:
- gm4_metallurgy: 1.4.0
- lib_custom_crafters: 3.2.0
+ gm4_metallurgy: 1.5.0
+ lib_custom_crafters: 3.4.0
+ lib_player_motion: 1.0.0
schedule_loops:
- main
- tick
diff --git a/gm4_orb_of_ankou/data/gm4_corripio_shamir/loot_table/band.json b/gm4_orb_of_ankou/data/gm4_corripio_shamir/loot_table/band.json
index d4b3884172..fb5f403783 100644
--- a/gm4_orb_of_ankou/data/gm4_corripio_shamir/loot_table/band.json
+++ b/gm4_orb_of_ankou/data/gm4_corripio_shamir/loot_table/band.json
@@ -23,7 +23,7 @@
"lore": [
{
"translate": "item.gm4.shamir.corripio",
- "fallback": "Corripio",
+ "fallback": "Corripio Shamir",
"italic": false,
"color": "gray"
}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/advancement/triggers/shoot_crossbow.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/advancement/triggers/shoot_crossbow.json
index f9e14b02ea..938f8b279e 100644
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/advancement/triggers/shoot_crossbow.json
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/advancement/triggers/shoot_crossbow.json
@@ -2,17 +2,7 @@
"criteria": {
"crossbow_shot": {
"trigger": "minecraft:shot_crossbow",
- "conditions": {
- "item": {
- "components": {
- "minecraft:charged_projectiles": [
- {
- "id": "minecraft:arrow"
- }
- ]
- }
- }
- }
+ "conditions": {}
}
},
"rewards": {
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/init.mcfunction b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/init.mcfunction
index 8417f2bbec..dc24f83fc5 100644
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/init.mcfunction
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/init.mcfunction
@@ -21,6 +21,7 @@ scoreboard objectives add gm4_oa_snk_num dummy
scoreboard objectives add gm4_oa_marker dummy
scoreboard objectives add gm4_oa_feign_t dummy
scoreboard objectives add gm4_oa_sniff dummy
+scoreboard objectives add gm4_oa_jump_stop dummy
scoreboard objectives add gm4_health health
scoreboard objectives add gm4_oa_sneak minecraft.custom:minecraft.sneak_time
scoreboard objectives add gm4_oa_swim minecraft.custom:minecraft.swim_one_cm
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/main.mcfunction b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/main.mcfunction
index dea584cd58..2376ee999e 100644
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/main.mcfunction
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/main.mcfunction
@@ -10,8 +10,7 @@ effect give @a[gamemode=!spectator,tag=gm4_pneuma_gliding,scores={gm4_oa_swim=1.
scoreboard players reset @a gm4_oa_swim
# soaring
-tag @a[tag=gm4_oa_soaring_off_ground,nbt={OnGround:1b}] remove gm4_oa_soaring_off_ground
-effect give @a[gamemode=!spectator,tag=gm4_oa_soaring_off_ground] jump_boost 2 255 true
+execute as @a[tag=gm4_oa_soaring_off_ground,nbt={OnGround:1b}] run function gm4_orb_of_ankou:pneumas/soaring/remove_fall_protection
# sniffing
scoreboard players remove @a[scores={gm4_oa_sniff=1..}] gm4_oa_sniff 1
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/player.mcfunction b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/player.mcfunction
index 0e6af8375f..e47a837903 100644
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/player.mcfunction
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/player.mcfunction
@@ -10,3 +10,6 @@ execute at @s[tag=gm4_pneuma_synergetic] run function gm4_orb_of_ankou:pneumas/s
# soaring
execute at @s[tag=gm4_oa_soaring_active] run function gm4_orb_of_ankou:pneumas/soaring/apply
+# disable jump revert
+scoreboard players remove @a[scores={gm4_oa_jump_stop=1..}] gm4_oa_jump_stop 1
+execute as @a[scores={gm4_oa_jump_stop=1}] run attribute @s minecraft:jump_strength modifier remove gm4_orb_of_ankou:prevent_jump
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/advancement_triggers/player_damaged.mcfunction b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/advancement_triggers/player_damaged.mcfunction
index 6f2df0617c..b200b95112 100644
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/advancement_triggers/player_damaged.mcfunction
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/advancement_triggers/player_damaged.mcfunction
@@ -10,5 +10,3 @@ effect give @s[tag=gm4_pneuma_aggressive] strength 3 1 true
execute if entity @s[tag=gm4_pneuma_volatile] run function gm4_orb_of_ankou:pneumas/volatile
execute if entity @s[tag=gm4_pneuma_feigning,scores={gm4_health=..10}] run function gm4_orb_of_ankou:pneumas/feigning/apply
-
-execute if entity @s[tag=gm4_oa_soaring_off_ground] run function gm4_orb_of_ankou:pneumas/soaring/damaged
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/advancement_triggers/shot_crossbow.mcfunction b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/advancement_triggers/shot_crossbow.mcfunction
index ed72e8803c..ecc95a8a12 100644
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/advancement_triggers/shot_crossbow.mcfunction
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/advancement_triggers/shot_crossbow.mcfunction
@@ -2,4 +2,4 @@
# run from advancement "trigers/shoot_crossbow"
advancement revoke @s only gm4_orb_of_ankou:triggers/shoot_crossbow
-execute if entity @s[tag=gm4_pneuma_blasting,nbt={Inventory:[{id:"minecraft:blaze_powder"}]}] run function gm4_orb_of_ankou:pneumas/blasting
+execute if entity @s[tag=gm4_pneuma_blasting,nbt={Inventory:[{id:"minecraft:blaze_powder"}]}] if entity @e[type=minecraft:arrow,limit=1,distance=..2] run function gm4_orb_of_ankou:pneumas/blasting
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/agile.mcfunction b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/agile.mcfunction
deleted file mode 100644
index 31d6288901..0000000000
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/agile.mcfunction
+++ /dev/null
@@ -1,5 +0,0 @@
-# @s = player with agile pneuma who is in the air
-# run from pneumas/temp_tick/agile
-
-execute store result score @s gm4_pneuma_data run data get entity @s FallDistance
-effect give @s[scores={gm4_pneuma_data=1..}] jump_boost 1 255 true
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/blasting.mcfunction b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/blasting.mcfunction
index 8f9525a24e..c6400bbded 100644
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/blasting.mcfunction
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/blasting.mcfunction
@@ -2,10 +2,10 @@
# run from advancement_triggers/shoot_crossbow
# summon fireball at player's location
-summon minecraft:small_fireball ~ ~1 ~ {Tags:["gm4_oa_fireball"],power:[0.0,0.0,0.0],Motion:[0.0,0.0,0.0]}
+summon minecraft:small_fireball ~ ~1 ~ {Tags:["gm4_oa_fireball"],Motion:[0.0,0.0,0.0]}
# copy motion of arrow to fireball
-data modify entity @e[type=small_fireball,tag=gm4_oa_fireball,distance=..2,limit=1] power set from entity @e[type=minecraft:arrow,limit=1,distance=..2] Motion
+data modify entity @e[type=small_fireball,tag=gm4_oa_fireball,distance=..2,limit=1] Motion set from entity @e[type=minecraft:arrow,limit=1,distance=..2] Motion
kill @e[type=arrow,distance=..2,limit=1]
# clear blaze powder from player
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/conjuring/prepare.mcfunction b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/conjuring/prepare.mcfunction
index 5371bf1f8d..e4aa9abf19 100644
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/conjuring/prepare.mcfunction
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/conjuring/prepare.mcfunction
@@ -1,8 +1,8 @@
# @s = player with conjuring pneuma who stopped sneaking
# run from pneumas/sneak/stopped
-summon armor_stand ~ ~ ~ {Invisible:1b,NoGravity:1b,Marker:1b,Small:1b,CustomName:'"Fang Thrower"',Tags:["gm4_oa_fang_thrower","gm4_oa_new_fang"],ArmorItems:[{id:"minecraft:stick",count:1},{},{},{}]}
-data modify entity @e[type=minecraft:armor_stand,tag=gm4_oa_new_fang,distance=..0.001,limit=1] ArmorItems[0].components."minecraft:custom_data".gm4_oa_conjuring set from entity @s UUID
+summon armor_stand ~ ~ ~ {Invisible:1b,NoGravity:1b,Marker:1b,Small:1b,CustomName:"Fang Thrower",Tags:["gm4_oa_fang_thrower","gm4_oa_new_fang"],equipment:{feet:{id:"minecraft:stick",count:1}}}
+data modify entity @e[type=minecraft:armor_stand,tag=gm4_oa_new_fang,distance=..0.001,limit=1] equipment.feet.components."minecraft:custom_data".gm4_oa_conjuring set from entity @s UUID
tp @e[type=armor_stand,tag=gm4_oa_new_fang,distance=..0.001,limit=1] ~ ~ ~ ~ 0
scoreboard players set @s gm4_pneuma_data 0
scoreboard players set @s[scores={gm4_oa_snk_num=10..19}] gm4_pneuma_data 6
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/conjuring/summon_fangs.mcfunction b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/conjuring/summon_fangs.mcfunction
index 69e1777e1c..b93f786b6b 100644
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/conjuring/summon_fangs.mcfunction
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/conjuring/summon_fangs.mcfunction
@@ -2,7 +2,7 @@
# run from pneumas/conjuring/throw
summon evoker_fangs ~ ~ ~ {Tags:[gm4_oa_fang]}
-data modify entity @e[type=evoker_fangs,tag=gm4_oa_fang,limit=1,distance=..0.1] Owner set from entity @s ArmorItems[0].components."minecraft:custom_data".gm4_oa_conjuring
+data modify entity @e[type=evoker_fangs,tag=gm4_oa_fang,limit=1,distance=..0.1] Owner set from entity @s equipment.feet.components."minecraft:custom_data".gm4_oa_conjuring
tag @e[type=evoker_fangs] remove gm4_oa_fang
tag @a[distance=..1,gamemode=!creative,gamemode=!spectator] add gm4_oa_magic_ignore
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/dashing/prepare.mcfunction b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/dashing/prepare.mcfunction
index b5cc574abe..9225314364 100644
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/dashing/prepare.mcfunction
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/dashing/prepare.mcfunction
@@ -1,25 +1,23 @@
# @s = player with dashing pneuma who stopped sneaking
# run from pneumas/sneak/stopped
-execute rotated ~ 0 if block ^ ^0.9 ^.1 #gm4:no_collision if block ^ ^0.5 ^1.1 #gm4:no_collision run summon armor_stand ^ ^0.5 ^1 {Invisible:1b,Small:1b,Invulnerable:1b,CustomName:'"Dashing Stand"',Tags:["gm4_oa_dasher","gm4_oa_new_dasher","smithed.entity","smithed.strict"],attributes:[{id:"minecraft:max_health",base:1.0}]}
+execute rotated ~ 0 if block ^ ^0.9 ^.1 #gm4:no_collision if block ^ ^0.5 ^1.1 #gm4:no_collision run summon marker ^ ^0.5 ^1 {CustomName:"Dashing Vector",Tags:["gm4_oa_dash_vector"]}
scoreboard players operation $current gm4_oa_id = @s gm4_oa_id
# store player pos
data modify storage gm4_oa_dashing:temp Pos set from entity @s Pos
-execute store result score $target_x gm4_pneuma_data run data get storage gm4_oa_dashing:temp Pos[0] 100
-execute store result score $target_z gm4_pneuma_data run data get storage gm4_oa_dashing:temp Pos[2] 100
+execute store result score $target_x gm4_pneuma_data run data get storage gm4_oa_dashing:temp Pos[0] 1000
+execute store result score $target_z gm4_pneuma_data run data get storage gm4_oa_dashing:temp Pos[2] 1000
# store sneak count
-execute if score @s gm4_oa_snk_num matches 10..19 run scoreboard players set $multiplier gm4_pneuma_data 1
-execute if score @s gm4_oa_snk_num matches 20..39 run scoreboard players set $multiplier gm4_pneuma_data 2
-execute if score @s gm4_oa_snk_num matches 40..59 run scoreboard players set $multiplier gm4_pneuma_data 3
-execute if score @s gm4_oa_snk_num matches 60.. run scoreboard players set $multiplier gm4_pneuma_data 4
+execute if score @s gm4_oa_snk_num matches 10..19 run scoreboard players set $multiplier gm4_pneuma_data 8
+execute if score @s gm4_oa_snk_num matches 20..39 run scoreboard players set $multiplier gm4_pneuma_data 14
+execute if score @s gm4_oa_snk_num matches 40..59 run scoreboard players set $multiplier gm4_pneuma_data 18
+execute if score @s gm4_oa_snk_num matches 60.. run scoreboard players set $multiplier gm4_pneuma_data 24
-# give armor stand motion
-ride @s mount @e[type=armor_stand,tag=gm4_oa_new_dasher,distance=..3,limit=1]
-execute as @e[type=armor_stand,tag=gm4_oa_new_dasher,distance=..3,limit=1] at @s run function gm4_orb_of_ankou:pneumas/dashing/set_motion
-tag @e[type=armor_stand,tag=gm4_oa_new_dasher,distance=..3,limit=1] remove gm4_oa_new_dasher
-playsound minecraft:entity.player.small_fall player @a[distance=..8] ~ ~ ~ 0.7 0.6
+# set motion
+tag @s add gm4_oa_dasher
+execute as @e[type=marker,tag=gm4_oa_dash_vector,distance=..3,limit=1] run function gm4_orb_of_ankou:pneumas/dashing/set_motion
+tag @s remove gm4_oa_dasher
-# keep player on dash trajectory
-schedule function gm4_orb_of_ankou:pneumas/dashing/temp_tick 1t
+playsound minecraft:entity.player.small_fall player @a[distance=..8] ~ ~ ~ 0.7 0.6
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/dashing/set_motion.mcfunction b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/dashing/set_motion.mcfunction
index 9d1105df78..80e2fdfd8f 100644
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/dashing/set_motion.mcfunction
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/dashing/set_motion.mcfunction
@@ -1,12 +1,11 @@
-
-
-# link armor stand to player
-scoreboard players operation @s gm4_oa_id = $current gm4_oa_id
+# @s = dash marker
+# located at player who started dashing
+# run from pneumas/dashing/prepare
# get vector
data modify storage gm4_oa_dashing:temp Pos set from entity @s Pos
-execute store result score $motion_x gm4_pneuma_data run data get storage gm4_oa_dashing:temp Pos[0] 100
-execute store result score $motion_z gm4_pneuma_data run data get storage gm4_oa_dashing:temp Pos[2] 100
+execute store result score $motion_x gm4_pneuma_data run data get storage gm4_oa_dashing:temp Pos[0] 1000
+execute store result score $motion_z gm4_pneuma_data run data get storage gm4_oa_dashing:temp Pos[2] 1000
scoreboard players operation $motion_x gm4_pneuma_data -= $target_x gm4_pneuma_data
scoreboard players operation $motion_z gm4_pneuma_data -= $target_z gm4_pneuma_data
@@ -16,9 +15,11 @@ scoreboard players operation $motion_x gm4_pneuma_data *= $multiplier gm4_pneuma
scoreboard players operation $motion_z gm4_pneuma_data *= $multiplier gm4_pneuma_data
# set motion
-execute store result entity @s Motion[0] double 0.0045 run scoreboard players get $motion_x gm4_pneuma_data
-execute store result entity @s Motion[2] double 0.0045 run scoreboard players get $motion_z gm4_pneuma_data
-data modify entity @s Motion[1] set value 0.4d
+scoreboard players operation $x gm4_player_motion.api.launch = $motion_x gm4_pneuma_data
+scoreboard players set $y gm4_player_motion.api.launch 5200
+scoreboard players operation $z gm4_player_motion.api.launch = $motion_z gm4_pneuma_data
+execute as @a[tag=gm4_oa_dasher,limit=1] run function #gm4_player_motion:launch_xyz
## clean up
data remove storage gm4_oa_dashing:temp Pos
+kill @s
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/dashing/temp_tick.mcfunction b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/dashing/temp_tick.mcfunction
deleted file mode 100644
index 2a6c42e370..0000000000
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/dashing/temp_tick.mcfunction
+++ /dev/null
@@ -1,9 +0,0 @@
-# @s = none
-# run from pneumas/dashing/prepare
-
-scoreboard players add @e[type=armor_stand,tag=gm4_oa_dasher] gm4_oa_marker 1
-kill @e[type=armor_stand,tag=gm4_oa_dasher,scores={gm4_oa_marker=15..}]
-
-execute as @e[type=armor_stand,tag=gm4_oa_dasher] at @s run function gm4_orb_of_ankou:pneumas/dashing/update_dasher
-
-execute if entity @e[type=armor_stand,tag=gm4_oa_dasher,limit=1] run schedule function gm4_orb_of_ankou:pneumas/dashing/temp_tick 1t
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/dashing/update_dasher.mcfunction b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/dashing/update_dasher.mcfunction
deleted file mode 100644
index db72767787..0000000000
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/dashing/update_dasher.mcfunction
+++ /dev/null
@@ -1,9 +0,0 @@
-# keep player on dashing armor stand until it touches the ground
-# @s = armor stand dasher
-# located at @s
-# run from gm4_orb_of_ankou:pneumas/dashing/temp_tick
-
-scoreboard players operation $current gm4_oa_id = @s gm4_oa_id
-ride @a[predicate=gm4_orb_of_ankou:matching_id,distance=..5,limit=1] mount @s
-
-kill @s[predicate=gm4_orb_of_ankou:on_ground]
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/expeditious/attempt.mcfunction b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/expeditious/attempt.mcfunction
index e3f3fd2ae4..686fdcf29c 100644
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/expeditious/attempt.mcfunction
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/expeditious/attempt.mcfunction
@@ -1,26 +1,6 @@
# @s = player with expeditious pneuma who stopped sneaking
# run from pneumas/sneak/stopped
-summon marker ~ ~ ~ {CustomName:'"Expeditious TP"',Tags:["gm4_oa_expeditious"]}
-tp @e[type=marker,tag=gm4_oa_expeditious,limit=1] @s
-
-scoreboard players set @s gm4_pneuma_data 0
-scoreboard players set @s[scores={gm4_oa_snk_num=10..19}] gm4_pneuma_data 9
-scoreboard players set @s[scores={gm4_oa_snk_num=20..39}] gm4_pneuma_data 17
-scoreboard players set @s[scores={gm4_oa_snk_num=40..59}] gm4_pneuma_data 25
-scoreboard players set @s[scores={gm4_oa_snk_num=60..}] gm4_pneuma_data 33
-
-execute if score @s gm4_pneuma_data matches 9 run tp @e[type=marker,tag=gm4_oa_expeditious,limit=1] ~-4 ~ ~-4
-execute if score @s gm4_pneuma_data matches 17 run tp @e[type=marker,tag=gm4_oa_expeditious,limit=1] ~-8 ~ ~-8
-execute if score @s gm4_pneuma_data matches 25 run tp @e[type=marker,tag=gm4_oa_expeditious,limit=1] ~-12 ~ ~-12
-execute if score @s gm4_pneuma_data matches 33 run tp @e[type=marker,tag=gm4_oa_expeditious,limit=1] ~-16 ~ ~-16
-
-execute store result score y_pos gm4_pneuma_data run data get entity @s Pos[1]
-execute store result score randomX gm4_pneuma_data run data get entity @e[type=marker,tag=gm4_oa_expeditious,limit=1] UUID[0]
+execute if score @s gm4_oa_snk_num matches ..9 run return fail
scoreboard players set expeditious_attempt gm4_pneuma_data 0
-tag @s add gm4_expeditious_player
function gm4_orb_of_ankou:pneumas/expeditious/randomize
-tag @s remove gm4_expeditious_player
-
-execute if score expeditious_safe gm4_pneuma_data matches 1 run function gm4_orb_of_ankou:pneumas/expeditious/tp_player
-kill @e[type=marker,tag=gm4_oa_expeditious]
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/expeditious/get_pos.mcfunction b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/expeditious/get_pos.mcfunction
new file mode 100644
index 0000000000..e25fd0b4dd
--- /dev/null
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/expeditious/get_pos.mcfunction
@@ -0,0 +1,10 @@
+# @s = player with expeditious pneuma who stopped sneaking
+# run from pneumas/expeditious/randomize
+
+# check column for safe location
+scoreboard players set set_y gm4_pneuma_data 0
+$execute positioned ~$(x) ~5 ~$(z) run function gm4_orb_of_ankou:pneumas/expeditious/set_ypos
+
+# try another column (at most 12 times) if entire column was not safe
+scoreboard players add expeditious_attempt gm4_pneuma_data 1
+execute unless score expeditious_attempt gm4_pneuma_data matches 12.. run function gm4_orb_of_ankou:pneumas/expeditious/randomize
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/expeditious/randomize.mcfunction b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/expeditious/randomize.mcfunction
index 851a9a64f9..372f38e997 100644
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/expeditious/randomize.mcfunction
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/expeditious/randomize.mcfunction
@@ -1,11 +1,15 @@
# @s = player with expeditious pneuma who stopped sneaking
# run from pneumas/expeditious/attempt
-scoreboard players operation randomZ gm4_pneuma_data = randomX gm4_pneuma_data
-scoreboard players set #10 gm4_pneuma_data 10
-scoreboard players operation randomZ gm4_pneuma_data %= #10 gm4_pneuma_data
+# get sneak-number-based distance
+execute if score @s gm4_oa_snk_num matches 10..19 store result storage gm4_orb_of_ankou:temp pos.x int 1 run random value -4..4
+execute if score @s gm4_oa_snk_num matches 10..19 store result storage gm4_orb_of_ankou:temp pos.z int 1 run random value -4..4
+execute if score @s gm4_oa_snk_num matches 20..39 store result storage gm4_orb_of_ankou:temp pos.x int 1 run random value -8..8
+execute if score @s gm4_oa_snk_num matches 20..39 store result storage gm4_orb_of_ankou:temp pos.z int 1 run random value -8..8
+execute if score @s gm4_oa_snk_num matches 40..59 store result storage gm4_orb_of_ankou:temp pos.x int 1 run random value -12..12
+execute if score @s gm4_oa_snk_num matches 40..59 store result storage gm4_orb_of_ankou:temp pos.z int 1 run random value -12..12
+execute if score @s gm4_oa_snk_num matches 60.. store result storage gm4_orb_of_ankou:temp pos.x int 1 run random value -16..16
+execute if score @s gm4_oa_snk_num matches 60.. store result storage gm4_orb_of_ankou:temp pos.z int 1 run random value -16..16
-scoreboard players operation randomX gm4_pneuma_data %= @a[tag=gm4_expeditious_player,limit=1] gm4_pneuma_data
-scoreboard players operation randomZ gm4_pneuma_data %= @a[tag=gm4_expeditious_player,limit=1] gm4_pneuma_data
-
-execute as @e[type=marker,tag=gm4_oa_expeditious,limit=1] at @s run function gm4_orb_of_ankou:pneumas/expeditious/tp_aec
+function gm4_orb_of_ankou:pneumas/expeditious/get_pos with storage gm4_orb_of_ankou:temp pos
+data remove storage gm4_orb_of_ankou:temp pos
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/expeditious/set_ypos.mcfunction b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/expeditious/set_ypos.mcfunction
index 3b71536af2..7ed35a593f 100644
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/expeditious/set_ypos.mcfunction
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/expeditious/set_ypos.mcfunction
@@ -1,9 +1,10 @@
-# @s = expeditious tp AEC
+# @s = player with expeditious pneuma who stopped sneaking
+# located at a random distance from player
# run from pneumas/expeditious/tp_aec
-execute at @s run tp @s ~ ~-1 ~
+# tp if block is safe
+execute if block ~ ~ ~ #gm4:no_collision unless block ~ ~-1 ~ #gm4:no_collision run function gm4_orb_of_ankou:pneumas/expeditious/tp_player
+
+# check 1 block down
scoreboard players add set_y gm4_pneuma_data 1
-scoreboard players set expeditious_safe gm4_pneuma_data 0
-execute at @s if block ~ ~ ~ #gm4:no_collision unless block ~ ~-1 ~ #gm4:no_collision run scoreboard players set expeditious_safe gm4_pneuma_data 1
-execute if score expeditious_safe gm4_pneuma_data matches 1 run scoreboard players set expeditious_attempt gm4_pneuma_data 12
-execute unless score set_y gm4_pneuma_data matches 11.. at @s unless score expeditious_safe gm4_pneuma_data matches 1 run function gm4_orb_of_ankou:pneumas/expeditious/set_ypos
+execute unless score set_y gm4_pneuma_data matches 11.. positioned ~ ~-1 ~ run function gm4_orb_of_ankou:pneumas/expeditious/set_ypos
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/expeditious/tp_aec.mcfunction b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/expeditious/tp_aec.mcfunction
deleted file mode 100644
index 94f037f7fc..0000000000
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/expeditious/tp_aec.mcfunction
+++ /dev/null
@@ -1,36 +0,0 @@
-# @s = expeditious tp AEC
-# run from pneumas/expeditious/randomize
-
-execute at @s if score randomX gm4_pneuma_data matches 32.. run tp @s ~32 ~ ~
-execute if score randomX gm4_pneuma_data matches 32.. run scoreboard players remove randomX gm4_pneuma_data 32
-execute at @s if score randomX gm4_pneuma_data matches 16.. run tp @s ~16 ~ ~
-execute if score randomX gm4_pneuma_data matches 16.. run scoreboard players remove randomX gm4_pneuma_data 16
-execute at @s if score randomX gm4_pneuma_data matches 8.. run tp @s ~8 ~ ~
-execute if score randomX gm4_pneuma_data matches 8.. run scoreboard players remove randomX gm4_pneuma_data 8
-execute at @s if score randomX gm4_pneuma_data matches 4.. run tp @s ~4 ~ ~
-execute if score randomX gm4_pneuma_data matches 4.. run scoreboard players remove randomX gm4_pneuma_data 4
-execute at @s if score randomX gm4_pneuma_data matches 2.. run tp @s ~2 ~ ~
-execute if score randomX gm4_pneuma_data matches 2.. run scoreboard players remove randomX gm4_pneuma_data 2
-execute at @s if score randomX gm4_pneuma_data matches 1.. run tp @s ~1 ~ ~
-execute if score randomX gm4_pneuma_data matches 1.. run scoreboard players remove randomX gm4_pneuma_data 1
-
-execute at @s if score randomZ gm4_pneuma_data matches 32.. run tp @s ~ ~ ~32
-execute if score randomZ gm4_pneuma_data matches 32.. run scoreboard players remove randomZ gm4_pneuma_data 32
-execute at @s if score randomZ gm4_pneuma_data matches 16.. run tp @s ~ ~ ~16
-execute if score randomZ gm4_pneuma_data matches 16.. run scoreboard players remove randomZ gm4_pneuma_data 16
-execute at @s if score randomZ gm4_pneuma_data matches 8.. run tp @s ~ ~ ~8
-execute if score randomZ gm4_pneuma_data matches 8.. run scoreboard players remove randomZ gm4_pneuma_data 8
-execute at @s if score randomZ gm4_pneuma_data matches 4.. run tp @s ~ ~ ~4
-execute if score randomZ gm4_pneuma_data matches 4.. run scoreboard players remove randomZ gm4_pneuma_data 4
-execute at @s if score randomZ gm4_pneuma_data matches 2.. run tp @s ~ ~ ~2
-execute if score randomZ gm4_pneuma_data matches 2.. run scoreboard players remove randomZ gm4_pneuma_data 2
-execute at @s if score randomZ gm4_pneuma_data matches 1.. run tp @s ~ ~ ~1
-execute if score randomZ gm4_pneuma_data matches 1.. run scoreboard players remove randomZ gm4_pneuma_data 1
-
-execute store result entity @s Pos[1] double 1 run scoreboard players get y_pos gm4_pneuma_data
-execute at @s run tp @s ~ ~5 ~
-scoreboard players set set_y gm4_pneuma_data 0
-execute at @s run function gm4_orb_of_ankou:pneumas/expeditious/set_ypos
-
-scoreboard players add expeditious_attempt gm4_pneuma_data 1
-execute unless score expeditious_attempt gm4_pneuma_data matches 12.. run function gm4_orb_of_ankou:pneumas/expeditious/randomize
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/expeditious/tp_player.mcfunction b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/expeditious/tp_player.mcfunction
index ed4a4d7cff..a23a6f5d47 100644
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/expeditious/tp_player.mcfunction
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/expeditious/tp_player.mcfunction
@@ -1,10 +1,16 @@
# @s = player with expeditious pneuma who stopped sneaking
-# run from pneumas/expeditious/attempt
+# located at a safe block, random distance from player
+# run from pneumas/expeditious/set_ypos
-particle minecraft:explosion ~ ~.3 ~ .3 .4 .3 2 0
-tp @s @e[type=marker,tag=gm4_oa_expeditious,limit=1]
-playsound minecraft:item.chorus_fruit.teleport player @a[distance=..15] ~ ~ ~ 1 1
-execute at @s run particle minecraft:portal ~ ~.2 ~ 0 -1 0 3 20
+# prevent reroll
+scoreboard players set set_y gm4_pneuma_data 11
+scoreboard players set expeditious_attempt gm4_pneuma_data 12
+
+# move player
+execute at @s run playsound minecraft:item.chorus_fruit.teleport player @a[distance=..15] ~ ~ ~ 1 1
+execute at @s run particle minecraft:explosion ~ ~.3 ~ .3 .4 .3 2 0
+tp @s ~ ~ ~
+particle minecraft:portal ~ ~.2 ~ 0 -1 0 3 20
# compatibility with other modules
function #gm4_orb_of_ankou:pneumas/expeditious/tp_player
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/feigning/apply.mcfunction b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/feigning/apply.mcfunction
index fabd4f6f57..5420cd9c00 100644
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/feigning/apply.mcfunction
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/feigning/apply.mcfunction
@@ -6,8 +6,9 @@ effect give @s invisibility 10 255 true
effect give @s resistance 10 255 true
effect give @s slowness 10 255 true
effect give @s weakness 10 255 true
-effect give @s jump_boost 10 128 true
effect give @s regeneration 10 0 false
+attribute @s minecraft:jump_strength modifier add gm4_orb_of_ankou:prevent_jump -1024 add_multiplied_total
+scoreboard players set @s gm4_oa_jump_stop 13
# set data of hostile mobs
tag @e[type=#gm4_orb_of_ankou:feigning_affected,distance=..50] add gm4_oa_feigning
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/soaring/apply.mcfunction b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/soaring/apply.mcfunction
index f58771c680..7808225850 100644
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/soaring/apply.mcfunction
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/soaring/apply.mcfunction
@@ -1,11 +1,11 @@
-# @s = player with soaring pneuma
+# @s = player with soaring pneuma activated
# run from main
-execute if entity @s[x_rotation=-79.99..79.99] run function gm4_orb_of_ankou:pneumas/soaring/idle
+execute if entity @s[tag=!gm4_oa_soaring_idle] run function gm4_orb_of_ankou:pneumas/soaring/idle
execute if entity @s[x_rotation=-90..-80] run function gm4_orb_of_ankou:pneumas/soaring/ascend
-execute if entity @s[x_rotation=80..90] run effect clear @s levitation
+execute if entity @s[x_rotation=80..90] run function gm4_orb_of_ankou:pneumas/soaring/descend
effect give @s slow_falling 3 0 true
tag @s add gm4_oa_soaring_off_ground
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/soaring/ascend.mcfunction b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/soaring/ascend.mcfunction
index 0059f34b91..b927ea4242 100644
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/soaring/ascend.mcfunction
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/soaring/ascend.mcfunction
@@ -1,5 +1,5 @@
# @s = player with soaring pneuma looking up
# run from pneumas/soaring/apply
-effect clear @s levitation
+tag @s remove gm4_oa_soaring_idle
effect give @s levitation 2 3 true
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/soaring/back.mcfunction b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/soaring/back.mcfunction
deleted file mode 100644
index c1cb409f39..0000000000
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/soaring/back.mcfunction
+++ /dev/null
@@ -1,7 +0,0 @@
-# @s = player with active soaring pneuma that has been damaged
-# run from tick
-
-tp @s @e[type=marker,tag=gm4_oa_soaring_location,limit=1,sort=nearest]
-tag @s remove gm4_oa_soaring_damaged
-kill @e[type=marker,tag=gm4_oa_soaring_location,limit=1,sort=nearest]
-scoreboard players reset soaring_damaged gm4_pneuma_data
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/soaring/damaged.mcfunction b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/soaring/damaged.mcfunction
deleted file mode 100644
index 735b1dac09..0000000000
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/soaring/damaged.mcfunction
+++ /dev/null
@@ -1,7 +0,0 @@
-# @s = player with active soaring pneuma that has been damaged
-# run from pneumas/advancement_triggers/player_damaged
-
-summon marker ~ ~ ~ {Tags:["gm4_oa_soaring_location"]}
-tp @e[type=marker,tag=gm4_oa_soaring_location,limit=1,distance=..0.1] @s
-tag @s add gm4_oa_soaring_damaged
-schedule function gm4_orb_of_ankou:pneumas/temp_tick/soaring_damaged 1t
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/soaring/descend.mcfunction b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/soaring/descend.mcfunction
new file mode 100644
index 0000000000..35e762fe23
--- /dev/null
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/soaring/descend.mcfunction
@@ -0,0 +1,5 @@
+# @s = player with soaring pneuma looking down
+# run from pneumas/soaring/apply
+
+tag @s remove gm4_oa_soaring_idle
+attribute @s minecraft:gravity modifier remove gm4_orb_of_ankou:soaring_gravity
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/soaring/idle.mcfunction b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/soaring/idle.mcfunction
index 028d1e3178..8dc754524d 100644
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/soaring/idle.mcfunction
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/soaring/idle.mcfunction
@@ -2,4 +2,6 @@
# run from pneumas/soaring/apply
effect clear @s levitation
-effect give @s levitation 3 255 true
+tp @s
+attribute @s minecraft:gravity modifier add gm4_orb_of_ankou:soaring_gravity -0.08 add_value
+tag @s add gm4_oa_soaring_idle
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/soaring/remove_fall_protection.mcfunction b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/soaring/remove_fall_protection.mcfunction
new file mode 100644
index 0000000000..005524fee7
--- /dev/null
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/soaring/remove_fall_protection.mcfunction
@@ -0,0 +1,5 @@
+# @s = player that was previously soaring, and has landed
+# run from main
+
+tag @s remove gm4_oa_soaring_off_ground
+attribute @s minecraft:fall_damage_multiplier modifier remove gm4_orb_of_ankou:soaring_fall_protection
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/soaring/toggle.mcfunction b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/soaring/toggle.mcfunction
index 4d8cf2b2f7..ad053670f5 100644
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/soaring/toggle.mcfunction
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/soaring/toggle.mcfunction
@@ -7,6 +7,7 @@ tag @s[tag=!gm4_oa_no_soaring] add gm4_oa_soaring_active
tag @s remove gm4_oa_no_soaring
playsound minecraft:entity.ender_dragon.flap player @s[tag=gm4_oa_soaring_active] ~ ~ ~ 0.4 1.6
playsound minecraft:entity.player.small_fall player @s[tag=!gm4_oa_soaring_active] ~ ~ ~ 0.4 1.6
-effect clear @s[tag=!gm4_oa_soaring_active] levitation
+attribute @s[tag=gm4_oa_soaring_active] minecraft:fall_damage_multiplier modifier add gm4_orb_of_ankou:soaring_fall_protection -1024 add_value
+attribute @s[tag=!gm4_oa_soaring_active] minecraft:gravity modifier remove gm4_orb_of_ankou:soaring_gravity
tag @s add gm4_oa_soaring_toggled
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/temp_tick/agile.mcfunction b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/temp_tick/agile.mcfunction
deleted file mode 100644
index 9e99db0fbd..0000000000
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/temp_tick/agile.mcfunction
+++ /dev/null
@@ -1,6 +0,0 @@
-# @s = none
-# run from update_tags/check_pneuma
-
-execute as @a[gamemode=!spectator,tag=gm4_pneuma_agile] at @s if block ~ ~-0.1 ~ #gm4:no_collision if block ~ ~-1.3 ~ #gm4:no_collision if block ~ ~-2.3 ~ #gm4:no_collision if block ~ ~-3.3 ~ #gm4:no_collision run function gm4_orb_of_ankou:pneumas/agile
-
-execute if entity @a[tag=gm4_pneuma_agile,limit=1] run schedule function gm4_orb_of_ankou:pneumas/temp_tick/agile 1t
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/temp_tick/soaring_damaged.mcfunction b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/temp_tick/soaring_damaged.mcfunction
deleted file mode 100644
index b278525a27..0000000000
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/temp_tick/soaring_damaged.mcfunction
+++ /dev/null
@@ -1,6 +0,0 @@
-# @s = none
-# run from pneumas/soaring/damaged
-
-execute as @a[gamemode=!spectator,tag=gm4_oa_soaring_damaged] run function gm4_orb_of_ankou:pneumas/soaring/back
-
-execute if entity @a[tag=gm4_oa_soaring_damaged,limit=1] run schedule function gm4_orb_of_ankou:pneumas/temp_tick/soaring_damaged 1t
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/temp_tick/striding_revert.mcfunction b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/temp_tick/striding_revert.mcfunction
index 4acd5e3fb0..5e698d7655 100644
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/temp_tick/striding_revert.mcfunction
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/temp_tick/striding_revert.mcfunction
@@ -3,5 +3,6 @@
scoreboard players add @e[type=marker,tag=gm4_oa_striding_block] gm4_oa_marker 1
execute at @e[type=marker,tag=gm4_oa_striding_block,scores={gm4_oa_marker=8..}] if block ~ ~ ~ magma_block run setblock ~ ~ ~ lava
+kill @e[type=marker,tag=gm4_oa_striding_block,scores={gm4_oa_marker=8..}]
execute if entity @e[type=marker,tag=gm4_oa_striding_block,limit=1] run schedule function gm4_orb_of_ankou:pneumas/temp_tick/striding_revert 1t
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/volatile.mcfunction b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/volatile.mcfunction
index 3f9a71d843..6e0bf05007 100644
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/volatile.mcfunction
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/pneumas/volatile.mcfunction
@@ -4,4 +4,4 @@
execute store result score @s gm4_pneuma_data run data get entity @s Health
tag @e[type=item,distance=..5,nbt=!{Invulnerable:1b}] add gm4_oa_invulnerable
execute as @e[type=item,distance=..5,tag=gm4_oa_invulnerable] run data merge entity @s {Invulnerable:1b}
-execute unless entity @a[gamemode=!spectator,distance=..6,predicate=gm4_metallurgy:defuse_active] if score @s[gamemode=!adventure] gm4_pneuma_data matches ..3 run summon creeper ~ ~ ~ {ExplosionRadius:1b,ignited:1b,Fuse:0s,CustomName:'"Volatile Player"'}
+execute unless entity @a[gamemode=!spectator,distance=..6,predicate=gm4_metallurgy:defuse_active] if score @s[gamemode=!adventure] gm4_pneuma_data matches ..3 run summon creeper ~ ~ ~ {ExplosionRadius:1b,ignited:1b,Fuse:0s,CustomName:"Volatile Player"}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/create.mcfunction b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/create.mcfunction
index 011483580f..9efe8d46c7 100644
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/create.mcfunction
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/create.mcfunction
@@ -2,7 +2,7 @@
# located at fire block that player is looking at
# run from soul_forge/used_flint_and_steel
-summon armor_stand ~ ~ ~ {CustomName:'"gm4_soul_forge"',Tags:["gm4_no_edit","gm4_soul_forge"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,DisabledSlots:2039552,Pose:{Head:[200.0f,0.0f,0.0f]}}
+summon armor_stand ~ ~ ~ {CustomName:"gm4_soul_forge",Tags:["gm4_no_edit","gm4_soul_forge"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,DisabledSlots:2039552,Pose:{Head:[200.0f,0.0f,0.0f]}}
playsound minecraft:entity.player.breath block @a[distance=..12] ~ ~0.5 ~ 1 0.5
particle minecraft:campfire_signal_smoke ~ ~0.7 ~ 0 2 0 0.05 10 force
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/destroy.mcfunction b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/destroy.mcfunction
index f0dbee8345..383a476138 100644
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/destroy.mcfunction
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/destroy.mcfunction
@@ -2,7 +2,7 @@
# run from main
# store armor items into storage
-data modify storage gm4_orb_of_ankou:temp ArmorItems set from entity @s ArmorItems
+data modify storage gm4_orb_of_ankou:temp equipment set from entity @s equipment
# create a soul shard if valid ingredient count
execute if score @s gm4_oa_essence matches 13.. if score @s gm4_oa_powder >= required gm4_oa_powder if score @s gm4_oa_glowstone >= required gm4_oa_glowstone run function gm4_orb_of_ankou:soul_forge/outputs/create_shard
@@ -15,6 +15,7 @@ execute if score @s gm4_oa_powder matches 1.. run function gm4_orb_of_ankou:soul
execute if score @s gm4_oa_glowstone matches 1.. run function gm4_orb_of_ankou:soul_forge/entities/summon_glowstone_sprite
execute if score @s gm4_oa_tears matches 1.. run function gm4_orb_of_ankou:soul_forge/entities/summon_wandering_tear
execute if score @s gm4_oa_roses matches 1.. run function gm4_orb_of_ankou:soul_forge/entities/withering_magic
+kill @e[type=marker,tag=gm4_oa_wither_rose_catcher,distance=..10]
# summon endermites for extra essences stored inside the soul forge
execute if score @s gm4_oa_essence matches 1.. run function gm4_orb_of_ankou:soul_forge/entities/summon_extra_essence
@@ -27,5 +28,5 @@ execute if entity @s[tag=gm4_oa_has_shard] run function gm4_orb_of_ankou:soul_fo
playsound minecraft:block.fire.extinguish block @a[distance=..12] ~ ~ ~ .5 .3
particle minecraft:cloud ~ ~0.5 ~ 0.3 0.3 0.3 0 20
-data remove storage gm4_orb_of_ankou:temp ArmorItems
+data remove storage gm4_orb_of_ankou:temp equipment
kill @s
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/entities/congealed_shard.mcfunction b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/entities/congealed_shard.mcfunction
deleted file mode 100644
index 402750842c..0000000000
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/entities/congealed_shard.mcfunction
+++ /dev/null
@@ -1,14 +0,0 @@
-# @s = soul forge to spawn an bat with a soul essence
-# run from soul_forge/entities/summon_congealed_shard
-
-# spawn bat
-summon bat ~ ~0.2 ~ {CustomName:'{"translate":"entity.gm4.congealed_shard","fallback":"Congealed Soul Shard§"}',CustomNameVisible:0b,Team:"gm4_hide_name",Health:2.0f,DeathLootTable:"gm4:empty",PersistenceRequired:1b,Tags:["gm4_oa_unset","gm4_oa_congealed_shard","gm4_oa_ignore","gm4_defused_bat"],HandDropChances:[2.0f,1.0f],Motion:[0.0,0.6,0.0],active_effects:[{id:'minecraft:fire_resistance',amplifier:0b,duration:1000000,show_particles:0b}]}
-
-# set loot drop to soul shard
-data modify entity @e[type=bat,tag=gm4_oa_unset,limit=1] HandItems[0] set from storage gm4_orb_of_ankou:temp Item
-
-# randomize motion in x and z
-execute as @e[type=bat,tag=gm4_oa_unset,limit=1] run function gm4_orb_of_ankou:soul_forge/entities/randomize_motion
-
-# visuals
-playsound minecraft:entity.bat.hurt hostile @a[distance=..12] ~ ~ ~ 0.7 1
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/entities/fire_sprite.mcfunction b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/entities/fire_sprite.mcfunction
index f709a5e8e1..8a6a95c726 100644
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/entities/fire_sprite.mcfunction
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/entities/fire_sprite.mcfunction
@@ -2,10 +2,10 @@
# run from both soul_forge/entities/summon_powder_sprite and soul_forge/entities/summon_glowstone_sprite
# spawn zombie
-summon minecraft:zombie ~ ~0.2 ~ {Fire:1000000,Motion:[0.0,0.6,0.0],Silent:1b,CustomNameVisible:0b,DeathLootTable:"gm4:empty",Health:10.0f,IsBaby:1b,CanBreakDoors:0b,CanPickUpLoot:0b,Tags:["gm4_oa_unset","gm4_oa_ignore","gm4_oa_fire_sprite"],CustomName:'{"translate":"entity.gm4.fire_sprite","fallback":"Fire Sprite§"}',Team:"gm4_hide_name",ArmorItems:[{},{},{},{id:"minecraft:golden_helmet",count:1,components:{"minecraft:custom_model_data":"entity/fire_sprite","minecraft:enchantment_glint_override":true}}],ArmorDropChances:[0.0F,0.0F,0.0F,-327.670F],active_effects:[{id:'minecraft:invisibility',amplifier:0b,duration:1000000,show_particles:0b}],attributes:[{id:"minecraft:follow_range",base:8},{id:"minecraft:attack_damage",base:1},{id:"minecraft:attack_knockback",base:0},{id:"minecraft:spawn_reinforcements",base:0}]}
+summon minecraft:zombie ~ ~0.2 ~ {Fire:1000000,Motion:[0.0,0.6,0.0],Silent:1b,CustomNameVisible:0b,DeathLootTable:"gm4:empty",Health:10.0f,IsBaby:1b,CanBreakDoors:0b,CanPickUpLoot:0b,Tags:["gm4_oa_unset","gm4_oa_ignore","gm4_oa_fire_sprite"],CustomName:{"translate":"entity.gm4.fire_sprite","fallback":"Fire Sprite§"},Team:"gm4_hide_name",equipment:{head:{id:"minecraft:golden_helmet",count:1,components:{"minecraft:custom_model_data":"entity/fire_sprite","minecraft:enchantment_glint_override":true}}},drop_chances:{head:0F},active_effects:[{id:"minecraft:invisibility",amplifier:0b,duration:1000000,show_particles:0b}],attributes:[{id:"minecraft:follow_range",base:8},{id:"minecraft:attack_damage",base:1},{id:"minecraft:attack_knockback",base:0},{id:"minecraft:spawn_reinforcements",base:0}]}
# randomize motion in x and z
-execute as @e[type=zombie,tag=gm4_oa_unset,limit=1] run function gm4_orb_of_ankou:soul_forge/entities/randomize_motion
+execute as @e[type=zombie,tag=gm4_oa_unset,limit=1] run function gm4_orb_of_ankou:soul_forge/entities/set_data/randomize_motion
# visuals
playsound minecraft:entity.blaze.hurt hostile @a[distance=..12] ~ ~ ~ 0.6 1.2
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/entities/living_orb.mcfunction b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/entities/living_orb.mcfunction
deleted file mode 100644
index c3f9ecbf81..0000000000
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/entities/living_orb.mcfunction
+++ /dev/null
@@ -1,14 +0,0 @@
-# @s = soul forge to spawn an silverfish with a soul essence
-# run from soul_forge/entities/summon_living_orb
-
-# spawn silverfish
-summon silverfish ~ ~0.2 ~ {CustomName:'{"translate":"entity.gm4.living_orb","fallback":"Living Orb§"}',CustomNameVisible:0b,Team:"gm4_hide_name",Health:2.0f,DeathLootTable:"gm4:empty",PersistenceRequired:1b,Tags:["gm4_oa_unset","gm4_oa_living_orb","gm4_oa_ignore"],HandDropChances:[2.0f,1.0f],Motion:[0.0,0.6,0.0],active_effects:[{id:'minecraft:fire_resistance',amplifier:0b,duration:1000000,show_particles:0b}]}
-
-# set loot drop to orb of ankou
-data modify entity @e[type=silverfish,tag=gm4_oa_unset,limit=1] HandItems[0] set from storage gm4_orb_of_ankou:temp Item
-
-# randomize motion in x and z
-execute as @e[type=silverfish,tag=gm4_oa_unset,limit=1] run function gm4_orb_of_ankou:soul_forge/entities/randomize_motion
-
-# visuals
-playsound minecraft:entity.silverfish.hurt hostile @a[distance=..12] ~ ~ ~ 0.7 1
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/entities/randomize_motion.mcfunction b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/entities/randomize_motion.mcfunction
deleted file mode 100644
index eec2583f6f..0000000000
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/entities/randomize_motion.mcfunction
+++ /dev/null
@@ -1,26 +0,0 @@
-# @s = newly spawned entity
-# run from soul_forge/entities/severed_soul, soul_forge_entities/fire_sprite, soul_forge/entities/congealed_shard, soul_forge/entites/living_orb, and soul_forge/outputs/fuse_pneuma
-
-# set precursory values
-scoreboard players set modulo_1 gm4_oa_forge 50
-scoreboard players set modulo_2 gm4_oa_forge 71
-
-# get own uuid into scoreboard and scale into range
-execute store result score motion_x gm4_oa_forge run data get entity @s UUID[0]
-scoreboard players operation motion_z gm4_oa_forge = motion_x gm4_oa_forge
-
-scoreboard players operation motion_z gm4_oa_forge %= modulo_2 gm4_oa_forge
-
-scoreboard players operation motion_x gm4_oa_forge %= modulo_1 gm4_oa_forge
-scoreboard players operation motion_z gm4_oa_forge %= modulo_1 gm4_oa_forge
-
-# remove 25 so it can be pos or neg
-scoreboard players remove motion_x gm4_oa_forge 25
-scoreboard players remove motion_z gm4_oa_forge 25
-
-# modify motion
-execute store result entity @s Motion[0] double 0.01 run scoreboard players get motion_x gm4_oa_forge
-execute store result entity @s Motion[2] double 0.01 run scoreboard players get motion_z gm4_oa_forge
-
-# mark as modified
-tag @s remove gm4_oa_unset
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/entities/set_data/congealed_shard.mcfunction b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/entities/set_data/congealed_shard.mcfunction
new file mode 100644
index 0000000000..d26ed83ee0
--- /dev/null
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/entities/set_data/congealed_shard.mcfunction
@@ -0,0 +1,7 @@
+# @s = new congealed shard bat
+# run from soul_forge/entities/summon_congealed_shard
+# and from soul_forge/entities/summon_extra_shard
+
+$loot replace entity @s weapon.mainhand loot gm4_orb_of_ankou:items/soul_shard/$(id)
+data merge entity @s {CustomName:{"translate":"entity.gm4.congealed_shard","fallback":"Congealed Soul Shard§"},CustomNameVisible:0b,Team:"gm4_hide_name",Health:2.0f,DeathLootTable:"gm4:empty",PersistenceRequired:1b,Tags:["gm4_oa_congealed_shard","gm4_oa_ignore","gm4_defused_bat"],drop_chances:{mainhand:2.0f,offhand:1.0f},Motion:[0.0,0.6,0.0],active_effects:[{id:'minecraft:fire_resistance',amplifier:0b,duration:1000000,show_particles:0b}]}
+function gm4_orb_of_ankou:soul_forge/entities/set_data/randomize_motion
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/entities/set_data/get_orb_pneuma.mcfunction b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/entities/set_data/get_orb_pneuma.mcfunction
new file mode 100644
index 0000000000..6e1b561f2a
--- /dev/null
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/entities/set_data/get_orb_pneuma.mcfunction
@@ -0,0 +1,14 @@
+# @s = new living orb silverfish
+# run from soul_forge/entities/set_data/loop_orb_pneumas
+
+# get shard data from loot table
+$loot replace entity @s weapon.offhand loot gm4_orb_of_ankou:items/soul_shard/$(id)
+data modify storage gm4_orb_of_ankou:temp shard set from entity @s equipment.offhand
+item replace entity @s weapon.offhand with minecraft:air
+
+# set data of soul shard into orb of ankou
+data modify storage gm4_orb_of_ankou:temp new_orb.components."minecraft:lore" append from storage gm4_orb_of_ankou:temp shard.components."minecraft:lore"[]
+data modify storage gm4_orb_of_ankou:temp new_orb.components."minecraft:custom_data".gm4_orb_of_ankou.pneumas append from storage gm4_orb_of_ankou:temp shard.components."minecraft:custom_data".gm4_orb_of_ankou.pneumas[]
+data modify storage gm4_orb_of_ankou:temp new_orb.components."minecraft:enchantments" merge from storage gm4_orb_of_ankou:temp shard.components."minecraft:enchantments"
+data modify storage gm4_orb_of_ankou:temp new_orb.components."minecraft:attribute_modifiers" append from storage gm4_orb_of_ankou:temp shard.components."minecraft:attribute_modifiers"[]
+data remove storage gm4_orb_of_ankou:temp new_orb.components."minecraft:attribute_modifiers"[{id:"gm4_orb_of_ankou:attack_damage"}]
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/entities/set_data/living_orb.mcfunction b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/entities/set_data/living_orb.mcfunction
new file mode 100644
index 0000000000..01e823eaee
--- /dev/null
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/entities/set_data/living_orb.mcfunction
@@ -0,0 +1,25 @@
+# @s = new living orb silverfish
+# run from soul_forge/entities/summon_extra_orb
+# and from soul_forge/entities/summon_living_orb
+
+# set default data
+data merge entity @s {CustomName:{"translate":"entity.gm4.living_orb","fallback":"Living Orb§"},CustomNameVisible:0b,Team:"gm4_hide_name",Health:2.0f,DeathLootTable:"gm4:empty",PersistenceRequired:1b,Tags:["gm4_oa_unset","gm4_oa_living_orb","gm4_oa_ignore"],drop_chances:{mainhand:2.0f,offhand:1.0f},Motion:[0.0,0.6,0.0],active_effects:[{id:"minecraft:fire_resistance",amplifier:0b,duration:1000000,show_particles:0b}]}
+
+# get pneuma count, return early if empty
+execute store result score pneuma_count gm4_oa_forge run data get storage gm4_orb_of_ankou:temp current_orb.components."minecraft:custom_data".gm4_orb_of_ankou.pneumas
+execute if score pneuma_count gm4_oa_forge matches 0 run return run loot replace entity @s weapon.mainhand loot gm4_orb_of_ankou:items/orb_of_ankou
+
+# set up new orb
+loot replace entity @s weapon.offhand loot gm4_orb_of_ankou:items/orb_of_ankou
+data modify storage gm4_orb_of_ankou:temp new_orb set from entity @s equipment.offhand
+item replace entity @s weapon.offhand with minecraft:air
+data merge storage gm4_orb_of_ankou:temp {new_orb:{components:{"minecraft:lore":[{"translate":"text.gm4.orb_of_ankou.pneumas","fallback":"Pneumas:","italic":false,"color":"light_purple"}],"minecraft:firework_explosion":{shape:"small_ball",colors:[I;]}}}}
+
+# get pneuma data from shard loot tables
+execute store result score restore_pneuma_count gm4_oa_forge run data get storage gm4_orb_of_ankou:temp current_orb.components."minecraft:custom_data".gm4_orb_of_ankou.pneumas
+function gm4_orb_of_ankou:soul_forge/entities/set_data/loop_orb_pneumas
+data modify entity @s equipment.mainhand set from storage gm4_orb_of_ankou:temp new_orb
+
+# clean up
+data remove storage gm4_orb_of_ankou:temp new_orb
+data remove storage gm4_orb_of_ankou:temp current_orb
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/entities/set_data/loop_orb_pneumas.mcfunction b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/entities/set_data/loop_orb_pneumas.mcfunction
new file mode 100644
index 0000000000..69620af2fe
--- /dev/null
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/entities/set_data/loop_orb_pneumas.mcfunction
@@ -0,0 +1,8 @@
+# @s = new living orb silverfish
+# run from soul_forge/entities/set_data/living_orb
+
+# get next pneuma
+function gm4_orb_of_ankou:soul_forge/entities/set_data/get_orb_pneuma with storage gm4_orb_of_ankou:temp current_orb.components."minecraft:custom_data".gm4_orb_of_ankou.pneumas[0]
+data remove storage gm4_orb_of_ankou:temp current_orb.components."minecraft:custom_data".gm4_orb_of_ankou.pneumas[0]
+scoreboard players remove restore_pneuma_count gm4_oa_forge 1
+execute if score restore_pneuma_count gm4_oa_forge matches 1.. run function gm4_orb_of_ankou:soul_forge/entities/set_data/loop_orb_pneumas
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/entities/set_data/randomize_motion.mcfunction b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/entities/set_data/randomize_motion.mcfunction
new file mode 100644
index 0000000000..359ec1983a
--- /dev/null
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/entities/set_data/randomize_motion.mcfunction
@@ -0,0 +1,9 @@
+# @s = newly spawned entity
+# run from soul_forge/entities/severed_soul, soul_forge_entities/fire_sprite, soul_forge/entities/congealed_shard, soul_forge/entites/living_orb, and soul_forge/outputs/fuse_pneuma
+
+# modify motion
+execute store result entity @s Motion[0] double 0.01 run random value -25..25
+execute store result entity @s Motion[2] double 0.01 run random value -25..25
+
+# mark as modified
+tag @s remove gm4_oa_unset
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/entities/set_data/severed_soul.mcfunction b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/entities/set_data/severed_soul.mcfunction
new file mode 100644
index 0000000000..10045b16a4
--- /dev/null
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/entities/set_data/severed_soul.mcfunction
@@ -0,0 +1,7 @@
+# @s = new severed soul endermite
+# run from soul_forge/entities/summon_extra_essence
+# and from soul_forge/entities/summon_failed_essence
+
+$loot replace entity @s weapon.mainhand loot gm4_orb_of_ankou:items/soul_essence/$(id)
+data merge entity @s {CustomName:{"translate":"entity.gm4.severed_soul","fallback":"Severed Soul§"},CustomNameVisible:0b,Team:"gm4_hide_name",Health:2.0f,DeathLootTable:"gm4:empty",PersistenceRequired:1b,Tags:["gm4_oa_unset","gm4_oa_severed_soul","gm4_oa_ignore"],drop_chances:{mainhand:2.0f,offhand:1.0f},Motion:[0.0,0.6,0.0],active_effects:[{id:"minecraft:fire_resistance",amplifier:0b,duration:1000000,show_particles:0b}]}
+function gm4_orb_of_ankou:soul_forge/entities/set_data/randomize_motion
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/entities/severed_soul.mcfunction b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/entities/severed_soul.mcfunction
deleted file mode 100644
index 513aa8c6d2..0000000000
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/entities/severed_soul.mcfunction
+++ /dev/null
@@ -1,14 +0,0 @@
-# @s = soul forge to spawn an endermite with a soul essence
-# run from both soul_forge/entities/summon_failed_essence and soul_forge/entities/summon_congealed_essence
-
-# spawn endermite
-summon endermite ~ ~0.2 ~ {CustomName:'{"translate":"entity.gm4.severed_soul","fallback":"Severed Soul§"}',CustomNameVisible:0b,Team:"gm4_hide_name",Health:2.0f,DeathLootTable:"gm4:empty",PersistenceRequired:1b,Tags:["gm4_oa_unset","gm4_oa_severed_soul","gm4_oa_ignore"],HandDropChances:[2.0f,1.0f],Motion:[0.0,0.6,0.0],active_effects:[{id:'minecraft:fire_resistance',amplifier:0b,duration:1000000,show_particles:0b}]}
-
-# set loot drop to soul essence
-data modify entity @e[type=endermite,tag=gm4_oa_unset,limit=1] HandItems[0] set from storage gm4_orb_of_ankou:temp ArmorItems[0]
-
-# randomize motion in x and z
-execute as @e[type=endermite,tag=gm4_oa_unset,limit=1] run function gm4_orb_of_ankou:soul_forge/entities/randomize_motion
-
-# visuals
-playsound minecraft:entity.endermite.hurt hostile @a[distance=..12] ~ ~ ~ 0.7 1
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/entities/summon_congealed_shard.mcfunction b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/entities/summon_congealed_shard.mcfunction
index 10c2600f03..0268afdca0 100644
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/entities/summon_congealed_shard.mcfunction
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/entities/summon_congealed_shard.mcfunction
@@ -1,8 +1,11 @@
# @s = soul shard item in a soul forge that already has an shard
# run from both soul_forge/recipes/check_shard and soul_forge/recipes/add_shard
-# summon bat
-function gm4_orb_of_ankou:soul_forge/entities/congealed_shard
+# spawn bat
+execute positioned ~ ~0.2 ~ summon bat run function gm4_orb_of_ankou:soul_forge/entities/set_data/congealed_shard with storage gm4_orb_of_ankou:temp Item.components."minecraft:custom_data".gm4_orb_of_ankou.pneumas[-1]
+
+# visuals
+playsound minecraft:entity.bat.hurt hostile @a[distance=..12] ~ ~ ~ 0.7 1
# loop
scoreboard players remove shard_count gm4_oa_forge 1
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/entities/summon_extra_essence.mcfunction b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/entities/summon_extra_essence.mcfunction
index 9b912822ee..64217bdafe 100644
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/entities/summon_extra_essence.mcfunction
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/entities/summon_extra_essence.mcfunction
@@ -2,8 +2,10 @@
# run from soul_forge/destroy
# summon endermite
-data modify storage gm4_orb_of_ankou:temp ArmorItems[0].components set from storage gm4_orb_of_ankou:temp ArmorItems[1].components
-function gm4_orb_of_ankou:soul_forge/entities/severed_soul
+execute positioned ~ ~0.2 ~ summon endermite run function gm4_orb_of_ankou:soul_forge/entities/set_data/severed_soul with storage gm4_orb_of_ankou:temp equipment.legs.components."minecraft:custom_data".gm4_orb_of_ankou.stored_pneuma
+
+# visuals
+playsound minecraft:entity.endermite.hurt hostile @a[distance=..12] ~ ~ ~ 0.7 1
# loop
scoreboard players remove @s gm4_oa_essence 1
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/entities/summon_extra_orb.mcfunction b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/entities/summon_extra_orb.mcfunction
index c1e86fc57d..94b22292b3 100644
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/entities/summon_extra_orb.mcfunction
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/entities/summon_extra_orb.mcfunction
@@ -2,13 +2,8 @@
# run from soul_forge/destroy
# spawn silverfish
-summon silverfish ~ ~0.2 ~ {CustomName:'{"translate":"entity.gm4.living_orb","fallback":"Living Orb§"}',CustomNameVisible:0b,Team:"gm4_hide_name",DeathLootTable:"gm4:empty",PersistenceRequired:1b,Tags:["gm4_oa_unset","gm4_oa_living_orb","gm4_oa_ignore"],HandDropChances:[2.0f,1.0f],Motion:[0.0,0.6,0.0],active_effects:[{id:'minecraft:fire_resistance',amplifier:0b,duration:1000000,show_particles:0b}]}
-
-# set loot drop to orb of ankou
-data modify entity @e[type=silverfish,tag=gm4_oa_unset,limit=1] HandItems[0] set from storage gm4_orb_of_ankou:temp ArmorItems[3]
-
-# randomize motion in x and z
-execute as @e[type=silverfish,tag=gm4_oa_unset,limit=1] run function gm4_orb_of_ankou:soul_forge/entities/randomize_motion
+data modify storage gm4_orb_of_ankou:temp current_orb set from storage gm4_orb_of_ankou:temp equipment.head
+execute positioned ~ ~0.2 ~ summon silverfish run function gm4_orb_of_ankou:soul_forge/entities/set_data/living_orb
# visuals
playsound minecraft:entity.silverfish.hurt hostile @a[distance=..12] ~ ~ ~ 0.7 1
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/entities/summon_extra_shard.mcfunction b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/entities/summon_extra_shard.mcfunction
index fbd421ffbe..b989ee0406 100644
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/entities/summon_extra_shard.mcfunction
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/entities/summon_extra_shard.mcfunction
@@ -2,13 +2,7 @@
# run from soul_forge/destroy
# spawn bat
-summon bat ~ ~0.2 ~ {CustomName:'{"translate":"entity.gm4.congealed_shard","fallback":"Congealed Soul Shard§"}',CustomNameVisible:0b,Team:"gm4_hide_name",DeathLootTable:"gm4:empty",PersistenceRequired:1b,Tags:["gm4_oa_unset","gm4_oa_congealed_shard","gm4_oa_ignore","gm4_defused_bat"],HandDropChances:[2.0f,1.0f],Motion:[0.0,0.6,0.0],active_effects:[{id:'minecraft:fire_resistance',amplifier:0b,duration:1000000,show_particles:0b}]}
-
-# set loot drop to soul shard
-data modify entity @e[type=bat,tag=gm4_oa_unset,limit=1] HandItems[0] set from storage gm4_orb_of_ankou:temp ArmorItems[2]
-
-# randomize motion in x and z
-execute as @e[type=bat,tag=gm4_oa_unset,limit=1] run function gm4_orb_of_ankou:soul_forge/entities/randomize_motion
+execute positioned ~ ~0.2 ~ summon bat run function gm4_orb_of_ankou:soul_forge/entities/set_data/congealed_shard with storage gm4_orb_of_ankou:temp equipment.chest.components."minecraft:custom_data".gm4_orb_of_ankou.pneumas[-1]
# visuals
playsound minecraft:entity.bat.hurt hostile @a[distance=..12] ~ ~ ~ 0.7 1
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/entities/summon_failed_essence.mcfunction b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/entities/summon_failed_essence.mcfunction
index 949d607260..29d7e23565 100644
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/entities/summon_failed_essence.mcfunction
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/entities/summon_failed_essence.mcfunction
@@ -2,7 +2,7 @@
# run from soul_forge/destroy
# summon endermite
-function gm4_orb_of_ankou:soul_forge/entities/severed_soul
+execute positioned ~ ~0.2 ~ summon endermite run function gm4_orb_of_ankou:soul_forge/entities/set_data/severed_soul with storage gm4_orb_of_ankou:temp equipment.feet.components."minecraft:custom_data".gm4_orb_of_ankou.stored_pneuma
# loop
scoreboard players remove failed_count gm4_oa_essence 1
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/entities/summon_living_orb.mcfunction b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/entities/summon_living_orb.mcfunction
index dd1f1788fe..316c80f24e 100644
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/entities/summon_living_orb.mcfunction
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/entities/summon_living_orb.mcfunction
@@ -1,8 +1,12 @@
# @s = orb of ankou item in a soul forge that already has an orb
# run from both soul_forge/recipes/check_orb and soul_forge/recipes/add_orb
-# summon silverfish
-function gm4_orb_of_ankou:soul_forge/entities/living_orb
+# spawn silverfish
+data modify storage gm4_orb_of_ankou:temp current_orb set from storage gm4_orb_of_ankou:temp Item
+execute positioned ~ ~0.2 ~ summon silverfish run function gm4_orb_of_ankou:soul_forge/entities/set_data/living_orb
+
+# visuals
+playsound minecraft:entity.silverfish.hurt hostile @a[distance=..12] ~ ~ ~ 0.7 1
# loop
scoreboard players remove orb_count gm4_oa_forge 1
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/entities/summon_wandering_tear.mcfunction b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/entities/summon_wandering_tear.mcfunction
index 22946f31b7..5331a7d0cd 100644
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/entities/summon_wandering_tear.mcfunction
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/entities/summon_wandering_tear.mcfunction
@@ -1,8 +1,11 @@
# @s = soul forge without fire with extra ghast tears in storage
# run from soul_forge/destroy
-# summon vex
-function gm4_orb_of_ankou:soul_forge/entities/wandering_tear
+# spawn vex
+summon minecraft:vex ~ ~0.2 ~ {Silent:1b,Glowing:1b,CustomNameVisible:0b,life_ticks:1200,DeathLootTable:"gm4:empty",Tags:["gm4_oa_ignore","gm4_oa_wandering_tear"],CustomName:{"translate":"entity.gm4.wandering_tear","fallback":"Wandering Tear§"},Team:"gm4_hide_name",active_effects:[{id:"minecraft:invisibility",amplifier:0b,duration:1000000,show_particles:0b}],attributes:[{id:"minecraft:follow_range",base:48},{id:"minecraft:attack_damage",base:3}]}
+
+# visuals
+playsound minecraft:entity.vex.hurt hostile @a[distance=..12] ~ ~ ~ 0.6 1.2
# loop
scoreboard players remove @s gm4_oa_tears 1
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/entities/wandering_tear.mcfunction b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/entities/wandering_tear.mcfunction
deleted file mode 100644
index 2e4964604b..0000000000
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/entities/wandering_tear.mcfunction
+++ /dev/null
@@ -1,8 +0,0 @@
-# @s = soul forge to spawn a wandering tear vex
-# run from soul_forge/entities/summon_wandering_tear
-
-# spawn vex
-summon minecraft:vex ~ ~0.2 ~ {Silent:1b,Glowing:1b,CustomNameVisible:0b,LifeTicks:1200,DeathLootTable:"gm4:empty",Tags:["gm4_oa_ignore","gm4_oa_wandering_tear"],CustomName:'{"translate":"entity.gm4.wandering_tear","fallback":"Wandering Tear§"}',Team:"gm4_hide_name",active_effects:[{id:'minecraft:invisibility',amplifier:0b,duration:1000000,show_particles:0b}],attributes:[{id:"minecraft:follow_range",base:48},{id:"minecraft:attack_damage",base:3}]}
-
-# visuals
-playsound minecraft:entity.vex.hurt hostile @a[distance=..12] ~ ~ ~ 0.6 1.2
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/entities/withering_magic.mcfunction b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/entities/withering_magic.mcfunction
index 0ac2a9110c..b16412b5af 100644
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/entities/withering_magic.mcfunction
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/entities/withering_magic.mcfunction
@@ -2,7 +2,7 @@
# run from both soul_forge/destroy
# spawn area_effect_cloud
-summon minecraft:area_effect_cloud ~ ~0.8 ~ {ReapplicationDelay:200,Radius:4f,RadiusPerTick:-0.001f,Duration:1800,potion_contents:{custom_effects:[{id:'minecraft:wither',amplifier:1b,duration:300}],CustomName:'{"translate":"entity.gm4.withering_magic","fallback":"Withering Magic"}'}}
+summon minecraft:area_effect_cloud ~ ~0.8 ~ {ReapplicationDelay:200,Radius:4f,RadiusPerTick:-0.001f,Duration:1800,potion_contents:{custom_effects:[{id:"minecraft:wither",amplifier:1b,duration:300}]},CustomName:{"translate":"entity.gm4.withering_magic","fallback":"Withering Magic"}}
# visuals
playsound minecraft:entity.wither.hurt hostile @a[distance=..12] ~ ~ ~ 0.6 1.2
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/outputs/check_fuse.mcfunction b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/outputs/check_fuse.mcfunction
index a8fceebfb7..1c51fdc30f 100644
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/outputs/check_fuse.mcfunction
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/outputs/check_fuse.mcfunction
@@ -2,20 +2,20 @@
# run from soul_forge/destroy
# put orb into storage to compare pneumas
-data modify storage gm4_orb_of_ankou:temp Orb set from storage gm4_orb_of_ankou:temp ArmorItems[3]
+data modify storage gm4_orb_of_ankou:temp Orb set from storage gm4_orb_of_ankou:temp equipment.head
# count the number of pneumas stored on the orb already
execute store result score pneuma_count gm4_oa_forge run data get storage gm4_orb_of_ankou:temp Orb.components."minecraft:custom_data".gm4_orb_of_ankou.pneumas
# check if the pneuma is present already in the array
scoreboard players set valid_shard gm4_oa_forge 1
-execute if score pneuma_count gm4_oa_forge matches 1.. store success score valid_shard gm4_oa_forge run data modify storage gm4_orb_of_ankou:temp Orb.components."minecraft:custom_data".gm4_orb_of_ankou.pneumas[0] set from storage gm4_orb_of_ankou:temp ArmorItems[2].components."minecraft:custom_data".gm4_orb_of_ankou.pneumas[]
+execute if score pneuma_count gm4_oa_forge matches 1.. store success score valid_shard gm4_oa_forge run data modify storage gm4_orb_of_ankou:temp Orb.components."minecraft:custom_data".gm4_orb_of_ankou.pneumas[0] set from storage gm4_orb_of_ankou:temp equipment.chest.components."minecraft:custom_data".gm4_orb_of_ankou.pneumas[]
-execute if score valid_shard gm4_oa_forge matches 1 if score pneuma_count gm4_oa_forge matches 2.. store success score valid_shard gm4_oa_forge run data modify storage gm4_orb_of_ankou:temp Orb.components."minecraft:custom_data".gm4_orb_of_ankou.pneumas[1] set from storage gm4_orb_of_ankou:temp ArmorItems[2].components."minecraft:custom_data".gm4_orb_of_ankou.pneumas[]
+execute if score valid_shard gm4_oa_forge matches 1 if score pneuma_count gm4_oa_forge matches 2.. store success score valid_shard gm4_oa_forge run data modify storage gm4_orb_of_ankou:temp Orb.components."minecraft:custom_data".gm4_orb_of_ankou.pneumas[1] set from storage gm4_orb_of_ankou:temp equipment.chest.components."minecraft:custom_data".gm4_orb_of_ankou.pneumas[]
-execute if score valid_shard gm4_oa_forge matches 1 if score pneuma_count gm4_oa_forge matches 3.. store success score valid_shard gm4_oa_forge run data modify storage gm4_orb_of_ankou:temp Orb.components."minecraft:custom_data".gm4_orb_of_ankou.pneumas[2] set from storage gm4_orb_of_ankou:temp ArmorItems[2].components."minecraft:custom_data".gm4_orb_of_ankou.pneumas[]
+execute if score valid_shard gm4_oa_forge matches 1 if score pneuma_count gm4_oa_forge matches 3.. store success score valid_shard gm4_oa_forge run data modify storage gm4_orb_of_ankou:temp Orb.components."minecraft:custom_data".gm4_orb_of_ankou.pneumas[2] set from storage gm4_orb_of_ankou:temp equipment.chest.components."minecraft:custom_data".gm4_orb_of_ankou.pneumas[]
# if all the checks pass, fuse the shard with the orb
execute if score valid_shard gm4_oa_forge matches 1 run function gm4_orb_of_ankou:soul_forge/outputs/fuse_pneuma
-data remove storage gm4_orb_of_ankoou:temp Orb
+data remove storage gm4_orb_of_ankou:temp Orb
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/outputs/create_shard.mcfunction b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/outputs/create_shard.mcfunction
index 1bcbb27bb2..b3d1f31a24 100644
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/outputs/create_shard.mcfunction
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/outputs/create_shard.mcfunction
@@ -2,23 +2,7 @@
# run from soul_forge/destroy
# spawn bat
-summon minecraft:bat ~ ~ ~ {CustomName:'{"translate":"entity.gm4.possessed_shard","fallback":"Possessed Soul Shard§"}',CustomNameVisible:0b,Team:"gm4_hide_name",DeathLootTable:"gm4:empty",PersistenceRequired:1b,Health:2.0f,Tags:["gm4_oa_unset","gm4_oa_possessed_soul_shard","gm4_oa_ignore","gm4_defused_bat"],active_effects:[{id:'minecraft:fire_resistance',amplifier:0b,duration:1000000,show_particles:0b}],ArmorDropChances:[0.0f,0.0f,0.0f,2.0f],ArmorItems:[{},{},{},{id:"minecraft:flint",count:1,components:{"minecraft:enchantment_glint_override":true,"minecraft:custom_name":'{"translate":"item.gm4.soul_shard","fallback":"Soul Shard","italic":false,"color":"white"}',"minecraft:attribute_modifiers":[{type:"minecraft:attack_damage",id:"gm4_orb_of_ankou:attack_damage",slot:"offhand",amount:-0.2,operation:"add_multiplied_base"}],"minecraft:custom_data":{gm4_orb_of_ankou:{item:"soul_shard"}}}}]}
-
-# set data of soul essence into soul shard
-data modify storage gm4_orb_of_ankou:temp Drop set from entity @e[type=bat,tag=gm4_oa_unset,limit=1] ArmorItems[3]
-data modify storage gm4_orb_of_ankou:temp Drop.components."minecraft:custom_model_data" set from storage gm4_orb_of_ankou:temp ArmorItems[1].components."minecraft:custom_model_data"
-data modify storage gm4_orb_of_ankou:temp Drop.components."minecraft:lore"[] set from storage gm4_orb_of_ankou:temp ArmorItems[1].components."minecraft:lore"[0]
-data modify storage gm4_orb_of_ankou:temp Drop.components."minecraft:custom_data".gm4_orb_of_ankou.pneumas[] set from storage gm4_orb_of_ankou:temp ArmorItems[1].components."minecraft:custom_data".gm4_orb_of_ankou.stored_pneuma
-data modify storage gm4_orb_of_ankou:temp Drop.components."minecraft:attribute_modifiers" append from storage gm4_orb_of_ankou:temp ArmorItems[1].components."minecraft:custom_data".gm4_orb_of_ankou.stored_attributes[]
-# TODO 1.20.5: verify that this combines the enchantments correctly
-data modify storage gm4_orb_of_ankou:temp Drop.components."minecraft:enchantments" merge from storage gm4_orb_of_ankou:temp ArmorItems[1].components."minecraft:custom_data".gm4_orb_of_ankou.stored_enchantments
-data modify storage gm4_orb_of_ankou:temp Drop.components."minecraft:custom_data".gm4_orb_of_ankou.stored_enchantments set from storage gm4_orb_of_ankou:temp ArmorItems[1].components."minecraft:custom_data".gm4_orb_of_ankou.stored_enchantments
-data modify storage gm4_orb_of_ankou:temp Drop.components."minecraft:custom_data".gm4_orb_of_ankou.stored_attributes set from storage gm4_orb_of_ankou:temp ArmorItems[1].components."minecraft:custom_data".gm4_orb_of_ankou.stored_attributes
-data modify storage gm4_orb_of_ankou:temp Drop.components."minecraft:custom_data".gm4_orb_of_ankou.stored_color set from storage gm4_orb_of_ankou:temp ArmorItems[1].components."minecraft:custom_data".gm4_orb_of_ankou.stored_color
-
-data modify entity @e[type=bat,tag=gm4_oa_unset,limit=1] ArmorItems[3] set from storage gm4_orb_of_ankou:temp Drop
-data remove storage gm4_orb_of_ankou:temp Drop
-tag @e[type=bat] remove gm4_oa_unset
+execute summon bat run function gm4_orb_of_ankou:soul_forge/outputs/set_shard_loot with storage gm4_orb_of_ankou:temp equipment.legs.components."minecraft:custom_data".gm4_orb_of_ankou.stored_pneuma
# loop if extra sets of 13
scoreboard players remove @s gm4_oa_essence 13
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/outputs/fuse_pneuma.mcfunction b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/outputs/fuse_pneuma.mcfunction
index 3d4f908649..45addd1867 100644
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/outputs/fuse_pneuma.mcfunction
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/outputs/fuse_pneuma.mcfunction
@@ -5,20 +5,20 @@
summon item ~ ~0.2 ~ {PickupDelay:40s,Glowing:1b,Item:{id:"minecraft:firework_star",count:1},Tags:["gm4_oa_unset"],Motion:[0.0,0.4,0.0]}
# restore data of stored orb
-data modify storage gm4_orb_of_ankou:temp Item set from storage gm4_orb_of_ankou:temp ArmorItems[3]
+data modify storage gm4_orb_of_ankou:temp Item set from storage gm4_orb_of_ankou:temp equipment.head
# set data of soul shard into orb of ankou
-data modify storage gm4_orb_of_ankou:temp Item.components."minecraft:lore"[0] set value '{"translate":"text.gm4.orb_of_ankou.pneumas","fallback":"Pneumas:","italic":false,"color":"light_purple"}'
+data modify storage gm4_orb_of_ankou:temp Item.components."minecraft:lore"[0] set value {"translate":"text.gm4.orb_of_ankou.pneumas","fallback":"Pneumas:","italic":false,"color":"light_purple"}
-data modify storage gm4_orb_of_ankou:temp Item.components."minecraft:lore" append from storage gm4_orb_of_ankou:temp ArmorItems[2].components."minecraft:lore"[]
-data modify storage gm4_orb_of_ankou:temp Item.components."minecraft:custom_data".gm4_orb_of_ankou.pneumas append from storage gm4_orb_of_ankou:temp ArmorItems[2].components."minecraft:custom_data".gm4_orb_of_ankou.pneumas[]
-# TODO 1.20.5: verify that this combines the enchantments correctly
-data modify storage gm4_orb_of_ankou:temp Item.components."minecraft:enchantments".levels merge from storage gm4_orb_of_ankou:temp ArmorItems[2].components."minecraft:custom_data".gm4_orb_of_ankou.stored_enchantments.levels
-data modify storage gm4_orb_of_ankou:temp Item.components."minecraft:attribute_modifiers" append from storage gm4_orb_of_ankou:temp ArmorItems[2].components."minecraft:custom_data".gm4_orb_of_ankou.stored_attributes[]
+data modify storage gm4_orb_of_ankou:temp Item.components."minecraft:lore" append from storage gm4_orb_of_ankou:temp equipment.chest.components."minecraft:lore"[]
+data modify storage gm4_orb_of_ankou:temp Item.components."minecraft:custom_data".gm4_orb_of_ankou.pneumas append from storage gm4_orb_of_ankou:temp equipment.chest.components."minecraft:custom_data".gm4_orb_of_ankou.pneumas[]
+data modify storage gm4_orb_of_ankou:temp Item.components."minecraft:enchantments" merge from storage gm4_orb_of_ankou:temp equipment.chest.components."minecraft:enchantments"
+data modify storage gm4_orb_of_ankou:temp Item.components."minecraft:attribute_modifiers" append from storage gm4_orb_of_ankou:temp equipment.chest.components."minecraft:attribute_modifiers"[]
+data remove storage gm4_orb_of_ankou:temp Item.components."minecraft:attribute_modifiers"[{id:"gm4_orb_of_ankou:attack_damage"}]
#custom color
execute if score pneuma_count gm4_oa_forge matches 0 run data merge storage gm4_orb_of_ankou:temp {Item:{components:{"minecraft:firework_explosion":{shape:"small_ball",colors:[I;]}}}}
-data modify storage gm4_orb_of_ankou:temp Item.components."minecraft:firework_explosion".colors append from storage gm4_orb_of_ankou:temp ArmorItems[2].components."minecraft:custom_data".gm4_orb_of_ankou.stored_color[]
+data modify storage gm4_orb_of_ankou:temp Item.components."minecraft:firework_explosion".colors append from storage gm4_orb_of_ankou:temp equipment.chest.components."minecraft:custom_data".gm4_orb_of_ankou.stored_color[]
data modify entity @e[type=item,tag=gm4_oa_unset,limit=1] Item set from storage gm4_orb_of_ankou:temp Item
data remove storage gm4_orb_of_ankou:temp Item
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/outputs/set_shard_loot.mcfunction b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/outputs/set_shard_loot.mcfunction
new file mode 100644
index 0000000000..dcf1021fcb
--- /dev/null
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/outputs/set_shard_loot.mcfunction
@@ -0,0 +1,5 @@
+# @s = new soul shard bat
+# run from soul_forge/outputs/create_shard
+
+$loot replace entity @s armor.head loot gm4_orb_of_ankou:items/soul_shard/$(id)
+data merge entity @s {CustomName:{"translate":"entity.gm4.possessed_shard","fallback":"Possessed Soul Shard§"},CustomNameVisible:0b,Team:"gm4_hide_name",DeathLootTable:"gm4:empty",PersistenceRequired:1b,Health:2.0f,Tags:["gm4_oa_possessed_soul_shard","gm4_oa_ignore","gm4_defused_bat"],active_effects:[{id:'minecraft:fire_resistance',amplifier:0b,duration:1000000,show_particles:0b}],drop_chances:{head:2F}}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/recipes/add_first_soul_essence.mcfunction b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/recipes/add_first_soul_essence.mcfunction
index 174e355573..96ddcec54e 100644
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/recipes/add_first_soul_essence.mcfunction
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/recipes/add_first_soul_essence.mcfunction
@@ -2,5 +2,5 @@
# located at the position of the soul forge armor stand (align xyz)
# run from soul_forge/recipes/check_soul_essence
-data modify storage gm4_orb_of_ankou:temp ArmorItems[0] set from storage gm4_orb_of_ankou:temp Item
-data modify storage gm4_orb_of_ankou:temp ArmorItems[1] set from storage gm4_orb_of_ankou:temp Item
+data modify storage gm4_orb_of_ankou:temp equipment.feet set from storage gm4_orb_of_ankou:temp Item
+data modify storage gm4_orb_of_ankou:temp equipment.legs set from storage gm4_orb_of_ankou:temp Item
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/recipes/add_orb.mcfunction b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/recipes/add_orb.mcfunction
index 860396e7ed..20f8e86af3 100644
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/recipes/add_orb.mcfunction
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/recipes/add_orb.mcfunction
@@ -7,8 +7,8 @@ playsound minecraft:entity.blaze.ambient block @a[distance=..12] ~0.5 ~0.5 ~0.5
particle minecraft:cloud ~0.5 ~1.5 ~0.5 0.2 1 0.2 0.01 5
# add single orb to forge storage
-data modify storage gm4_orb_of_ankou:temp ArmorItems[3] set from storage gm4_orb_of_ankou:temp Item
-data modify storage gm4_orb_of_ankou:temp ArmorItems[3].count set value 1b
+data modify storage gm4_orb_of_ankou:temp equipment.head set from storage gm4_orb_of_ankou:temp Item
+data modify storage gm4_orb_of_ankou:temp equipment.head.count set value 1b
tag @e[type=armor_stand,tag=gm4_oa_selected_forge,limit=1] add gm4_oa_has_orb
# convert extra orbs to living orbs
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/recipes/add_shard.mcfunction b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/recipes/add_shard.mcfunction
index fa45a2fefa..92807a9683 100644
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/recipes/add_shard.mcfunction
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/recipes/add_shard.mcfunction
@@ -7,8 +7,8 @@ playsound minecraft:entity.blaze.ambient block @a[distance=..12] ~0.5 ~0.5 ~0.5
particle minecraft:cloud ~0.5 ~1.5 ~0.5 0.2 1 0.2 0.01 5
# add single shard to forge storage
-data modify storage gm4_orb_of_ankou:temp ArmorItems[2] set from storage gm4_orb_of_ankou:temp Item
-data modify storage gm4_orb_of_ankou:temp ArmorItems[2].count set value 1b
+data modify storage gm4_orb_of_ankou:temp equipment.chest set from storage gm4_orb_of_ankou:temp Item
+data modify storage gm4_orb_of_ankou:temp equipment.chest.count set value 1b
tag @e[type=armor_stand,tag=gm4_oa_selected_forge,limit=1] add gm4_oa_has_shard
# convert extra shards to congealed shards
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/recipes/check_item.mcfunction b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/recipes/check_item.mcfunction
index 1b94bf8a03..1c4b6bd3df 100644
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/recipes/check_item.mcfunction
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/recipes/check_item.mcfunction
@@ -4,7 +4,7 @@
# tag the armor soul forge
tag @e[type=armor_stand,tag=gm4_soul_forge,limit=1,sort=nearest,distance=..1] add gm4_oa_selected_forge
-data modify storage gm4_orb_of_ankou:temp ArmorItems set from entity @e[type=armor_stand,tag=gm4_oa_selected_forge,limit=1] ArmorItems
+data modify storage gm4_orb_of_ankou:temp equipment set from entity @e[type=armor_stand,tag=gm4_oa_selected_forge,limit=1] equipment
# if valid item, add it to the scoreboard storage
data modify storage gm4_orb_of_ankou:temp Item set from entity @s Item
@@ -17,9 +17,9 @@ execute unless entity @s[tag=gm4_oa_checked_item] if data storage gm4_orb_of_ank
execute unless entity @s[tag=gm4_oa_checked_item] if data storage gm4_orb_of_ankou:temp Item{id:"minecraft:firework_star",components:{"minecraft:custom_data":{gm4_orb_of_ankou:{item:"orb"}}}} run function gm4_orb_of_ankou:soul_forge/recipes/check_orb
# apply data modify to armor stand
-data modify entity @e[type=armor_stand,tag=gm4_oa_selected_forge,limit=1] ArmorItems set from storage gm4_orb_of_ankou:temp ArmorItems
+data modify entity @e[type=armor_stand,tag=gm4_oa_selected_forge,limit=1] equipment set from storage gm4_orb_of_ankou:temp equipment
tag @e[type=armor_stand,tag=gm4_soul_forge] remove gm4_oa_selected_forge
-data remove storage gm4_orb_of_ankou:temp ArmorItems
+data remove storage gm4_orb_of_ankou:temp equipment
# play burn sound and kill item
execute unless entity @s[tag=gm4_oa_checked_item] run playsound minecraft:entity.generic.burn block @a[distance=..12] ~0.5 ~0.5 ~0.5 0.2 1.5
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/recipes/check_soul_essence.mcfunction b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/recipes/check_soul_essence.mcfunction
index c3f1050ee7..841f790ca8 100644
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/recipes/check_soul_essence.mcfunction
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/recipes/check_soul_essence.mcfunction
@@ -6,9 +6,9 @@
execute unless score @e[type=armor_stand,tag=gm4_oa_selected_forge,limit=1] gm4_oa_essence matches 1.. run function gm4_orb_of_ankou:soul_forge/recipes/add_first_soul_essence
# check if the essence is the same as the one stored in the forge
-execute store success score invalid_essence gm4_oa_essence run data modify storage gm4_orb_of_ankou:temp ArmorItems[0].components."minecraft:custom_data".gm4_orb_of_ankou.stored_pneuma set from storage gm4_orb_of_ankou:temp Item.components."minecraft:custom_data".gm4_orb_of_ankou.stored_pneuma
-data modify storage gm4_orb_of_ankou:temp ArmorItems[0].components set from storage gm4_orb_of_ankou:temp Item.components
-data modify storage gm4_orb_of_ankou:temp ArmorItems[1].count set value 1b
+execute store success score invalid_essence gm4_oa_essence run data modify storage gm4_orb_of_ankou:temp equipment.feet.components."minecraft:custom_data".gm4_orb_of_ankou.stored_pneuma set from storage gm4_orb_of_ankou:temp Item.components."minecraft:custom_data".gm4_orb_of_ankou.stored_pneuma
+data modify storage gm4_orb_of_ankou:temp equipment.feet.components set from storage gm4_orb_of_ankou:temp Item.components
+data modify storage gm4_orb_of_ankou:temp equipment.legs.count set value 1b
# if same essence, add it to the forge storage
execute if score invalid_essence gm4_oa_essence matches 0 run function gm4_orb_of_ankou:soul_forge/recipes/add_soul_essence
@@ -18,4 +18,4 @@ execute if score invalid_essence gm4_oa_essence matches 1 store result score fai
execute if score invalid_essence gm4_oa_essence matches 1 run function gm4_orb_of_ankou:soul_forge/entities/summon_failed_essence
# prepare for another essence to be checked
-data modify storage gm4_orb_of_ankou:temp ArmorItems[0] set from storage gm4_orb_of_ankou:temp ArmorItems[1]
+data modify storage gm4_orb_of_ankou:temp equipment.feet set from storage gm4_orb_of_ankou:temp equipment.legs
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/wither_roses/consume.mcfunction b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/wither_roses/consume.mcfunction
index 10914d0b7b..7dc76c7a5c 100644
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/wither_roses/consume.mcfunction
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/wither_roses/consume.mcfunction
@@ -14,7 +14,7 @@ playsound minecraft:entity.player.breath block @a[distance=..12] ~ ~ ~ 1 1.3
particle minecraft:cloud ~ ~0.6 ~ 0 0.8 0 0 5
# summon pretty entity line
-summon marker ~ ~-1 ~ {Tags:["gm4_oa_wither_particle","gm4_unrotated_particle_cloud"],CustomName:'"Soul Forge Wither Particle"'}
+summon marker ~ ~-1 ~ {Tags:["gm4_oa_wither_particle","gm4_unrotated_particle_cloud"],CustomName:"Soul Forge Wither Particle"}
teleport @e[type=marker,tag=gm4_unrotated_particle_cloud,limit=1] ~ ~-1 ~ facing entity @s eyes
teleport @e[type=marker,tag=gm4_unrotated_particle_cloud,limit=1] ~ ~1 ~
tag @e[type=marker,tag=gm4_unrotated_particle_cloud] remove gm4_unrotated_particle_cloud
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/wither_roses/move_indicator.mcfunction b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/wither_roses/move_indicator.mcfunction
index a398aaa56d..f7dee1af5b 100644
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/wither_roses/move_indicator.mcfunction
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/wither_roses/move_indicator.mcfunction
@@ -1,29 +1,16 @@
# @s = wither_rose_catcher marker at @s
# run from soul_forge/wither_roses/summon_indicator
-#move the AEC to the chosen x and z
-execute at @s if score random_x gm4_oa_roses matches 8.. run tp @s ~8 ~ ~
-execute if score random_x gm4_oa_roses matches 8.. run scoreboard players remove random_x gm4_oa_roses 8
-execute at @s if score random_x gm4_oa_roses matches 4.. run tp @s ~4 ~ ~
-execute if score random_x gm4_oa_roses matches 4.. run scoreboard players remove random_x gm4_oa_roses 4
-execute at @s if score random_x gm4_oa_roses matches 2.. run tp @s ~2 ~ ~
-execute if score random_x gm4_oa_roses matches 2.. run scoreboard players remove random_x gm4_oa_roses 2
-execute at @s if score random_x gm4_oa_roses matches 1.. run tp @s ~1 ~ ~
-execute if score random_x gm4_oa_roses matches 1.. run scoreboard players remove random_x gm4_oa_roses 1
-execute at @s if score random_z gm4_oa_roses matches 8.. run tp @s ~ ~ ~8
-execute if score random_z gm4_oa_roses matches 8.. run scoreboard players remove random_z gm4_oa_roses 8
-execute at @s if score random_z gm4_oa_roses matches 4.. run tp @s ~ ~ ~4
-execute if score random_z gm4_oa_roses matches 4.. run scoreboard players remove random_z gm4_oa_roses 4
-execute at @s if score random_z gm4_oa_roses matches 2.. run tp @s ~ ~ ~2
-execute if score random_z gm4_oa_roses matches 2.. run scoreboard players remove random_z gm4_oa_roses 2
-execute at @s if score random_z gm4_oa_roses matches 1.. run tp @s ~ ~ ~1
-execute if score random_z gm4_oa_roses matches 1.. run scoreboard players remove random_z gm4_oa_roses 1
+# move the to the randomized position
+$tp ~$(x) ~1 ~$(z)
-#kill if not in air or on unsupported block
-execute at @s if block ~ ~ ~ #gm4:no_collision unless block ~ ~-1 ~ #gm4:no_collision run tag @s add gm4_oa_rose_indicator_valid
+# kill if not in air or on unsupported block
+execute at @s if block ~ ~ ~ #gm4:no_collision unless block ~ ~-1 ~ #gm4:no_collision unless block ~ ~-1 ~ obsidian run tag @s add gm4_oa_rose_indicator_valid
+execute if entity @s[tag=!gm4_oa_rose_indicator_valid] run return run kill @s
-kill @s[tag=!gm4_oa_rose_indicator_valid]
+# set data
+data merge entity @s {CustomName:"gm4_oa_wither_rose_catcher",Tags:["gm4_oa_wither_rose_catcher"]}
# play sound to indicate
-execute at @s[tag=gm4_oa_rose_indicator_valid] run playsound minecraft:entity.wither.ambient block @a ~ ~ ~ 0.6 1.4
+execute at @s run playsound minecraft:entity.wither.ambient block @a ~ ~ ~ 0.6 1.4
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/wither_roses/steps.mcfunction b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/wither_roses/steps.mcfunction
index ca029e6fc0..fc82fd66a7 100644
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/wither_roses/steps.mcfunction
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/wither_roses/steps.mcfunction
@@ -7,9 +7,9 @@ scoreboard players reset @s[scores={gm4_oa_forge=10..}] gm4_oa_forge
# every 160 ticks (8 seconds): spawn an indicator, wait 80 ticks (4 seconds) then consume the wither rose at that indicator if possible
execute if score @s gm4_oa_forge matches 2 run function gm4_orb_of_ankou:soul_forge/wither_roses/summon_indicator
-scoreboard players add @e[type=marker,tag=gm4_oa_wither_rose_catcher,distance=..8,limit=1,sort=nearest] gm4_oa_marker 16
-execute if score @s gm4_oa_forge matches 8 at @e[type=marker,tag=gm4_oa_wither_rose_catcher,scores={gm4_oa_marker=112..},distance=..8,limit=1,sort=nearest] if block ~ ~ ~ wither_rose run function gm4_orb_of_ankou:soul_forge/wither_roses/consume
-kill @e[type=marker,tag=gm4_oa_wither_rose_catcher,scores={gm4_oa_marker=112..},distance=..8]
+scoreboard players add @e[type=marker,tag=gm4_oa_wither_rose_catcher,distance=..10,limit=1,sort=nearest] gm4_oa_marker 16
+execute if score @s gm4_oa_forge matches 8 at @e[type=marker,tag=gm4_oa_wither_rose_catcher,scores={gm4_oa_marker=112..},distance=..10,limit=1,sort=nearest] if block ~ ~ ~ wither_rose run function gm4_orb_of_ankou:soul_forge/wither_roses/consume
+kill @e[type=marker,tag=gm4_oa_wither_rose_catcher,scores={gm4_oa_marker=112..},distance=..10]
# indicator particles
execute at @e[type=marker,tag=gm4_oa_wither_rose_catcher] run particle witch ~ ~ ~ 0 .2 0 0 7 normal
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/wither_roses/summon_indicator.mcfunction b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/wither_roses/summon_indicator.mcfunction
index 6052d096a8..75589236ce 100644
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/wither_roses/summon_indicator.mcfunction
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/soul_forge/wither_roses/summon_indicator.mcfunction
@@ -1,20 +1,10 @@
# @s = soul forge with an orb and shard
# run from soul_forge/wither_roses/steps
-summon marker ~-6 ~1 ~-6 {CustomName:'"gm4_oa_wither_rose_catcher"',Tags:["gm4_oa_wither_rose_catcher","gm4_oa_unset"]}
-
#calculate random position
-execute store result score random_x gm4_oa_roses run data get entity @e[type=marker,tag=gm4_oa_wither_rose_catcher,tag=gm4_oa_unset,limit=1] UUID[0]
-scoreboard players operation random_z gm4_oa_roses = random_x gm4_oa_roses
-
-scoreboard players set modulo_1 gm4_oa_roses 13
-scoreboard players operation random_z gm4_oa_roses %= modulo_1 gm4_oa_roses
-
-scoreboard players set modulo_2 gm4_oa_roses 12
-scoreboard players operation random_x gm4_oa_roses %= modulo_2 gm4_oa_roses
-scoreboard players operation random_z gm4_oa_roses %= modulo_2 gm4_oa_roses
+execute store result storage gm4_orb_of_ankou:temp pos.x int 1 run random value -6..6
+execute store result storage gm4_orb_of_ankou:temp pos.z int 1 run random value -6..6
#move the entity
-execute as @e[type=marker,tag=gm4_oa_wither_rose_catcher,tag=gm4_oa_unset] at @s run function gm4_orb_of_ankou:soul_forge/wither_roses/move_indicator
-
-tag @e[type=marker,tag=gm4_oa_wither_rose_catcher,tag=gm4_oa_unset] remove gm4_oa_unset
+execute summon marker run function gm4_orb_of_ankou:soul_forge/wither_roses/move_indicator with storage gm4_orb_of_ankou:temp pos
+data remove storage gm4_orb_of_ankou:temp pos
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/update_tags/check_offhand.mcfunction b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/update_tags/check_offhand.mcfunction
index c9742e05d0..2a8d0482c8 100644
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/update_tags/check_offhand.mcfunction
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/update_tags/check_offhand.mcfunction
@@ -6,3 +6,5 @@ advancement revoke @s only gm4_orb_of_ankou:check_player/check_inventory
execute if entity @s[tag=gm4_has_pneuma] run function gm4_orb_of_ankou:update_tags/remove_tags
execute if entity @s[predicate=gm4_orb_of_ankou:has_pneuma] run function gm4_orb_of_ankou:update_tags/check_pneuma
+
+execute as @s[tag=!gm4_pneuma_soaring,tag=gm4_oa_soaring_active] at @s run function gm4_orb_of_ankou:pneumas/soaring/toggle
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/update_tags/check_pneuma.mcfunction b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/update_tags/check_pneuma.mcfunction
index 9986bd5eb2..b64cf879fd 100644
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/update_tags/check_pneuma.mcfunction
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/update_tags/check_pneuma.mcfunction
@@ -4,7 +4,6 @@
tag @s add gm4_has_pneuma
tag @s[predicate=gm4_orb_of_ankou:pneuma_equipped/aggressive] add gm4_pneuma_aggressive
-tag @s[predicate=gm4_orb_of_ankou:pneuma_equipped/agile] add gm4_pneuma_agile
tag @s[predicate=gm4_orb_of_ankou:pneuma_equipped/bargaining] add gm4_pneuma_bargaining
tag @s[predicate=gm4_orb_of_ankou:pneuma_equipped/blasting] add gm4_pneuma_blasting
tag @s[predicate=gm4_orb_of_ankou:pneuma_equipped/blinding] add gm4_pneuma_blinding
@@ -50,7 +49,6 @@ scoreboard players reset @s gm4_oa_bow_freezing
scoreboard players reset @s gm4_oa_bow_tranquilizing
# run tick functions
-execute if entity @a[gamemode=!spectator,tag=gm4_pneuma_agile,limit=1] run schedule function gm4_orb_of_ankou:pneumas/temp_tick/agile 1t
execute if entity @a[gamemode=!spectator,tag=gm4_pneuma_hawkeye,limit=1] run schedule function gm4_orb_of_ankou:pneumas/temp_tick/hawkeye 1t
execute if entity @a[gamemode=!spectator,tag=gm4_pneuma_freezing,limit=1] run schedule function gm4_orb_of_ankou:pneumas/temp_tick/freezing 1t
execute if entity @a[gamemode=!spectator,tag=gm4_pneuma_tranquilizing,limit=1] run schedule function gm4_orb_of_ankou:pneumas/temp_tick/tranquilizing 1t
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/update_tags/remove_tags.mcfunction b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/update_tags/remove_tags.mcfunction
index 1d8ff6fffd..f5ad1649a7 100644
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/update_tags/remove_tags.mcfunction
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/function/update_tags/remove_tags.mcfunction
@@ -38,4 +38,5 @@ tag @s remove gm4_pneuma_withering
tag @s remove gm4_sneak_pneuma
tag @s remove gm4_has_pneuma
-tag @s remove gm4_oa_soaring_active
+tag @s remove gm4_oa_soaring_idle
+tag @s remove gm4_oa_soaring_toggled
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/guidebook/orb_of_ankou.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/guidebook/orb_of_ankou.json
index b66253e617..0883f1baca 100644
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/guidebook/orb_of_ankou.json
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/guidebook/orb_of_ankou.json
@@ -284,9 +284,9 @@
"fallback": "Aggressive"
}
],
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.orb_of_ankou.note.aggressive",
"fallback": "Grants Strength when damaged"
@@ -304,9 +304,9 @@
"fallback": "Feigning"
}
],
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.orb_of_ankou.note.feigning",
"fallback": "Grants Slowness, Resistance, Invisibility, and Regeneration when damaged below half health"
@@ -324,9 +324,9 @@
"fallback": "Incombustible"
}
],
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.orb_of_ankou.note.incombustible",
"fallback": "Grants Fire Resistance when damaged by fire"
@@ -344,9 +344,9 @@
"fallback": "Lifeless"
}
],
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.orb_of_ankou.note.lifeless",
"fallback": "Negates Poison effect and heals when damaged by Instant Damage effect"
@@ -364,9 +364,9 @@
"fallback": "Neutralizing"
}
],
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.orb_of_ankou.note.neutralizing",
"fallback": "Negates Poison effect; Instant Damage effect deals less damage"
@@ -384,9 +384,9 @@
"fallback": "Pricking"
}
],
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.orb_of_ankou.note.pricking",
"fallback": "75% chance to deal 1-4 damage to the attacker (Thorns V)"
@@ -404,9 +404,9 @@
"fallback": "Retreating"
}
],
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.orb_of_ankou.note.retreating",
"fallback": "Grants Speed and Weakness when damaged"
@@ -424,9 +424,9 @@
"fallback": "Volatile"
}
],
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.orb_of_ankou.note.volatile",
"fallback": "Creates explosion if damaged below 1.5 hearts"
@@ -450,9 +450,9 @@
"fallback": "Blasting"
}
],
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.orb_of_ankou.note.blasting",
"fallback": "Shoots fireballs when shooting a crossbow with blaze powder in the inventory"
@@ -470,9 +470,9 @@
"fallback": "Depriving"
}
],
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.orb_of_ankou.note.depriving",
"fallback": "Applies Hunger to attacked targets; Applies Weakness to attacked mobs"
@@ -490,12 +490,12 @@
"fallback": "Freezing"
}
],
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.orb_of_ankou.note.freezing",
- "fallback": "Applies Slowness to attacked targets"
+ "fallback": "Applies Slowness to arrows shot from bows"
}
]
}
@@ -510,9 +510,9 @@
"fallback": "Hawkeye"
}
],
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.orb_of_ankou.note.hawkeye",
"fallback": "Doubles the damage of arrows shot from bows; Arrows shot from bows will have Piercing I"
@@ -521,6 +521,26 @@
}
},
"\n",
+ {
+ "translate": "text.gm4.guidebook.orb_of_ankou.pneuma_list",
+ "fallback": " - %1$s*",
+ "with": [
+ {
+ "translate": "text.gm4.pneuma_tranquilizing",
+ "fallback": "Tranquilizing"
+ }
+ ],
+ "hover_event": {
+ "action": "show_text",
+ "value": [
+ {
+ "translate": "text.gm4.guidebook.orb_of_ankou.note.tranquilizing",
+ "fallback": "Applies Poison to arrows shot from bows"
+ }
+ ]
+ }
+ },
+ "\n",
{
"translate": "text.gm4.guidebook.orb_of_ankou.pneuma_list",
"fallback": " - %1$s*",
@@ -530,9 +550,9 @@
"fallback": "Venomous"
}
],
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.orb_of_ankou.note.venomous",
"fallback": "Applies Poison to attacked target"
@@ -550,9 +570,9 @@
"fallback": "Withering"
}
],
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.orb_of_ankou.note.withering",
"fallback": "Applies Wither to attacked target"
@@ -576,9 +596,9 @@
"fallback": "Agile"
}
],
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.orb_of_ankou.note.agile",
"fallback": "Prevents fall damage"
@@ -596,9 +616,9 @@
"fallback": "Anchoring"
}
],
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.orb_of_ankou.note.anchoring",
"fallback": "Grants 90% Knockback Resistance"
@@ -616,9 +636,9 @@
"fallback": "Bargaining"
}
],
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.orb_of_ankou.note.bargaining",
"fallback": "Grants Regeneration upon trading with villagers"
@@ -636,9 +656,9 @@
"fallback": "Bashing"
}
],
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.orb_of_ankou.note.bashing",
"fallback": "Grants +70% Attack Damage, but -40% Attack Speed"
@@ -656,9 +676,9 @@
"fallback": "Bubbly"
}
],
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.orb_of_ankou.note.bubbly",
"fallback": "Grants 2 minutes of Water Breathing when submerged"
@@ -676,9 +696,9 @@
"fallback": "Enduring"
}
],
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.orb_of_ankou.note.enduring",
"fallback": "Grants +8 Max Health, but -20% Speed"
@@ -696,9 +716,9 @@
"fallback": "Gliding"
}
],
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.orb_of_ankou.note.gliding",
"fallback": "Grants Dolphin's Grace when swimming"
@@ -716,9 +736,9 @@
"fallback": "Striding"
}
],
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.orb_of_ankou.note.striding",
"fallback": "Temporarily converts lava sources into magma blocks upon stepping on them"
@@ -736,9 +756,9 @@
"fallback": "Synergetic"
}
],
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.orb_of_ankou.note.synergetic",
"fallback": "Grants Strength to tamed wolves and other Synergetic users"
@@ -762,9 +782,9 @@
"fallback": "Bounding"
}
],
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.orb_of_ankou.note.bounding",
"fallback": "Increasingly stronger Jump Boost"
@@ -782,9 +802,9 @@
"fallback": "Conjuring"
}
],
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.orb_of_ankou.note.conjuring",
"fallback": "Increasingly farther Evoker fang attack"
@@ -802,9 +822,9 @@
"fallback": "Dashing"
}
],
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.orb_of_ankou.note.dashing",
"fallback": "Increasingly farther horizontal dash"
@@ -822,9 +842,9 @@
"fallback": "Draining"
}
],
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.orb_of_ankou.note.draining",
"fallback": "Increasingly farther Mining Fatigue AOE"
@@ -842,9 +862,9 @@
"fallback": "Expeditious"
}
],
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.orb_of_ankou.note.expeditious",
"fallback": "Increasingly farther random teleport"
@@ -862,9 +882,9 @@
"fallback": "Rushing"
}
],
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.orb_of_ankou.note.rushing",
"fallback": "Increasingly faster and longer Speed burst"
@@ -882,9 +902,9 @@
"fallback": "Shrieking"
}
],
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.orb_of_ankou.note.shrieking",
"fallback": "Sonic boom 15 blocks far, dealing 6 hearts of damage"
@@ -908,9 +928,9 @@
"fallback": "Blinding"
}
],
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.orb_of_ankou.note.blinding",
"fallback": "Blindness AOE for 7 seconds"
@@ -928,9 +948,9 @@
"fallback": "Feathery"
}
],
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.orb_of_ankou.note.feathery",
"fallback": "Grants Slow Falling for 7 seconds"
@@ -948,9 +968,9 @@
"fallback": "Gazing"
}
],
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.orb_of_ankou.note.gazing",
"fallback": "Grants Night Vision for 30 seconds"
@@ -968,9 +988,9 @@
"fallback": "Soaring"
}
],
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.orb_of_ankou.note.soaring",
"fallback": "Sneaking toggles the ability: Look up to ascend and down to descend"
@@ -988,9 +1008,9 @@
"fallback": "Vanishing"
}
],
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.orb_of_ankou.note.vanishing",
"fallback": "Grants Invisibility for 90 seconds"
@@ -1014,9 +1034,9 @@
"fallback": "Phasing"
}
],
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.orb_of_ankou.note.phasing",
"fallback": "Allows walking through 1-wide walls"
@@ -1034,9 +1054,9 @@
"fallback": "Scaling"
}
],
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.orb_of_ankou.note.scaling",
"fallback": "Allows climbing up walls"
@@ -1054,9 +1074,9 @@
"fallback": "Sniffing"
}
],
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.orb_of_ankou.note.sniffing",
"fallback": "Sniffs up torchflowers and pitcher pods"
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/orb_of_ankou.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/orb_of_ankou.json
index 7b0e1e20e9..8c8d846ac6 100644
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/orb_of_ankou.json
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/orb_of_ankou.json
@@ -12,18 +12,29 @@
"components": {
"minecraft:enchantment_glint_override": true,
"minecraft:custom_model_data": "item/orb_of_ankou",
- "minecraft:hide_additional_tooltip": {},
"minecraft:firework_explosion": {
"shape": "small_ball",
"colors": [
13092807
]
- }
+ },
+ "minecraft:tooltip_display": {
+ "hidden_components": [
+ "minecraft:firework_explosion"
+ ]
+ },
+ "minecraft:damage_resistant": {
+ "types": "#minecraft:is_fire"
+ },
+ "minecraft:equippable": {
+ "slot": "offhand"
+ },
+ "minecraft:max_stack_size": 1
}
},
{
"function": "minecraft:set_custom_data",
- "tag": "{gm4_orb_of_ankou:{item:'orb'}}"
+ "tag": "{gm4_orb_of_ankou:{item:'orb'},smithed:{ignore:{functionality:1b,crafting:1b}}}"
},
{
"function": "minecraft:set_name",
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/aggressive.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/aggressive.json
deleted file mode 100644
index d8f715b435..0000000000
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/aggressive.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:black_dye",
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "text.gm4.pneuma_aggressive",
- "fallback": "Aggressive",
- "italic": false,
- "color": "blue"
- }
- ]
- },
- {
- "function": "minecraft:set_name",
- "name": {
- "translate": "item.gm4.soul_essence",
- "fallback": "Soul Essence",
- "italic": false,
- "color": "white"
- }
- },
- {
- "function": "minecraft:set_components",
- "components": {
- "minecraft:enchantment_glint_override": true,
- "minecraft:custom_model_data": "pneuma/aggressive"
- }
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_orb_of_ankou:{item:'soul_essence',stored_pneuma:{id:'aggressive'},stored_color:[10682368]}}"
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/agile.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/agile.json
deleted file mode 100644
index 37dea46204..0000000000
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/agile.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:black_dye",
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "text.gm4.pneuma_agile",
- "fallback": "Agile",
- "italic": false,
- "color": "blue"
- }
- ]
- },
- {
- "function": "minecraft:set_name",
- "name": {
- "translate": "item.gm4.soul_essence",
- "fallback": "Soul Essence",
- "italic": false,
- "color": "white"
- }
- },
- {
- "function": "minecraft:set_components",
- "components": {
- "minecraft:enchantment_glint_override": true,
- "minecraft:custom_model_data": "pneuma/agile"
- }
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_orb_of_ankou:{item:'soul_essence',stored_pneuma:{id:'agile'},stored_color:[16769574]}}"
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/anchoring.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/anchoring.json
deleted file mode 100644
index 9f8c639514..0000000000
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/anchoring.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:black_dye",
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "text.gm4.pneuma_anchoring",
- "fallback": "Anchoring",
- "italic": false,
- "color": "blue"
- }
- ]
- },
- {
- "function": "minecraft:set_name",
- "name": {
- "translate": "item.gm4.soul_essence",
- "fallback": "Soul Essence",
- "italic": false,
- "color": "white"
- }
- },
- {
- "function": "minecraft:set_components",
- "components": {
- "minecraft:enchantment_glint_override": true,
- "minecraft:custom_model_data": "pneuma/anchoring"
- }
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_orb_of_ankou:{item:'soul_essence',stored_pneuma:{id:'anchoring'},stored_attributes:[{AttributeName:'minecraft:knockback_resistance',Name:'minecraft:knockback_resistance',Amount:0.9d,Operation:0,UUID:[0,959327,0,859402],Slot:'offhand'}],stored_color:[1648550]}}"
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/bargaining.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/bargaining.json
deleted file mode 100644
index ab13cdbd10..0000000000
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/bargaining.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:black_dye",
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "text.gm4.pneuma_bargaining",
- "fallback": "Bargaining",
- "italic": false,
- "color": "blue"
- }
- ]
- },
- {
- "function": "minecraft:set_name",
- "name": {
- "translate": "item.gm4.soul_essence",
- "fallback": "Soul Essence",
- "italic": false,
- "color": "white"
- }
- },
- {
- "function": "minecraft:set_components",
- "components": {
- "minecraft:enchantment_glint_override": true,
- "minecraft:custom_model_data": "pneuma/bargaining"
- }
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_orb_of_ankou:{item:'soul_essence',stored_pneuma:{id:'bargaining'},stored_color:[1090333]}}"
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/bashing.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/bashing.json
deleted file mode 100644
index c7715f4a8a..0000000000
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/bashing.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:black_dye",
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "text.gm4.pneuma_bashing",
- "fallback": "Bashing",
- "italic": false,
- "color": "blue"
- }
- ]
- },
- {
- "function": "minecraft:set_name",
- "name": {
- "translate": "item.gm4.soul_essence",
- "fallback": "Soul Essence",
- "italic": false,
- "color": "white"
- }
- },
- {
- "function": "minecraft:set_components",
- "components": {
- "minecraft:enchantment_glint_override": true,
- "minecraft:custom_model_data": "pneuma/bashing"
- }
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_orb_of_ankou:{item:'soul_essence',stored_pneuma:{id:'bashing'},stored_attributes:[{AttributeName:'minecraft:attack_speed',Name:'minecraft:attack_speed',Amount:-0.4d,Operation:1,UUID:[0,399214,0,360169],Slot:'offhand'},{AttributeName:'minecraft:attack_damage',Name:'minecraft:attack_damage',Amount:0.7d,Operation:1,UUID:[0,787852,0,423204],Slot:'offhand'}],stored_color:[13181000]}}"
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/blasting.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/blasting.json
deleted file mode 100644
index f9998e901b..0000000000
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/blasting.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:black_dye",
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "text.gm4.pneuma_blasting",
- "fallback": "Blasting",
- "italic": false,
- "color": "blue"
- }
- ]
- },
- {
- "function": "minecraft:set_name",
- "name": {
- "translate": "item.gm4.soul_essence",
- "fallback": "Soul Essence",
- "italic": false,
- "color": "white"
- }
- },
- {
- "function": "minecraft:set_components",
- "components": {
- "minecraft:enchantment_glint_override": true,
- "minecraft:custom_model_data": "pneuma/blasting"
- }
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_orb_of_ankou:{item:'soul_essence',stored_pneuma:{id:'blasting'},stored_color:[16761136]}}"
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/blinding.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/blinding.json
deleted file mode 100644
index 76d05a6f0a..0000000000
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/blinding.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:black_dye",
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "text.gm4.pneuma_blinding",
- "fallback": "Blinding",
- "italic": false,
- "color": "blue"
- }
- ]
- },
- {
- "function": "minecraft:set_name",
- "name": {
- "translate": "item.gm4.soul_essence",
- "fallback": "Soul Essence",
- "italic": false,
- "color": "white"
- }
- },
- {
- "function": "minecraft:set_components",
- "components": {
- "minecraft:enchantment_glint_override": true,
- "minecraft:custom_model_data": "pneuma/blinding"
- }
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_orb_of_ankou:{item:'soul_essence',stored_pneuma:{id:'blinding'},stored_color:[3809425]}}"
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/bounding.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/bounding.json
deleted file mode 100644
index 157b0cf82a..0000000000
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/bounding.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:black_dye",
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "text.gm4.pneuma_bounding",
- "fallback": "Bounding",
- "italic": false,
- "color": "blue"
- }
- ]
- },
- {
- "function": "minecraft:set_name",
- "name": {
- "translate": "item.gm4.soul_essence",
- "fallback": "Soul Essence",
- "italic": false,
- "color": "white"
- }
- },
- {
- "function": "minecraft:set_components",
- "components": {
- "minecraft:enchantment_glint_override": true,
- "minecraft:custom_model_data": "pneuma/bounding"
- }
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_orb_of_ankou:{item:'soul_essence',stored_pneuma:{id:'bounding'},stored_color:[7921776]}}"
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/bubbly.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/bubbly.json
deleted file mode 100644
index b4d065c36d..0000000000
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/bubbly.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:black_dye",
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "text.gm4.pneuma_bubbly",
- "fallback": "Bubbly",
- "italic": false,
- "color": "blue"
- }
- ]
- },
- {
- "function": "minecraft:set_name",
- "name": {
- "translate": "item.gm4.soul_essence",
- "fallback": "Soul Essence",
- "italic": false,
- "color": "white"
- }
- },
- {
- "function": "minecraft:set_components",
- "components": {
- "minecraft:enchantment_glint_override": true,
- "minecraft:custom_model_data": "pneuma/bubbly"
- }
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_orb_of_ankou:{item:'soul_essence',stored_pneuma:{id:'bubbly'},stored_color:[5294074]}}"
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/conjuring.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/conjuring.json
deleted file mode 100644
index 4736ee6607..0000000000
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/conjuring.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:black_dye",
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "text.gm4.pneuma_conjuring",
- "fallback": "Conjuring",
- "italic": false,
- "color": "blue"
- }
- ]
- },
- {
- "function": "minecraft:set_name",
- "name": {
- "translate": "item.gm4.soul_essence",
- "fallback": "Soul Essence",
- "italic": false,
- "color": "white"
- }
- },
- {
- "function": "minecraft:set_components",
- "components": {
- "minecraft:enchantment_glint_override": true,
- "minecraft:custom_model_data": "pneuma/conjuring"
- }
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_orb_of_ankou:{item:'soul_essence',stored_pneuma:{id:'conjuring'},stored_color:[2953835]}}"
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/dashing.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/dashing.json
deleted file mode 100644
index 736d842846..0000000000
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/dashing.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:black_dye",
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "text.gm4.pneuma_dashing",
- "fallback": "Dashing",
- "italic": false,
- "color": "blue"
- }
- ]
- },
- {
- "function": "minecraft:set_name",
- "name": {
- "translate": "item.gm4.soul_essence",
- "fallback": "Soul Essence",
- "italic": false,
- "color": "white"
- }
- },
- {
- "function": "minecraft:set_components",
- "components": {
- "minecraft:enchantment_glint_override": true,
- "minecraft:custom_model_data": "pneuma/dashing"
- }
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_orb_of_ankou:{item:'soul_essence',stored_pneuma:{id:'dashing'},stored_color:[14735149]}}"
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/depriving.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/depriving.json
deleted file mode 100644
index 405f8afb1a..0000000000
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/depriving.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:black_dye",
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "text.gm4.pneuma_depriving",
- "fallback": "Depriving",
- "italic": false,
- "color": "blue"
- }
- ]
- },
- {
- "function": "minecraft:set_name",
- "name": {
- "translate": "item.gm4.soul_essence",
- "fallback": "Soul Essence",
- "italic": false,
- "color": "white"
- }
- },
- {
- "function": "minecraft:set_components",
- "components": {
- "minecraft:enchantment_glint_override": true,
- "minecraft:custom_model_data": "pneuma/depriving"
- }
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_orb_of_ankou:{item:'soul_essence',stored_pneuma:{id:'depriving'},stored_color:[13943899]}}"
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/draining.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/draining.json
deleted file mode 100644
index 1435ea6d2a..0000000000
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/draining.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:black_dye",
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "text.gm4.pneuma_draining",
- "fallback": "Draining",
- "italic": false,
- "color": "blue"
- }
- ]
- },
- {
- "function": "minecraft:set_name",
- "name": {
- "translate": "item.gm4.soul_essence",
- "fallback": "Soul Essence",
- "italic": false,
- "color": "white"
- }
- },
- {
- "function": "minecraft:set_components",
- "components": {
- "minecraft:enchantment_glint_override": true,
- "minecraft:custom_model_data": "pneuma/draining"
- }
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_orb_of_ankou:{item:'soul_essence',stored_pneuma:{id:'draining'},stored_color:[6377247]}}"
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/enduring.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/enduring.json
deleted file mode 100644
index c304f16314..0000000000
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/enduring.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:black_dye",
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "text.gm4.pneuma_enduring",
- "fallback": "Enduring",
- "italic": false,
- "color": "blue"
- }
- ]
- },
- {
- "function": "minecraft:set_name",
- "name": {
- "translate": "item.gm4.soul_essence",
- "fallback": "Soul Essence",
- "italic": false,
- "color": "white"
- }
- },
- {
- "function": "minecraft:set_components",
- "components": {
- "minecraft:enchantment_glint_override": true,
- "minecraft:custom_model_data": "pneuma/enduring"
- }
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_orb_of_ankou:{item:'soul_essence',stored_pneuma:{id:'enduring'},stored_attributes:[{AttributeName:'minecraft:max_health',Name:'minecraft:max_health',Amount:8,Operation:0,UUID:[0,585761,0,502439],Slot:'offhand'},{AttributeName:'minecraft:movement_speed',Name:'minecraft:movement_speed',Amount:-0.2d,Operation:1,UUID:[0,944632,0,806703],Slot:'offhand'}],stored_color:[5815552]}}"
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/expeditious.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/expeditious.json
deleted file mode 100644
index d71c8f0ef9..0000000000
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/expeditious.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:black_dye",
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "text.gm4.pneuma_expeditious",
- "fallback": "Expeditious",
- "italic": false,
- "color": "blue"
- }
- ]
- },
- {
- "function": "minecraft:set_name",
- "name": {
- "translate": "item.gm4.soul_essence",
- "fallback": "Soul Essence",
- "italic": false,
- "color": "white"
- }
- },
- {
- "function": "minecraft:set_components",
- "components": {
- "minecraft:enchantment_glint_override": true,
- "minecraft:custom_model_data": "pneuma/expeditious"
- }
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_orb_of_ankou:{item:'soul_essence',stored_pneuma:{id:'expeditious'},stored_color:[14037247]}}"
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/feathery.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/feathery.json
deleted file mode 100644
index c677928a17..0000000000
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/feathery.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:black_dye",
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "text.gm4.pneuma_feathery",
- "fallback": "Feathery",
- "italic": false,
- "color": "blue"
- }
- ]
- },
- {
- "function": "minecraft:set_name",
- "name": {
- "translate": "item.gm4.soul_essence",
- "fallback": "Soul Essence",
- "italic": false,
- "color": "white"
- }
- },
- {
- "function": "minecraft:set_components",
- "components": {
- "minecraft:enchantment_glint_override": true,
- "minecraft:custom_model_data": "pneuma/feathery"
- }
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_orb_of_ankou:{item:'soul_essence',stored_pneuma:{id:'feathery'},stored_color:[14806509]}}"
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/feigning.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/feigning.json
deleted file mode 100644
index 07f500f986..0000000000
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/feigning.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:black_dye",
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "text.gm4.pneuma_feigning",
- "fallback": "Feigning",
- "italic": false,
- "color": "blue"
- }
- ]
- },
- {
- "function": "minecraft:set_name",
- "name": {
- "translate": "item.gm4.soul_essence",
- "fallback": "Soul Essence",
- "italic": false,
- "color": "white"
- }
- },
- {
- "function": "minecraft:set_components",
- "components": {
- "minecraft:enchantment_glint_override": true,
- "minecraft:custom_model_data": "pneuma/feigning"
- }
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_orb_of_ankou:{item:'soul_essence',stored_pneuma:{id:'feigning'},stored_color:[16406506]}}"
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/freezing.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/freezing.json
deleted file mode 100644
index 09d5dfdd2d..0000000000
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/freezing.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:black_dye",
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "text.gm4.pneuma_freezing",
- "fallback": "Freezing",
- "italic": false,
- "color": "blue"
- }
- ]
- },
- {
- "function": "minecraft:set_name",
- "name": {
- "translate": "item.gm4.soul_essence",
- "fallback": "Soul Essence",
- "italic": false,
- "color": "white"
- }
- },
- {
- "function": "minecraft:set_components",
- "components": {
- "minecraft:enchantment_glint_override": true,
- "minecraft:custom_model_data": "pneuma/freezing"
- }
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_orb_of_ankou:{item:'soul_essence',stored_pneuma:{id:'freezing'},stored_color:[5559779]}}"
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/gazing.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/gazing.json
deleted file mode 100644
index 35a703dd53..0000000000
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/gazing.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:black_dye",
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "text.gm4.pneuma_gazing",
- "fallback": "Gazing",
- "italic": false,
- "color": "blue"
- }
- ]
- },
- {
- "function": "minecraft:set_name",
- "name": {
- "translate": "item.gm4.soul_essence",
- "fallback": "Soul Essence",
- "italic": false,
- "color": "white"
- }
- },
- {
- "function": "minecraft:set_components",
- "components": {
- "minecraft:enchantment_glint_override": true,
- "minecraft:custom_model_data": "pneuma/gazing"
- }
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_orb_of_ankou:{item:'soul_essence',stored_pneuma:{id:'gazing'},stored_color:[6814213]}}"
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/gliding.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/gliding.json
deleted file mode 100644
index 9330a1e512..0000000000
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/gliding.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:black_dye",
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "text.gm4.pneuma_gliding",
- "fallback": "Gliding",
- "italic": false,
- "color": "blue"
- }
- ]
- },
- {
- "function": "minecraft:set_name",
- "name": {
- "translate": "item.gm4.soul_essence",
- "fallback": "Soul Essence",
- "italic": false,
- "color": "white"
- }
- },
- {
- "function": "minecraft:set_components",
- "components": {
- "minecraft:enchantment_glint_override": true,
- "minecraft:custom_model_data": "pneuma/gliding"
- }
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_orb_of_ankou:{item:'soul_essence',stored_pneuma:{id:'gliding'},stored_color:[3108845]}}"
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/hawkeye.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/hawkeye.json
deleted file mode 100644
index 28abe2d042..0000000000
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/hawkeye.json
+++ /dev/null
@@ -1,55 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:black_dye",
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "text.gm4.pneuma_hawkeye",
- "fallback": "Hawkeye",
- "italic": false,
- "color": "blue"
- }
- ]
- },
- {
- "function": "minecraft:set_name",
- "name": {
- "translate": "item.gm4.soul_essence",
- "fallback": "Soul Essence",
- "italic": false,
- "color": "white"
- }
- },
- {
- "function": "minecraft:set_components",
- "components": {
- "minecraft:enchantment_glint_override": true,
- "minecraft:custom_model_data": "pneuma/hawkeye",
- "minecraft:custom_data": {
- "gm4_orb_of_ankou": {
- "item": "soul_essence",
- "stored_pneuma": {
- "id": "hawkeye"
- },
- "stored_color": [
- 15548437
- ]
- }
- }
- }
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/incombustible.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/incombustible.json
deleted file mode 100644
index fcb8f4d04c..0000000000
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/incombustible.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:black_dye",
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "text.gm4.pneuma_incombustible",
- "fallback": "Incombustible",
- "italic": false,
- "color": "blue"
- }
- ]
- },
- {
- "function": "minecraft:set_name",
- "name": {
- "translate": "item.gm4.soul_essence",
- "fallback": "Soul Essence",
- "italic": false,
- "color": "white"
- }
- },
- {
- "function": "minecraft:set_components",
- "components": {
- "minecraft:enchantment_glint_override": true,
- "minecraft:custom_model_data": "pneuma/incombustible"
- }
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_orb_of_ankou:{item:'soul_essence',stored_pneuma:{id:'incombustible'},stored_color:[15238935]}}"
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/lifeless.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/lifeless.json
deleted file mode 100644
index c5e056603e..0000000000
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/lifeless.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:black_dye",
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "text.gm4.pneuma_lifeless",
- "fallback": "Lifeless",
- "italic": false,
- "color": "blue"
- }
- ]
- },
- {
- "function": "minecraft:set_name",
- "name": {
- "translate": "item.gm4.soul_essence",
- "fallback": "Soul Essence",
- "italic": false,
- "color": "white"
- }
- },
- {
- "function": "minecraft:set_components",
- "components": {
- "minecraft:enchantment_glint_override": true,
- "minecraft:custom_model_data": "pneuma/lifeless"
- }
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_orb_of_ankou:{item:'soul_essence',stored_pneuma:{id:'lifeless'},stored_color:[12761127]}}"
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/neutralizing.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/neutralizing.json
deleted file mode 100644
index 7344fb326a..0000000000
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/neutralizing.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:black_dye",
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "text.gm4.pneuma_neutralizing",
- "fallback": "Neutralizing",
- "italic": false,
- "color": "blue"
- }
- ]
- },
- {
- "function": "minecraft:set_name",
- "name": {
- "translate": "item.gm4.soul_essence",
- "fallback": "Soul Essence",
- "italic": false,
- "color": "white"
- }
- },
- {
- "function": "minecraft:set_components",
- "components": {
- "minecraft:enchantment_glint_override": true,
- "minecraft:custom_model_data": "pneuma/neutralizing"
- }
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_orb_of_ankou:{item:'soul_essence',stored_pneuma:{id:'neutralizing'},stored_color:[6365875]}}"
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/phasing.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/phasing.json
deleted file mode 100644
index 09695fd2bb..0000000000
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/phasing.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:black_dye",
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "text.gm4.pneuma_phasing",
- "fallback": "Phasing",
- "italic": false,
- "color": "blue"
- }
- ]
- },
- {
- "function": "minecraft:set_name",
- "name": {
- "translate": "item.gm4.soul_essence",
- "fallback": "Soul Essence",
- "italic": false,
- "color": "white"
- }
- },
- {
- "function": "minecraft:set_components",
- "components": {
- "minecraft:enchantment_glint_override": true,
- "minecraft:custom_model_data": "pneuma/phasing"
- }
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_orb_of_ankou:{item:'soul_essence',stored_pneuma:{id:'phasing'},stored_color:[11202779]}}"
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/pricking.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/pricking.json
deleted file mode 100644
index 2611948f9f..0000000000
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/pricking.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:black_dye",
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "text.gm4.pneuma_pricking",
- "fallback": "Pricking",
- "italic": false,
- "color": "blue"
- }
- ]
- },
- {
- "function": "minecraft:set_name",
- "name": {
- "translate": "item.gm4.soul_essence",
- "fallback": "Soul Essence",
- "italic": false,
- "color": "white"
- }
- },
- {
- "function": "minecraft:set_components",
- "components": {
- "minecraft:enchantment_glint_override": true,
- "minecraft:custom_model_data": "pneuma/pricking"
- }
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_orb_of_ankou:{item:'soul_essence',stored_pneuma:{id:'pricking'},stored_enchantments:[{id:'minecraft:thorns',lvl:5}],stored_color:[8375363]}}"
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/retreating.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/retreating.json
deleted file mode 100644
index f225fd426d..0000000000
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/retreating.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:black_dye",
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "text.gm4.pneuma_retreating",
- "fallback": "Retreating",
- "italic": false,
- "color": "blue"
- }
- ]
- },
- {
- "function": "minecraft:set_name",
- "name": {
- "translate": "item.gm4.soul_essence",
- "fallback": "Soul Essence",
- "italic": false,
- "color": "white"
- }
- },
- {
- "function": "minecraft:set_components",
- "components": {
- "minecraft:enchantment_glint_override": true,
- "minecraft:custom_model_data": "pneuma/retreating"
- }
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_orb_of_ankou:{item:'soul_essence',stored_pneuma:{id:'retreating'},stored_color:[13381501]}}"
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/rushing.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/rushing.json
deleted file mode 100644
index 3a073b7dcf..0000000000
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/rushing.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:black_dye",
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "text.gm4.pneuma_rushing",
- "fallback": "Rushing",
- "italic": false,
- "color": "blue"
- }
- ]
- },
- {
- "function": "minecraft:set_name",
- "name": {
- "translate": "item.gm4.soul_essence",
- "fallback": "Soul Essence",
- "italic": false,
- "color": "white"
- }
- },
- {
- "function": "minecraft:set_components",
- "components": {
- "minecraft:enchantment_glint_override": true,
- "minecraft:custom_model_data": "pneuma/rushing"
- }
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_orb_of_ankou:{item:'soul_essence',stored_pneuma:{id:'rushing'},stored_color:[14245691]}}"
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/scaling.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/scaling.json
deleted file mode 100644
index 315746f951..0000000000
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/scaling.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:black_dye",
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "text.gm4.pneuma_scaling",
- "fallback": "Scaling",
- "italic": false,
- "color": "blue"
- }
- ]
- },
- {
- "function": "minecraft:set_name",
- "name": {
- "translate": "item.gm4.soul_essence",
- "fallback": "Soul Essence",
- "italic": false,
- "color": "white"
- }
- },
- {
- "function": "minecraft:set_components",
- "components": {
- "minecraft:enchantment_glint_override": true,
- "minecraft:custom_model_data": "pneuma/scaling"
- }
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_orb_of_ankou:{item:'soul_essence',stored_pneuma:{id:'scaling'},stored_color:[8587519]}}"
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/shrieking.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/shrieking.json
deleted file mode 100644
index 6f0e86eca2..0000000000
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/shrieking.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:black_dye",
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "text.gm4.pneuma_shrieking",
- "fallback": "Shrieking",
- "italic": false,
- "color": "blue"
- }
- ]
- },
- {
- "function": "minecraft:set_name",
- "name": {
- "translate": "item.gm4.soul_essence",
- "fallback": "Soul Essence",
- "italic": false,
- "color": "white"
- }
- },
- {
- "function": "minecraft:set_components",
- "components": {
- "minecraft:enchantment_glint_override": true,
- "minecraft:custom_model_data": "pneuma/shrieking"
- }
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_orb_of_ankou:{item:'soul_essence',stored_pneuma:{id:'shrieking'},stored_color:[831664]}}"
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/sniffing.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/sniffing.json
deleted file mode 100644
index e98f36662f..0000000000
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/sniffing.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:black_dye",
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "text.gm4.pneuma_sniffing",
- "fallback": "Sniffing",
- "italic": false,
- "color": "blue"
- }
- ]
- },
- {
- "function": "minecraft:set_name",
- "name": {
- "translate": "item.gm4.soul_essence",
- "fallback": "Soul Essence",
- "italic": false,
- "color": "white"
- }
- },
- {
- "function": "minecraft:set_components",
- "components": {
- "minecraft:enchantment_glint_override": true,
- "minecraft:custom_model_data": "pneuma/sniffing"
- }
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_orb_of_ankou:{item:'soul_essence',stored_pneuma:{id:'sniffing'},stored_color:[5482509]}}"
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/soaring.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/soaring.json
deleted file mode 100644
index d373ebfd01..0000000000
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/soaring.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:black_dye",
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "text.gm4.pneuma_soaring",
- "fallback": "Soaring",
- "italic": false,
- "color": "blue"
- }
- ]
- },
- {
- "function": "minecraft:set_name",
- "name": {
- "translate": "item.gm4.soul_essence",
- "fallback": "Soul Essence",
- "italic": false,
- "color": "white"
- }
- },
- {
- "function": "minecraft:set_components",
- "components": {
- "minecraft:enchantment_glint_override": true,
- "minecraft:custom_model_data": "pneuma/soaring"
- }
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_orb_of_ankou:{item:'soul_essence',stored_pneuma:{id:'soaring'},stored_attributes:[{AttributeName:'minecraft:max_health',Name:'minecraft:max_health',Amount:-0.2d,Operation:1,UUID:[0,972157,0,324820],Slot:'offhand'}],stored_color:[9295344]}}"
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/striding.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/striding.json
deleted file mode 100644
index ed96e83afd..0000000000
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/striding.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:black_dye",
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "text.gm4.pneuma_striding",
- "fallback": "Striding",
- "italic": false,
- "color": "blue"
- }
- ]
- },
- {
- "function": "minecraft:set_name",
- "name": {
- "translate": "item.gm4.soul_essence",
- "fallback": "Soul Essence",
- "italic": false,
- "color": "white"
- }
- },
- {
- "function": "minecraft:set_components",
- "components": {
- "minecraft:enchantment_glint_override": true,
- "minecraft:custom_model_data": "pneuma/striding"
- }
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_orb_of_ankou:{item:'soul_essence',stored_pneuma:{id:'striding'},stored_color:[15223575]}}"
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/synergetic.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/synergetic.json
deleted file mode 100644
index a0b0d81e4e..0000000000
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/synergetic.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:black_dye",
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "text.gm4.pneuma_synergetic",
- "fallback": "Synergetic",
- "italic": false,
- "color": "blue"
- }
- ]
- },
- {
- "function": "minecraft:set_name",
- "name": {
- "translate": "item.gm4.soul_essence",
- "fallback": "Soul Essence",
- "italic": false,
- "color": "white"
- }
- },
- {
- "function": "minecraft:set_components",
- "components": {
- "minecraft:enchantment_glint_override": true,
- "minecraft:custom_model_data": "pneuma/synergetic"
- }
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_orb_of_ankou:{item:'soul_essence',stored_pneuma:{id:'synergetic'},stored_color:[15790159]}}"
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/tranquilizing.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/tranquilizing.json
deleted file mode 100644
index e82db1a364..0000000000
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/tranquilizing.json
+++ /dev/null
@@ -1,55 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:black_dye",
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "text.gm4.pneuma_tranquilizing",
- "fallback": "Tranquilizing",
- "italic": false,
- "color": "blue"
- }
- ]
- },
- {
- "function": "minecraft:set_name",
- "name": {
- "translate": "item.gm4.soul_essence",
- "fallback": "Soul Essence",
- "italic": false,
- "color": "white"
- }
- },
- {
- "function": "minecraft:set_components",
- "components": {
- "minecraft:enchantment_glint_override": true,
- "minecraft:custom_model_data": "pneuma/tranquilizing",
- "minecraft:custom_data": {
- "gm4_orb_of_ankou": {
- "item": "soul_essence",
- "stored_pneuma": {
- "id": "tranquilizing"
- },
- "stored_color": [
- 5465649
- ]
- }
- }
- }
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/vanishing.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/vanishing.json
deleted file mode 100644
index 06fb11da63..0000000000
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/vanishing.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:black_dye",
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "text.gm4.pneuma_vanishing",
- "fallback": "Vanishing",
- "italic": false,
- "color": "blue"
- }
- ]
- },
- {
- "function": "minecraft:set_name",
- "name": {
- "translate": "item.gm4.soul_essence",
- "fallback": "Soul Essence",
- "italic": false,
- "color": "white"
- }
- },
- {
- "function": "minecraft:set_components",
- "components": {
- "minecraft:enchantment_glint_override": true,
- "minecraft:custom_model_data": "pneuma/vanishing"
- }
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_orb_of_ankou:{item:'soul_essence',stored_pneuma:{id:'vanishing'},stored_color:[8864176]}}"
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/venomous.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/venomous.json
deleted file mode 100644
index 745bb6b3fc..0000000000
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/venomous.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:black_dye",
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "text.gm4.pneuma_venomous",
- "fallback": "Venomous",
- "italic": false,
- "color": "blue"
- }
- ]
- },
- {
- "function": "minecraft:set_name",
- "name": {
- "translate": "item.gm4.soul_essence",
- "fallback": "Soul Essence",
- "italic": false,
- "color": "white"
- }
- },
- {
- "function": "minecraft:set_components",
- "components": {
- "minecraft:enchantment_glint_override": true,
- "minecraft:custom_model_data": "pneuma/venomous"
- }
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_orb_of_ankou:{item:'soul_essence',stored_pneuma:{id:'venomous'},stored_color:[5424161]}}"
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/volatile.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/volatile.json
deleted file mode 100644
index 81322cbab0..0000000000
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/volatile.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:black_dye",
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "text.gm4.pneuma_volatile",
- "fallback": "Volatile",
- "italic": false,
- "color": "blue"
- }
- ]
- },
- {
- "function": "minecraft:set_name",
- "name": {
- "translate": "item.gm4.soul_essence",
- "fallback": "Soul Essence",
- "italic": false,
- "color": "white"
- }
- },
- {
- "function": "minecraft:set_components",
- "components": {
- "minecraft:enchantment_glint_override": true,
- "minecraft:custom_model_data": "pneuma/volatile"
- }
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_orb_of_ankou:{item:'soul_essence',stored_pneuma:{id:'volatile'},stored_color:[2474538]}}"
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/withering.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/withering.json
deleted file mode 100644
index 1b15a09603..0000000000
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_essence/withering.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:black_dye",
- "functions": [
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "text.gm4.pneuma_withering",
- "fallback": "Withering",
- "italic": false,
- "color": "blue"
- }
- ]
- },
- {
- "function": "minecraft:set_name",
- "name": {
- "translate": "item.gm4.soul_essence",
- "fallback": "Soul Essence",
- "italic": false,
- "color": "white"
- }
- },
- {
- "function": "minecraft:set_components",
- "components": {
- "minecraft:enchantment_glint_override": true,
- "minecraft:custom_model_data": "pneuma/withering"
- }
- },
- {
- "function": "minecraft:set_custom_data",
- "tag": "{gm4_orb_of_ankou:{item:\"soul_essence\",stored_pneuma:{id:\"withering\"},stored_color:[4067968]}}"
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/aggressive.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/aggressive.json
new file mode 100644
index 0000000000..e7860212a5
--- /dev/null
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/aggressive.json
@@ -0,0 +1,63 @@
+{
+ "type": "minecraft:generic",
+ "pools": [
+ {
+ "rolls": 1,
+ "entries": [
+ {
+ "type": "minecraft:item",
+ "name": "minecraft:flint",
+ "functions": [
+ {
+ "function": "minecraft:set_lore",
+ "mode": "append",
+ "lore": [
+ {
+ "translate": "text.gm4.pneuma_aggressive",
+ "fallback": "Aggressive",
+ "italic": false,
+ "color": "blue"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_components",
+ "components": {
+ "minecraft:enchantment_glint_override": true,
+ "minecraft:custom_model_data": "pneuma/aggressive",
+ "minecraft:item_name": {
+ "translate": "item.gm4.soul_shard",
+ "fallback": "Soul Shard"
+ },
+ "minecraft:rarity": "common",
+ "minecraft:damage_resistant": {
+ "types": "#minecraft:is_fire"
+ },
+ "minecraft:equippable": {
+ "slot": "offhand"
+ },
+ "minecraft:max_stack_size": 1
+ }
+ },
+ {
+ "function": "minecraft:set_attributes",
+ "modifiers": [
+ {
+ "attribute": "minecraft:attack_damage",
+ "id": "gm4_orb_of_ankou:attack_damage",
+ "amount": -0.2,
+ "operation": "add_multiplied_base",
+ "slot": "offhand"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_custom_data",
+ "tag": "{gm4_orb_of_ankou:{item:'soul_shard',pneumas:[{id:'aggressive'}],stored_color:[10682368],smithed:{ignore:{functionality:1b,crafting:1b}}}}"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/agile.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/agile.json
new file mode 100644
index 0000000000..6c24b598a7
--- /dev/null
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/agile.json
@@ -0,0 +1,70 @@
+{
+ "type": "minecraft:generic",
+ "pools": [
+ {
+ "rolls": 1,
+ "entries": [
+ {
+ "type": "minecraft:item",
+ "name": "minecraft:flint",
+ "functions": [
+ {
+ "function": "minecraft:set_lore",
+ "mode": "append",
+ "lore": [
+ {
+ "translate": "text.gm4.pneuma_agile",
+ "fallback": "Agile",
+ "italic": false,
+ "color": "blue"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_components",
+ "components": {
+ "minecraft:enchantment_glint_override": true,
+ "minecraft:custom_model_data": "pneuma/agile",
+ "minecraft:item_name": {
+ "translate": "item.gm4.soul_shard",
+ "fallback": "Soul Shard"
+ },
+ "minecraft:rarity": "common",
+ "minecraft:damage_resistant": {
+ "types": "#minecraft:is_fire"
+ },
+ "minecraft:equippable": {
+ "slot": "offhand"
+ },
+ "minecraft:max_stack_size": 1
+ }
+ },
+ {
+ "function": "minecraft:set_attributes",
+ "modifiers": [
+ {
+ "attribute": "minecraft:attack_damage",
+ "id": "gm4_orb_of_ankou:attack_damage",
+ "amount": -0.2,
+ "operation": "add_multiplied_base",
+ "slot": "offhand"
+ },
+ {
+ "attribute": "minecraft:fall_damage_multiplier",
+ "id": "gm4_orb_of_ankou:agile_fall_damage_multiplier",
+ "amount": -1024,
+ "operation": "add_value",
+ "slot": "offhand"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_custom_data",
+ "tag": "{gm4_orb_of_ankou:{item:'soul_shard',pneumas:[{id:'agile'}],stored_color:[16769574],smithed:{ignore:{functionality:1b,crafting:1b}}}}"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/anchoring.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/anchoring.json
new file mode 100644
index 0000000000..1a0fe9dd41
--- /dev/null
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/anchoring.json
@@ -0,0 +1,70 @@
+{
+ "type": "minecraft:generic",
+ "pools": [
+ {
+ "rolls": 1,
+ "entries": [
+ {
+ "type": "minecraft:item",
+ "name": "minecraft:flint",
+ "functions": [
+ {
+ "function": "minecraft:set_lore",
+ "mode": "append",
+ "lore": [
+ {
+ "translate": "text.gm4.pneuma_anchoring",
+ "fallback": "Anchoring",
+ "italic": false,
+ "color": "blue"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_components",
+ "components": {
+ "minecraft:enchantment_glint_override": true,
+ "minecraft:custom_model_data": "pneuma/anchoring",
+ "minecraft:item_name": {
+ "translate": "item.gm4.soul_shard",
+ "fallback": "Soul Shard"
+ },
+ "minecraft:rarity": "common",
+ "minecraft:damage_resistant": {
+ "types": "#minecraft:is_fire"
+ },
+ "minecraft:equippable": {
+ "slot": "offhand"
+ },
+ "minecraft:max_stack_size": 1
+ }
+ },
+ {
+ "function": "minecraft:set_attributes",
+ "modifiers": [
+ {
+ "attribute": "minecraft:attack_damage",
+ "id": "gm4_orb_of_ankou:attack_damage",
+ "amount": -0.2,
+ "operation": "add_multiplied_base",
+ "slot": "offhand"
+ },
+ {
+ "attribute": "minecraft:knockback_resistance",
+ "id": "gm4_orb_of_ankou:anchoring_knockback_resistance",
+ "amount": 0.9,
+ "operation": "add_value",
+ "slot": "offhand"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_custom_data",
+ "tag": "{gm4_orb_of_ankou:{item:'soul_shard',pneumas:[{id:'anchoring'}],stored_color:[1648550],smithed:{ignore:{functionality:1b,crafting:1b}}}}"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/bargaining.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/bargaining.json
new file mode 100644
index 0000000000..04ce1304ca
--- /dev/null
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/bargaining.json
@@ -0,0 +1,63 @@
+{
+ "type": "minecraft:generic",
+ "pools": [
+ {
+ "rolls": 1,
+ "entries": [
+ {
+ "type": "minecraft:item",
+ "name": "minecraft:flint",
+ "functions": [
+ {
+ "function": "minecraft:set_lore",
+ "mode": "append",
+ "lore": [
+ {
+ "translate": "text.gm4.pneuma_bargaining",
+ "fallback": "Bargaining",
+ "italic": false,
+ "color": "blue"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_components",
+ "components": {
+ "minecraft:enchantment_glint_override": true,
+ "minecraft:custom_model_data": "pneuma/bargaining",
+ "minecraft:item_name": {
+ "translate": "item.gm4.soul_shard",
+ "fallback": "Soul Shard"
+ },
+ "minecraft:rarity": "common",
+ "minecraft:damage_resistant": {
+ "types": "#minecraft:is_fire"
+ },
+ "minecraft:equippable": {
+ "slot": "offhand"
+ },
+ "minecraft:max_stack_size": 1
+ }
+ },
+ {
+ "function": "minecraft:set_attributes",
+ "modifiers": [
+ {
+ "attribute": "minecraft:attack_damage",
+ "id": "gm4_orb_of_ankou:attack_damage",
+ "amount": -0.2,
+ "operation": "add_multiplied_base",
+ "slot": "offhand"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_custom_data",
+ "tag": "{gm4_orb_of_ankou:{item:'soul_shard',pneumas:[{id:'bargaining'}],stored_color:[1090333],smithed:{ignore:{functionality:1b,crafting:1b}}}}"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/bashing.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/bashing.json
new file mode 100644
index 0000000000..66930ed804
--- /dev/null
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/bashing.json
@@ -0,0 +1,77 @@
+{
+ "type": "minecraft:generic",
+ "pools": [
+ {
+ "rolls": 1,
+ "entries": [
+ {
+ "type": "minecraft:item",
+ "name": "minecraft:flint",
+ "functions": [
+ {
+ "function": "minecraft:set_lore",
+ "mode": "append",
+ "lore": [
+ {
+ "translate": "text.gm4.pneuma_bashing",
+ "fallback": "Bashing",
+ "italic": false,
+ "color": "blue"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_components",
+ "components": {
+ "minecraft:enchantment_glint_override": true,
+ "minecraft:custom_model_data": "pneuma/bashing",
+ "minecraft:item_name": {
+ "translate": "item.gm4.soul_shard",
+ "fallback": "Soul Shard"
+ },
+ "minecraft:rarity": "common",
+ "minecraft:damage_resistant": {
+ "types": "#minecraft:is_fire"
+ },
+ "minecraft:equippable": {
+ "slot": "offhand"
+ },
+ "minecraft:max_stack_size": 1
+ }
+ },
+ {
+ "function": "minecraft:set_attributes",
+ "modifiers": [
+ {
+ "attribute": "minecraft:attack_damage",
+ "id": "gm4_orb_of_ankou:attack_damage",
+ "amount": -0.2,
+ "operation": "add_multiplied_base",
+ "slot": "offhand"
+ },
+ {
+ "attribute": "minecraft:attack_speed",
+ "id": "gm4_orb_of_ankou:bashing_attack_speed",
+ "amount": -0.4,
+ "operation": "add_multiplied_base",
+ "slot": "offhand"
+ },
+ {
+ "attribute": "minecraft:attack_damage",
+ "id": "gm4_orb_of_ankou:bashing_attack_damage",
+ "amount": 0.7,
+ "operation": "add_multiplied_base",
+ "slot": "offhand"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_custom_data",
+ "tag": "{gm4_orb_of_ankou:{item:'soul_shard',pneumas:[{id:'bashing'}],stored_color:[13181000],smithed:{ignore:{functionality:1b,crafting:1b}}}}"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/blasting.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/blasting.json
new file mode 100644
index 0000000000..8219613beb
--- /dev/null
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/blasting.json
@@ -0,0 +1,63 @@
+{
+ "type": "minecraft:generic",
+ "pools": [
+ {
+ "rolls": 1,
+ "entries": [
+ {
+ "type": "minecraft:item",
+ "name": "minecraft:flint",
+ "functions": [
+ {
+ "function": "minecraft:set_lore",
+ "mode": "append",
+ "lore": [
+ {
+ "translate": "text.gm4.pneuma_blasting",
+ "fallback": "Blasting",
+ "italic": false,
+ "color": "blue"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_components",
+ "components": {
+ "minecraft:enchantment_glint_override": true,
+ "minecraft:custom_model_data": "pneuma/blasting",
+ "minecraft:item_name": {
+ "translate": "item.gm4.soul_shard",
+ "fallback": "Soul Shard"
+ },
+ "minecraft:rarity": "common",
+ "minecraft:damage_resistant": {
+ "types": "#minecraft:is_fire"
+ },
+ "minecraft:equippable": {
+ "slot": "offhand"
+ },
+ "minecraft:max_stack_size": 1
+ }
+ },
+ {
+ "function": "minecraft:set_attributes",
+ "modifiers": [
+ {
+ "attribute": "minecraft:attack_damage",
+ "id": "gm4_orb_of_ankou:attack_damage",
+ "amount": -0.2,
+ "operation": "add_multiplied_base",
+ "slot": "offhand"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_custom_data",
+ "tag": "{gm4_orb_of_ankou:{item:'soul_shard',pneumas:[{id:'blasting'}],stored_color:[16761136],smithed:{ignore:{functionality:1b,crafting:1b}}}}"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/blinding.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/blinding.json
new file mode 100644
index 0000000000..93c285450e
--- /dev/null
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/blinding.json
@@ -0,0 +1,63 @@
+{
+ "type": "minecraft:generic",
+ "pools": [
+ {
+ "rolls": 1,
+ "entries": [
+ {
+ "type": "minecraft:item",
+ "name": "minecraft:flint",
+ "functions": [
+ {
+ "function": "minecraft:set_lore",
+ "mode": "append",
+ "lore": [
+ {
+ "translate": "text.gm4.pneuma_blinding",
+ "fallback": "Blinding",
+ "italic": false,
+ "color": "blue"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_components",
+ "components": {
+ "minecraft:enchantment_glint_override": true,
+ "minecraft:custom_model_data": "pneuma/blinding",
+ "minecraft:item_name": {
+ "translate": "item.gm4.soul_shard",
+ "fallback": "Soul Shard"
+ },
+ "minecraft:rarity": "common",
+ "minecraft:damage_resistant": {
+ "types": "#minecraft:is_fire"
+ },
+ "minecraft:equippable": {
+ "slot": "offhand"
+ },
+ "minecraft:max_stack_size": 1
+ }
+ },
+ {
+ "function": "minecraft:set_attributes",
+ "modifiers": [
+ {
+ "attribute": "minecraft:attack_damage",
+ "id": "gm4_orb_of_ankou:attack_damage",
+ "amount": -0.2,
+ "operation": "add_multiplied_base",
+ "slot": "offhand"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_custom_data",
+ "tag": "{gm4_orb_of_ankou:{item:'soul_shard',pneumas:[{id:'blinding'}],stored_color:[3809425],smithed:{ignore:{functionality:1b,crafting:1b}}}}"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/bounding.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/bounding.json
new file mode 100644
index 0000000000..32551b14ad
--- /dev/null
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/bounding.json
@@ -0,0 +1,63 @@
+{
+ "type": "minecraft:generic",
+ "pools": [
+ {
+ "rolls": 1,
+ "entries": [
+ {
+ "type": "minecraft:item",
+ "name": "minecraft:flint",
+ "functions": [
+ {
+ "function": "minecraft:set_lore",
+ "mode": "append",
+ "lore": [
+ {
+ "translate": "text.gm4.pneuma_bounding",
+ "fallback": "Bounding",
+ "italic": false,
+ "color": "blue"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_components",
+ "components": {
+ "minecraft:enchantment_glint_override": true,
+ "minecraft:custom_model_data": "pneuma/bounding",
+ "minecraft:item_name": {
+ "translate": "item.gm4.soul_shard",
+ "fallback": "Soul Shard"
+ },
+ "minecraft:rarity": "common",
+ "minecraft:damage_resistant": {
+ "types": "#minecraft:is_fire"
+ },
+ "minecraft:equippable": {
+ "slot": "offhand"
+ },
+ "minecraft:max_stack_size": 1
+ }
+ },
+ {
+ "function": "minecraft:set_attributes",
+ "modifiers": [
+ {
+ "attribute": "minecraft:attack_damage",
+ "id": "gm4_orb_of_ankou:attack_damage",
+ "amount": -0.2,
+ "operation": "add_multiplied_base",
+ "slot": "offhand"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_custom_data",
+ "tag": "{gm4_orb_of_ankou:{item:'soul_shard',pneumas:[{id:'bounding'}],stored_color:[7921776],smithed:{ignore:{functionality:1b,crafting:1b}}}}"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/bubbly.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/bubbly.json
new file mode 100644
index 0000000000..e6dc3592fa
--- /dev/null
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/bubbly.json
@@ -0,0 +1,63 @@
+{
+ "type": "minecraft:generic",
+ "pools": [
+ {
+ "rolls": 1,
+ "entries": [
+ {
+ "type": "minecraft:item",
+ "name": "minecraft:flint",
+ "functions": [
+ {
+ "function": "minecraft:set_lore",
+ "mode": "append",
+ "lore": [
+ {
+ "translate": "text.gm4.pneuma_bubbly",
+ "fallback": "Bubbly",
+ "italic": false,
+ "color": "blue"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_components",
+ "components": {
+ "minecraft:enchantment_glint_override": true,
+ "minecraft:custom_model_data": "pneuma/bubbly",
+ "minecraft:item_name": {
+ "translate": "item.gm4.soul_shard",
+ "fallback": "Soul Shard"
+ },
+ "minecraft:rarity": "common",
+ "minecraft:damage_resistant": {
+ "types": "#minecraft:is_fire"
+ },
+ "minecraft:equippable": {
+ "slot": "offhand"
+ },
+ "minecraft:max_stack_size": 1
+ }
+ },
+ {
+ "function": "minecraft:set_attributes",
+ "modifiers": [
+ {
+ "attribute": "minecraft:attack_damage",
+ "id": "gm4_orb_of_ankou:attack_damage",
+ "amount": -0.2,
+ "operation": "add_multiplied_base",
+ "slot": "offhand"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_custom_data",
+ "tag": "{gm4_orb_of_ankou:{item:'soul_shard',pneumas:[{id:'bubbly'}],stored_color:[5294074],smithed:{ignore:{functionality:1b,crafting:1b}}}}"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/conjuring.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/conjuring.json
new file mode 100644
index 0000000000..9d388d7f81
--- /dev/null
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/conjuring.json
@@ -0,0 +1,63 @@
+{
+ "type": "minecraft:generic",
+ "pools": [
+ {
+ "rolls": 1,
+ "entries": [
+ {
+ "type": "minecraft:item",
+ "name": "minecraft:flint",
+ "functions": [
+ {
+ "function": "minecraft:set_lore",
+ "mode": "append",
+ "lore": [
+ {
+ "translate": "text.gm4.pneuma_conjuring",
+ "fallback": "Conjuring",
+ "italic": false,
+ "color": "blue"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_components",
+ "components": {
+ "minecraft:enchantment_glint_override": true,
+ "minecraft:custom_model_data": "pneuma/conjuring",
+ "minecraft:item_name": {
+ "translate": "item.gm4.soul_shard",
+ "fallback": "Soul Shard"
+ },
+ "minecraft:rarity": "common",
+ "minecraft:damage_resistant": {
+ "types": "#minecraft:is_fire"
+ },
+ "minecraft:equippable": {
+ "slot": "offhand"
+ },
+ "minecraft:max_stack_size": 1
+ }
+ },
+ {
+ "function": "minecraft:set_attributes",
+ "modifiers": [
+ {
+ "attribute": "minecraft:attack_damage",
+ "id": "gm4_orb_of_ankou:attack_damage",
+ "amount": -0.2,
+ "operation": "add_multiplied_base",
+ "slot": "offhand"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_custom_data",
+ "tag": "{gm4_orb_of_ankou:{item:'soul_shard',pneumas:[{id:'conjuring'}],stored_color:[2953835],smithed:{ignore:{functionality:1b,crafting:1b}}}}"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/dashing.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/dashing.json
new file mode 100644
index 0000000000..5b7b64f659
--- /dev/null
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/dashing.json
@@ -0,0 +1,63 @@
+{
+ "type": "minecraft:generic",
+ "pools": [
+ {
+ "rolls": 1,
+ "entries": [
+ {
+ "type": "minecraft:item",
+ "name": "minecraft:flint",
+ "functions": [
+ {
+ "function": "minecraft:set_lore",
+ "mode": "append",
+ "lore": [
+ {
+ "translate": "text.gm4.pneuma_dashing",
+ "fallback": "Dashing",
+ "italic": false,
+ "color": "blue"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_components",
+ "components": {
+ "minecraft:enchantment_glint_override": true,
+ "minecraft:custom_model_data": "pneuma/dashing",
+ "minecraft:item_name": {
+ "translate": "item.gm4.soul_shard",
+ "fallback": "Soul Shard"
+ },
+ "minecraft:rarity": "common",
+ "minecraft:damage_resistant": {
+ "types": "#minecraft:is_fire"
+ },
+ "minecraft:equippable": {
+ "slot": "offhand"
+ },
+ "minecraft:max_stack_size": 1
+ }
+ },
+ {
+ "function": "minecraft:set_attributes",
+ "modifiers": [
+ {
+ "attribute": "minecraft:attack_damage",
+ "id": "gm4_orb_of_ankou:attack_damage",
+ "amount": -0.2,
+ "operation": "add_multiplied_base",
+ "slot": "offhand"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_custom_data",
+ "tag": "{gm4_orb_of_ankou:{item:'soul_shard',pneumas:[{id:'dashing'}],stored_color:[14735149],smithed:{ignore:{functionality:1b,crafting:1b}}}}"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/depriving.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/depriving.json
new file mode 100644
index 0000000000..7de107380a
--- /dev/null
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/depriving.json
@@ -0,0 +1,63 @@
+{
+ "type": "minecraft:generic",
+ "pools": [
+ {
+ "rolls": 1,
+ "entries": [
+ {
+ "type": "minecraft:item",
+ "name": "minecraft:flint",
+ "functions": [
+ {
+ "function": "minecraft:set_lore",
+ "mode": "append",
+ "lore": [
+ {
+ "translate": "text.gm4.pneuma_depriving",
+ "fallback": "Depriving",
+ "italic": false,
+ "color": "blue"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_components",
+ "components": {
+ "minecraft:enchantment_glint_override": true,
+ "minecraft:custom_model_data": "pneuma/depriving",
+ "minecraft:item_name": {
+ "translate": "item.gm4.soul_shard",
+ "fallback": "Soul Shard"
+ },
+ "minecraft:rarity": "common",
+ "minecraft:damage_resistant": {
+ "types": "#minecraft:is_fire"
+ },
+ "minecraft:equippable": {
+ "slot": "offhand"
+ },
+ "minecraft:max_stack_size": 1
+ }
+ },
+ {
+ "function": "minecraft:set_attributes",
+ "modifiers": [
+ {
+ "attribute": "minecraft:attack_damage",
+ "id": "gm4_orb_of_ankou:attack_damage",
+ "amount": -0.2,
+ "operation": "add_multiplied_base",
+ "slot": "offhand"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_custom_data",
+ "tag": "{gm4_orb_of_ankou:{item:'soul_shard',pneumas:[{id:'depriving'}],stored_color:[13943899],smithed:{ignore:{functionality:1b,crafting:1b}}}}"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/draining.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/draining.json
new file mode 100644
index 0000000000..6b4df7deb8
--- /dev/null
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/draining.json
@@ -0,0 +1,63 @@
+{
+ "type": "minecraft:generic",
+ "pools": [
+ {
+ "rolls": 1,
+ "entries": [
+ {
+ "type": "minecraft:item",
+ "name": "minecraft:flint",
+ "functions": [
+ {
+ "function": "minecraft:set_lore",
+ "mode": "append",
+ "lore": [
+ {
+ "translate": "text.gm4.pneuma_draining",
+ "fallback": "Draining",
+ "italic": false,
+ "color": "blue"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_components",
+ "components": {
+ "minecraft:enchantment_glint_override": true,
+ "minecraft:custom_model_data": "pneuma/draining",
+ "minecraft:item_name": {
+ "translate": "item.gm4.soul_shard",
+ "fallback": "Soul Shard"
+ },
+ "minecraft:rarity": "common",
+ "minecraft:damage_resistant": {
+ "types": "#minecraft:is_fire"
+ },
+ "minecraft:equippable": {
+ "slot": "offhand"
+ },
+ "minecraft:max_stack_size": 1
+ }
+ },
+ {
+ "function": "minecraft:set_attributes",
+ "modifiers": [
+ {
+ "attribute": "minecraft:attack_damage",
+ "id": "gm4_orb_of_ankou:attack_damage",
+ "amount": -0.2,
+ "operation": "add_multiplied_base",
+ "slot": "offhand"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_custom_data",
+ "tag": "{gm4_orb_of_ankou:{item:'soul_shard',pneumas:[{id:'draining'}],stored_color:[6377247],smithed:{ignore:{functionality:1b,crafting:1b}}}}"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/enduring.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/enduring.json
new file mode 100644
index 0000000000..622bd43f61
--- /dev/null
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/enduring.json
@@ -0,0 +1,77 @@
+{
+ "type": "minecraft:generic",
+ "pools": [
+ {
+ "rolls": 1,
+ "entries": [
+ {
+ "type": "minecraft:item",
+ "name": "minecraft:flint",
+ "functions": [
+ {
+ "function": "minecraft:set_lore",
+ "mode": "append",
+ "lore": [
+ {
+ "translate": "text.gm4.pneuma_enduring",
+ "fallback": "Enduring",
+ "italic": false,
+ "color": "blue"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_components",
+ "components": {
+ "minecraft:enchantment_glint_override": true,
+ "minecraft:custom_model_data": "pneuma/enduring",
+ "minecraft:item_name": {
+ "translate": "item.gm4.soul_shard",
+ "fallback": "Soul Shard"
+ },
+ "minecraft:rarity": "common",
+ "minecraft:damage_resistant": {
+ "types": "#minecraft:is_fire"
+ },
+ "minecraft:equippable": {
+ "slot": "offhand"
+ },
+ "minecraft:max_stack_size": 1
+ }
+ },
+ {
+ "function": "minecraft:set_attributes",
+ "modifiers": [
+ {
+ "attribute": "minecraft:attack_damage",
+ "id": "gm4_orb_of_ankou:attack_damage",
+ "amount": -0.2,
+ "operation": "add_multiplied_base",
+ "slot": "offhand"
+ },
+ {
+ "attribute": "minecraft:max_health",
+ "id": "gm4_orb_of_ankou:enduring_max_health",
+ "amount": 8,
+ "operation": "add_value",
+ "slot": "offhand"
+ },
+ {
+ "attribute": "minecraft:movement_speed",
+ "id": "gm4_orb_of_ankou:enduring_movement_speed",
+ "amount": -0.2,
+ "operation": "add_multiplied_base",
+ "slot": "offhand"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_custom_data",
+ "tag": "{gm4_orb_of_ankou:{item:'soul_shard',pneumas:[{id:'enduring'}],stored_color:[5815552],smithed:{ignore:{functionality:1b,crafting:1b}}}}"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/expeditious.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/expeditious.json
new file mode 100644
index 0000000000..a64b7ffb3c
--- /dev/null
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/expeditious.json
@@ -0,0 +1,63 @@
+{
+ "type": "minecraft:generic",
+ "pools": [
+ {
+ "rolls": 1,
+ "entries": [
+ {
+ "type": "minecraft:item",
+ "name": "minecraft:flint",
+ "functions": [
+ {
+ "function": "minecraft:set_lore",
+ "mode": "append",
+ "lore": [
+ {
+ "translate": "text.gm4.pneuma_expeditious",
+ "fallback": "Expeditious",
+ "italic": false,
+ "color": "blue"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_components",
+ "components": {
+ "minecraft:enchantment_glint_override": true,
+ "minecraft:custom_model_data": "pneuma/expeditious",
+ "minecraft:item_name": {
+ "translate": "item.gm4.soul_shard",
+ "fallback": "Soul Shard"
+ },
+ "minecraft:rarity": "common",
+ "minecraft:damage_resistant": {
+ "types": "#minecraft:is_fire"
+ },
+ "minecraft:equippable": {
+ "slot": "offhand"
+ },
+ "minecraft:max_stack_size": 1
+ }
+ },
+ {
+ "function": "minecraft:set_attributes",
+ "modifiers": [
+ {
+ "attribute": "minecraft:attack_damage",
+ "id": "gm4_orb_of_ankou:attack_damage",
+ "amount": -0.2,
+ "operation": "add_multiplied_base",
+ "slot": "offhand"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_custom_data",
+ "tag": "{gm4_orb_of_ankou:{item:'soul_shard',pneumas:[{id:'expeditious'}],stored_color:[14037247],smithed:{ignore:{functionality:1b,crafting:1b}}}}"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/feathery.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/feathery.json
new file mode 100644
index 0000000000..d7d02d234f
--- /dev/null
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/feathery.json
@@ -0,0 +1,63 @@
+{
+ "type": "minecraft:generic",
+ "pools": [
+ {
+ "rolls": 1,
+ "entries": [
+ {
+ "type": "minecraft:item",
+ "name": "minecraft:flint",
+ "functions": [
+ {
+ "function": "minecraft:set_lore",
+ "mode": "append",
+ "lore": [
+ {
+ "translate": "text.gm4.pneuma_feathery",
+ "fallback": "Feathery",
+ "italic": false,
+ "color": "blue"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_components",
+ "components": {
+ "minecraft:enchantment_glint_override": true,
+ "minecraft:custom_model_data": "pneuma/feathery",
+ "minecraft:item_name": {
+ "translate": "item.gm4.soul_shard",
+ "fallback": "Soul Shard"
+ },
+ "minecraft:rarity": "common",
+ "minecraft:damage_resistant": {
+ "types": "#minecraft:is_fire"
+ },
+ "minecraft:equippable": {
+ "slot": "offhand"
+ },
+ "minecraft:max_stack_size": 1
+ }
+ },
+ {
+ "function": "minecraft:set_attributes",
+ "modifiers": [
+ {
+ "attribute": "minecraft:attack_damage",
+ "id": "gm4_orb_of_ankou:attack_damage",
+ "amount": -0.2,
+ "operation": "add_multiplied_base",
+ "slot": "offhand"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_custom_data",
+ "tag": "{gm4_orb_of_ankou:{item:'soul_shard',pneumas:[{id:'feathery'}],stored_color:[14806509],smithed:{ignore:{functionality:1b,crafting:1b}}}}"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/feigning.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/feigning.json
new file mode 100644
index 0000000000..0de9487579
--- /dev/null
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/feigning.json
@@ -0,0 +1,63 @@
+{
+ "type": "minecraft:generic",
+ "pools": [
+ {
+ "rolls": 1,
+ "entries": [
+ {
+ "type": "minecraft:item",
+ "name": "minecraft:flint",
+ "functions": [
+ {
+ "function": "minecraft:set_lore",
+ "mode": "append",
+ "lore": [
+ {
+ "translate": "text.gm4.pneuma_feigning",
+ "fallback": "Feigning",
+ "italic": false,
+ "color": "blue"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_components",
+ "components": {
+ "minecraft:enchantment_glint_override": true,
+ "minecraft:custom_model_data": "pneuma/feigning",
+ "minecraft:item_name": {
+ "translate": "item.gm4.soul_shard",
+ "fallback": "Soul Shard"
+ },
+ "minecraft:rarity": "common",
+ "minecraft:damage_resistant": {
+ "types": "#minecraft:is_fire"
+ },
+ "minecraft:equippable": {
+ "slot": "offhand"
+ },
+ "minecraft:max_stack_size": 1
+ }
+ },
+ {
+ "function": "minecraft:set_attributes",
+ "modifiers": [
+ {
+ "attribute": "minecraft:attack_damage",
+ "id": "gm4_orb_of_ankou:attack_damage",
+ "amount": -0.2,
+ "operation": "add_multiplied_base",
+ "slot": "offhand"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_custom_data",
+ "tag": "{gm4_orb_of_ankou:{item:'soul_shard',pneumas:[{id:'feigning'}],stored_color:[16406506],smithed:{ignore:{functionality:1b,crafting:1b}}}}"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/freezing.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/freezing.json
new file mode 100644
index 0000000000..7406325ad3
--- /dev/null
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/freezing.json
@@ -0,0 +1,63 @@
+{
+ "type": "minecraft:generic",
+ "pools": [
+ {
+ "rolls": 1,
+ "entries": [
+ {
+ "type": "minecraft:item",
+ "name": "minecraft:flint",
+ "functions": [
+ {
+ "function": "minecraft:set_lore",
+ "mode": "append",
+ "lore": [
+ {
+ "translate": "text.gm4.pneuma_freezing",
+ "fallback": "Freezing",
+ "italic": false,
+ "color": "blue"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_components",
+ "components": {
+ "minecraft:enchantment_glint_override": true,
+ "minecraft:custom_model_data": "pneuma/freezing",
+ "minecraft:item_name": {
+ "translate": "item.gm4.soul_shard",
+ "fallback": "Soul Shard"
+ },
+ "minecraft:rarity": "common",
+ "minecraft:damage_resistant": {
+ "types": "#minecraft:is_fire"
+ },
+ "minecraft:equippable": {
+ "slot": "offhand"
+ },
+ "minecraft:max_stack_size": 1
+ }
+ },
+ {
+ "function": "minecraft:set_attributes",
+ "modifiers": [
+ {
+ "attribute": "minecraft:attack_damage",
+ "id": "gm4_orb_of_ankou:attack_damage",
+ "amount": -0.2,
+ "operation": "add_multiplied_base",
+ "slot": "offhand"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_custom_data",
+ "tag": "{gm4_orb_of_ankou:{item:'soul_shard',pneumas:[{id:'freezing'}],stored_color:[5559779],smithed:{ignore:{functionality:1b,crafting:1b}}}}"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/gazing.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/gazing.json
new file mode 100644
index 0000000000..7d8aea9414
--- /dev/null
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/gazing.json
@@ -0,0 +1,63 @@
+{
+ "type": "minecraft:generic",
+ "pools": [
+ {
+ "rolls": 1,
+ "entries": [
+ {
+ "type": "minecraft:item",
+ "name": "minecraft:flint",
+ "functions": [
+ {
+ "function": "minecraft:set_lore",
+ "mode": "append",
+ "lore": [
+ {
+ "translate": "text.gm4.pneuma_gazing",
+ "fallback": "Gazing",
+ "italic": false,
+ "color": "blue"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_components",
+ "components": {
+ "minecraft:enchantment_glint_override": true,
+ "minecraft:custom_model_data": "pneuma/gazing",
+ "minecraft:item_name": {
+ "translate": "item.gm4.soul_shard",
+ "fallback": "Soul Shard"
+ },
+ "minecraft:rarity": "common",
+ "minecraft:damage_resistant": {
+ "types": "#minecraft:is_fire"
+ },
+ "minecraft:equippable": {
+ "slot": "offhand"
+ },
+ "minecraft:max_stack_size": 1
+ }
+ },
+ {
+ "function": "minecraft:set_attributes",
+ "modifiers": [
+ {
+ "attribute": "minecraft:attack_damage",
+ "id": "gm4_orb_of_ankou:attack_damage",
+ "amount": -0.2,
+ "operation": "add_multiplied_base",
+ "slot": "offhand"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_custom_data",
+ "tag": "{gm4_orb_of_ankou:{item:'soul_shard',pneumas:[{id:'gazing'}],stored_color:[6814213],smithed:{ignore:{functionality:1b,crafting:1b}}}}"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/gliding.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/gliding.json
new file mode 100644
index 0000000000..d8b9df16c2
--- /dev/null
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/gliding.json
@@ -0,0 +1,63 @@
+{
+ "type": "minecraft:generic",
+ "pools": [
+ {
+ "rolls": 1,
+ "entries": [
+ {
+ "type": "minecraft:item",
+ "name": "minecraft:flint",
+ "functions": [
+ {
+ "function": "minecraft:set_lore",
+ "mode": "append",
+ "lore": [
+ {
+ "translate": "text.gm4.pneuma_gliding",
+ "fallback": "Gliding",
+ "italic": false,
+ "color": "blue"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_components",
+ "components": {
+ "minecraft:enchantment_glint_override": true,
+ "minecraft:custom_model_data": "pneuma/gliding",
+ "minecraft:item_name": {
+ "translate": "item.gm4.soul_shard",
+ "fallback": "Soul Shard"
+ },
+ "minecraft:rarity": "common",
+ "minecraft:damage_resistant": {
+ "types": "#minecraft:is_fire"
+ },
+ "minecraft:equippable": {
+ "slot": "offhand"
+ },
+ "minecraft:max_stack_size": 1
+ }
+ },
+ {
+ "function": "minecraft:set_attributes",
+ "modifiers": [
+ {
+ "attribute": "minecraft:attack_damage",
+ "id": "gm4_orb_of_ankou:attack_damage",
+ "amount": -0.2,
+ "operation": "add_multiplied_base",
+ "slot": "offhand"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_custom_data",
+ "tag": "{gm4_orb_of_ankou:{item:'soul_shard',pneumas:[{id:'gliding'}],stored_color:[3108845],smithed:{ignore:{functionality:1b,crafting:1b}}}}"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/hawkeye.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/hawkeye.json
new file mode 100644
index 0000000000..fd38dd353b
--- /dev/null
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/hawkeye.json
@@ -0,0 +1,63 @@
+{
+ "type": "minecraft:generic",
+ "pools": [
+ {
+ "rolls": 1,
+ "entries": [
+ {
+ "type": "minecraft:item",
+ "name": "minecraft:flint",
+ "functions": [
+ {
+ "function": "minecraft:set_lore",
+ "mode": "append",
+ "lore": [
+ {
+ "translate": "text.gm4.pneuma_hawkeye",
+ "fallback": "Hawkeye",
+ "italic": false,
+ "color": "blue"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_components",
+ "components": {
+ "minecraft:enchantment_glint_override": true,
+ "minecraft:custom_model_data": "pneuma/hawkeye",
+ "minecraft:item_name": {
+ "translate": "item.gm4.soul_shard",
+ "fallback": "Soul Shard"
+ },
+ "minecraft:rarity": "common",
+ "minecraft:damage_resistant": {
+ "types": "#minecraft:is_fire"
+ },
+ "minecraft:equippable": {
+ "slot": "offhand"
+ },
+ "minecraft:max_stack_size": 1
+ }
+ },
+ {
+ "function": "minecraft:set_attributes",
+ "modifiers": [
+ {
+ "attribute": "minecraft:attack_damage",
+ "id": "gm4_orb_of_ankou:attack_damage",
+ "amount": -0.2,
+ "operation": "add_multiplied_base",
+ "slot": "offhand"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_custom_data",
+ "tag": "{gm4_orb_of_ankou:{item:'soul_shard',pneumas:[{id:'hawkeye'}],stored_color:[15548437],smithed:{ignore:{functionality:1b,crafting:1b}}}}"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/incombustible.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/incombustible.json
new file mode 100644
index 0000000000..87eb182028
--- /dev/null
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/incombustible.json
@@ -0,0 +1,63 @@
+{
+ "type": "minecraft:generic",
+ "pools": [
+ {
+ "rolls": 1,
+ "entries": [
+ {
+ "type": "minecraft:item",
+ "name": "minecraft:flint",
+ "functions": [
+ {
+ "function": "minecraft:set_lore",
+ "mode": "append",
+ "lore": [
+ {
+ "translate": "text.gm4.pneuma_incombustible",
+ "fallback": "Incombustible",
+ "italic": false,
+ "color": "blue"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_components",
+ "components": {
+ "minecraft:enchantment_glint_override": true,
+ "minecraft:custom_model_data": "pneuma/incombustible",
+ "minecraft:item_name": {
+ "translate": "item.gm4.soul_shard",
+ "fallback": "Soul Shard"
+ },
+ "minecraft:rarity": "common",
+ "minecraft:damage_resistant": {
+ "types": "#minecraft:is_fire"
+ },
+ "minecraft:equippable": {
+ "slot": "offhand"
+ },
+ "minecraft:max_stack_size": 1
+ }
+ },
+ {
+ "function": "minecraft:set_attributes",
+ "modifiers": [
+ {
+ "attribute": "minecraft:attack_damage",
+ "id": "gm4_orb_of_ankou:attack_damage",
+ "amount": -0.2,
+ "operation": "add_multiplied_base",
+ "slot": "offhand"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_custom_data",
+ "tag": "{gm4_orb_of_ankou:{item:'soul_shard',pneumas:[{id:'incombustible'}],stored_color:[15238935],smithed:{ignore:{functionality:1b,crafting:1b}}}}"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/lifeless.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/lifeless.json
new file mode 100644
index 0000000000..74e02fd279
--- /dev/null
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/lifeless.json
@@ -0,0 +1,63 @@
+{
+ "type": "minecraft:generic",
+ "pools": [
+ {
+ "rolls": 1,
+ "entries": [
+ {
+ "type": "minecraft:item",
+ "name": "minecraft:flint",
+ "functions": [
+ {
+ "function": "minecraft:set_lore",
+ "mode": "append",
+ "lore": [
+ {
+ "translate": "text.gm4.pneuma_lifeless",
+ "fallback": "Lifeless",
+ "italic": false,
+ "color": "blue"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_components",
+ "components": {
+ "minecraft:enchantment_glint_override": true,
+ "minecraft:custom_model_data": "pneuma/lifeless",
+ "minecraft:item_name": {
+ "translate": "item.gm4.soul_shard",
+ "fallback": "Soul Shard"
+ },
+ "minecraft:rarity": "common",
+ "minecraft:damage_resistant": {
+ "types": "#minecraft:is_fire"
+ },
+ "minecraft:equippable": {
+ "slot": "offhand"
+ },
+ "minecraft:max_stack_size": 1
+ }
+ },
+ {
+ "function": "minecraft:set_attributes",
+ "modifiers": [
+ {
+ "attribute": "minecraft:attack_damage",
+ "id": "gm4_orb_of_ankou:attack_damage",
+ "amount": -0.2,
+ "operation": "add_multiplied_base",
+ "slot": "offhand"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_custom_data",
+ "tag": "{gm4_orb_of_ankou:{item:'soul_shard',pneumas:[{id:'lifeless'}],stored_color:[12761127],smithed:{ignore:{functionality:1b,crafting:1b}}}}"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/neutralizing.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/neutralizing.json
new file mode 100644
index 0000000000..a0f88d545f
--- /dev/null
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/neutralizing.json
@@ -0,0 +1,63 @@
+{
+ "type": "minecraft:generic",
+ "pools": [
+ {
+ "rolls": 1,
+ "entries": [
+ {
+ "type": "minecraft:item",
+ "name": "minecraft:flint",
+ "functions": [
+ {
+ "function": "minecraft:set_lore",
+ "mode": "append",
+ "lore": [
+ {
+ "translate": "text.gm4.pneuma_neutralizing",
+ "fallback": "Neutralizing",
+ "italic": false,
+ "color": "blue"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_components",
+ "components": {
+ "minecraft:enchantment_glint_override": true,
+ "minecraft:custom_model_data": "pneuma/neutralizing",
+ "minecraft:item_name": {
+ "translate": "item.gm4.soul_shard",
+ "fallback": "Soul Shard"
+ },
+ "minecraft:rarity": "common",
+ "minecraft:damage_resistant": {
+ "types": "#minecraft:is_fire"
+ },
+ "minecraft:equippable": {
+ "slot": "offhand"
+ },
+ "minecraft:max_stack_size": 1
+ }
+ },
+ {
+ "function": "minecraft:set_attributes",
+ "modifiers": [
+ {
+ "attribute": "minecraft:attack_damage",
+ "id": "gm4_orb_of_ankou:attack_damage",
+ "amount": -0.2,
+ "operation": "add_multiplied_base",
+ "slot": "offhand"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_custom_data",
+ "tag": "{gm4_orb_of_ankou:{item:'soul_shard',pneumas:[{id:'neutralizing'}],stored_color:[6365875],smithed:{ignore:{functionality:1b,crafting:1b}}}}"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/phasing.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/phasing.json
new file mode 100644
index 0000000000..cea78ee131
--- /dev/null
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/phasing.json
@@ -0,0 +1,63 @@
+{
+ "type": "minecraft:generic",
+ "pools": [
+ {
+ "rolls": 1,
+ "entries": [
+ {
+ "type": "minecraft:item",
+ "name": "minecraft:flint",
+ "functions": [
+ {
+ "function": "minecraft:set_lore",
+ "mode": "append",
+ "lore": [
+ {
+ "translate": "text.gm4.pneuma_phasing",
+ "fallback": "Phasing",
+ "italic": false,
+ "color": "blue"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_components",
+ "components": {
+ "minecraft:enchantment_glint_override": true,
+ "minecraft:custom_model_data": "pneuma/phasing",
+ "minecraft:item_name": {
+ "translate": "item.gm4.soul_shard",
+ "fallback": "Soul Shard"
+ },
+ "minecraft:rarity": "common",
+ "minecraft:damage_resistant": {
+ "types": "#minecraft:is_fire"
+ },
+ "minecraft:equippable": {
+ "slot": "offhand"
+ },
+ "minecraft:max_stack_size": 1
+ }
+ },
+ {
+ "function": "minecraft:set_attributes",
+ "modifiers": [
+ {
+ "attribute": "minecraft:attack_damage",
+ "id": "gm4_orb_of_ankou:attack_damage",
+ "amount": -0.2,
+ "operation": "add_multiplied_base",
+ "slot": "offhand"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_custom_data",
+ "tag": "{gm4_orb_of_ankou:{item:'soul_shard',pneumas:[{id:'phasing'}],stored_color:[11202779],smithed:{ignore:{functionality:1b,crafting:1b}}}}"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/pricking.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/pricking.json
new file mode 100644
index 0000000000..cb5fff089a
--- /dev/null
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/pricking.json
@@ -0,0 +1,69 @@
+{
+ "type": "minecraft:generic",
+ "pools": [
+ {
+ "rolls": 1,
+ "entries": [
+ {
+ "type": "minecraft:item",
+ "name": "minecraft:flint",
+ "functions": [
+ {
+ "function": "minecraft:set_lore",
+ "mode": "append",
+ "lore": [
+ {
+ "translate": "text.gm4.pneuma_pricking",
+ "fallback": "Pricking",
+ "italic": false,
+ "color": "blue"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_components",
+ "components": {
+ "minecraft:enchantment_glint_override": true,
+ "minecraft:custom_model_data": "pneuma/pricking",
+ "minecraft:item_name": {
+ "translate": "item.gm4.soul_shard",
+ "fallback": "Soul Shard"
+ },
+ "minecraft:rarity": "common",
+ "minecraft:damage_resistant": {
+ "types": "#minecraft:is_fire"
+ },
+ "minecraft:equippable": {
+ "slot": "offhand"
+ },
+ "minecraft:max_stack_size": 1
+ }
+ },
+ {
+ "function": "minecraft:set_enchantments",
+ "enchantments": {
+ "minecraft:thorns": 5
+ }
+ },
+ {
+ "function": "minecraft:set_attributes",
+ "modifiers": [
+ {
+ "attribute": "minecraft:attack_damage",
+ "id": "gm4_orb_of_ankou:attack_damage",
+ "amount": -0.2,
+ "operation": "add_multiplied_base",
+ "slot": "offhand"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_custom_data",
+ "tag": "{gm4_orb_of_ankou:{item:'soul_shard',pneumas:[{id:'pricking'}],stored_color:[8375363],smithed:{ignore:{functionality:1b,crafting:1b}}}}"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/retreating.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/retreating.json
new file mode 100644
index 0000000000..80eb2c200d
--- /dev/null
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/retreating.json
@@ -0,0 +1,63 @@
+{
+ "type": "minecraft:generic",
+ "pools": [
+ {
+ "rolls": 1,
+ "entries": [
+ {
+ "type": "minecraft:item",
+ "name": "minecraft:flint",
+ "functions": [
+ {
+ "function": "minecraft:set_lore",
+ "mode": "append",
+ "lore": [
+ {
+ "translate": "text.gm4.pneuma_retreating",
+ "fallback": "Retreating",
+ "italic": false,
+ "color": "blue"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_components",
+ "components": {
+ "minecraft:enchantment_glint_override": true,
+ "minecraft:custom_model_data": "pneuma/retreating",
+ "minecraft:item_name": {
+ "translate": "item.gm4.soul_shard",
+ "fallback": "Soul Shard"
+ },
+ "minecraft:rarity": "common",
+ "minecraft:damage_resistant": {
+ "types": "#minecraft:is_fire"
+ },
+ "minecraft:equippable": {
+ "slot": "offhand"
+ },
+ "minecraft:max_stack_size": 1
+ }
+ },
+ {
+ "function": "minecraft:set_attributes",
+ "modifiers": [
+ {
+ "attribute": "minecraft:attack_damage",
+ "id": "gm4_orb_of_ankou:attack_damage",
+ "amount": -0.2,
+ "operation": "add_multiplied_base",
+ "slot": "offhand"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_custom_data",
+ "tag": "{gm4_orb_of_ankou:{item:'soul_shard',pneumas:[{id:'retreating'}],stored_color:[13381501],smithed:{ignore:{functionality:1b,crafting:1b}}}}"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/rushing.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/rushing.json
new file mode 100644
index 0000000000..96ba835266
--- /dev/null
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/rushing.json
@@ -0,0 +1,63 @@
+{
+ "type": "minecraft:generic",
+ "pools": [
+ {
+ "rolls": 1,
+ "entries": [
+ {
+ "type": "minecraft:item",
+ "name": "minecraft:flint",
+ "functions": [
+ {
+ "function": "minecraft:set_lore",
+ "mode": "append",
+ "lore": [
+ {
+ "translate": "text.gm4.pneuma_rushing",
+ "fallback": "Rushing",
+ "italic": false,
+ "color": "blue"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_components",
+ "components": {
+ "minecraft:enchantment_glint_override": true,
+ "minecraft:custom_model_data": "pneuma/rushing",
+ "minecraft:item_name": {
+ "translate": "item.gm4.soul_shard",
+ "fallback": "Soul Shard"
+ },
+ "minecraft:rarity": "common",
+ "minecraft:damage_resistant": {
+ "types": "#minecraft:is_fire"
+ },
+ "minecraft:equippable": {
+ "slot": "offhand"
+ },
+ "minecraft:max_stack_size": 1
+ }
+ },
+ {
+ "function": "minecraft:set_attributes",
+ "modifiers": [
+ {
+ "attribute": "minecraft:attack_damage",
+ "id": "gm4_orb_of_ankou:attack_damage",
+ "amount": -0.2,
+ "operation": "add_multiplied_base",
+ "slot": "offhand"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_custom_data",
+ "tag": "{gm4_orb_of_ankou:{item:'soul_shard',pneumas:[{id:'rushing'}],stored_color:[14245691],smithed:{ignore:{functionality:1b,crafting:1b}}}}"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/scaling.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/scaling.json
new file mode 100644
index 0000000000..3e978020d1
--- /dev/null
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/scaling.json
@@ -0,0 +1,63 @@
+{
+ "type": "minecraft:generic",
+ "pools": [
+ {
+ "rolls": 1,
+ "entries": [
+ {
+ "type": "minecraft:item",
+ "name": "minecraft:flint",
+ "functions": [
+ {
+ "function": "minecraft:set_lore",
+ "mode": "append",
+ "lore": [
+ {
+ "translate": "text.gm4.pneuma_scaling",
+ "fallback": "Scaling",
+ "italic": false,
+ "color": "blue"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_components",
+ "components": {
+ "minecraft:enchantment_glint_override": true,
+ "minecraft:custom_model_data": "pneuma/scaling",
+ "minecraft:item_name": {
+ "translate": "item.gm4.soul_shard",
+ "fallback": "Soul Shard"
+ },
+ "minecraft:rarity": "common",
+ "minecraft:damage_resistant": {
+ "types": "#minecraft:is_fire"
+ },
+ "minecraft:equippable": {
+ "slot": "offhand"
+ },
+ "minecraft:max_stack_size": 1
+ }
+ },
+ {
+ "function": "minecraft:set_attributes",
+ "modifiers": [
+ {
+ "attribute": "minecraft:attack_damage",
+ "id": "gm4_orb_of_ankou:attack_damage",
+ "amount": -0.2,
+ "operation": "add_multiplied_base",
+ "slot": "offhand"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_custom_data",
+ "tag": "{gm4_orb_of_ankou:{item:'soul_shard',pneumas:[{id:'scaling'}],stored_color:[8587519],smithed:{ignore:{functionality:1b,crafting:1b}}}}"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/shrieking.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/shrieking.json
new file mode 100644
index 0000000000..49b1d3c7db
--- /dev/null
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/shrieking.json
@@ -0,0 +1,63 @@
+{
+ "type": "minecraft:generic",
+ "pools": [
+ {
+ "rolls": 1,
+ "entries": [
+ {
+ "type": "minecraft:item",
+ "name": "minecraft:flint",
+ "functions": [
+ {
+ "function": "minecraft:set_lore",
+ "mode": "append",
+ "lore": [
+ {
+ "translate": "text.gm4.pneuma_shrieking",
+ "fallback": "Shrieking",
+ "italic": false,
+ "color": "blue"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_components",
+ "components": {
+ "minecraft:enchantment_glint_override": true,
+ "minecraft:custom_model_data": "pneuma/shrieking",
+ "minecraft:item_name": {
+ "translate": "item.gm4.soul_shard",
+ "fallback": "Soul Shard"
+ },
+ "minecraft:rarity": "common",
+ "minecraft:damage_resistant": {
+ "types": "#minecraft:is_fire"
+ },
+ "minecraft:equippable": {
+ "slot": "offhand"
+ },
+ "minecraft:max_stack_size": 1
+ }
+ },
+ {
+ "function": "minecraft:set_attributes",
+ "modifiers": [
+ {
+ "attribute": "minecraft:attack_damage",
+ "id": "gm4_orb_of_ankou:attack_damage",
+ "amount": -0.2,
+ "operation": "add_multiplied_base",
+ "slot": "offhand"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_custom_data",
+ "tag": "{gm4_orb_of_ankou:{item:'soul_shard',pneumas:[{id:'shrieking'}],stored_color:[831664],smithed:{ignore:{functionality:1b,crafting:1b}}}}"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/sniffing.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/sniffing.json
new file mode 100644
index 0000000000..bb194acdcb
--- /dev/null
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/sniffing.json
@@ -0,0 +1,63 @@
+{
+ "type": "minecraft:generic",
+ "pools": [
+ {
+ "rolls": 1,
+ "entries": [
+ {
+ "type": "minecraft:item",
+ "name": "minecraft:flint",
+ "functions": [
+ {
+ "function": "minecraft:set_lore",
+ "mode": "append",
+ "lore": [
+ {
+ "translate": "text.gm4.pneuma_sniffing",
+ "fallback": "Sniffing",
+ "italic": false,
+ "color": "blue"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_components",
+ "components": {
+ "minecraft:enchantment_glint_override": true,
+ "minecraft:custom_model_data": "pneuma/sniffing",
+ "minecraft:item_name": {
+ "translate": "item.gm4.soul_shard",
+ "fallback": "Soul Shard"
+ },
+ "minecraft:rarity": "common",
+ "minecraft:damage_resistant": {
+ "types": "#minecraft:is_fire"
+ },
+ "minecraft:equippable": {
+ "slot": "offhand"
+ },
+ "minecraft:max_stack_size": 1
+ }
+ },
+ {
+ "function": "minecraft:set_attributes",
+ "modifiers": [
+ {
+ "attribute": "minecraft:attack_damage",
+ "id": "gm4_orb_of_ankou:attack_damage",
+ "amount": -0.2,
+ "operation": "add_multiplied_base",
+ "slot": "offhand"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_custom_data",
+ "tag": "{gm4_orb_of_ankou:{item:'soul_shard',pneumas:[{id:'sniffing'}],stored_color:[5482509],smithed:{ignore:{functionality:1b,crafting:1b}}}}"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/soaring.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/soaring.json
new file mode 100644
index 0000000000..0283683bd8
--- /dev/null
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/soaring.json
@@ -0,0 +1,70 @@
+{
+ "type": "minecraft:generic",
+ "pools": [
+ {
+ "rolls": 1,
+ "entries": [
+ {
+ "type": "minecraft:item",
+ "name": "minecraft:flint",
+ "functions": [
+ {
+ "function": "minecraft:set_lore",
+ "mode": "append",
+ "lore": [
+ {
+ "translate": "text.gm4.pneuma_soaring",
+ "fallback": "Soaring",
+ "italic": false,
+ "color": "blue"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_components",
+ "components": {
+ "minecraft:enchantment_glint_override": true,
+ "minecraft:custom_model_data": "pneuma/soaring",
+ "minecraft:item_name": {
+ "translate": "item.gm4.soul_shard",
+ "fallback": "Soul Shard"
+ },
+ "minecraft:rarity": "common",
+ "minecraft:damage_resistant": {
+ "types": "#minecraft:is_fire"
+ },
+ "minecraft:equippable": {
+ "slot": "offhand"
+ },
+ "minecraft:max_stack_size": 1
+ }
+ },
+ {
+ "function": "minecraft:set_attributes",
+ "modifiers": [
+ {
+ "attribute": "minecraft:attack_damage",
+ "id": "gm4_orb_of_ankou:attack_damage",
+ "amount": -0.2,
+ "operation": "add_multiplied_base",
+ "slot": "offhand"
+ },
+ {
+ "attribute": "minecraft:max_health",
+ "id": "gm4_orb_of_ankou:soaring_max_health",
+ "amount": -0.2,
+ "operation": "add_multiplied_base",
+ "slot": "offhand"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_custom_data",
+ "tag": "{gm4_orb_of_ankou:{item:'soul_shard',pneumas:[{id:'soaring'}],stored_color:[9295344],smithed:{ignore:{functionality:1b,crafting:1b}}}}"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/striding.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/striding.json
new file mode 100644
index 0000000000..0334c624c6
--- /dev/null
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/striding.json
@@ -0,0 +1,63 @@
+{
+ "type": "minecraft:generic",
+ "pools": [
+ {
+ "rolls": 1,
+ "entries": [
+ {
+ "type": "minecraft:item",
+ "name": "minecraft:flint",
+ "functions": [
+ {
+ "function": "minecraft:set_lore",
+ "mode": "append",
+ "lore": [
+ {
+ "translate": "text.gm4.pneuma_striding",
+ "fallback": "Striding",
+ "italic": false,
+ "color": "blue"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_components",
+ "components": {
+ "minecraft:enchantment_glint_override": true,
+ "minecraft:custom_model_data": "pneuma/striding",
+ "minecraft:item_name": {
+ "translate": "item.gm4.soul_shard",
+ "fallback": "Soul Shard"
+ },
+ "minecraft:rarity": "common",
+ "minecraft:damage_resistant": {
+ "types": "#minecraft:is_fire"
+ },
+ "minecraft:equippable": {
+ "slot": "offhand"
+ },
+ "minecraft:max_stack_size": 1
+ }
+ },
+ {
+ "function": "minecraft:set_attributes",
+ "modifiers": [
+ {
+ "attribute": "minecraft:attack_damage",
+ "id": "gm4_orb_of_ankou:attack_damage",
+ "amount": -0.2,
+ "operation": "add_multiplied_base",
+ "slot": "offhand"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_custom_data",
+ "tag": "{gm4_orb_of_ankou:{item:'soul_shard',pneumas:[{id:'striding'}],stored_color:[15223575],smithed:{ignore:{functionality:1b,crafting:1b}}}}"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/synergetic.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/synergetic.json
new file mode 100644
index 0000000000..e4ed835286
--- /dev/null
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/synergetic.json
@@ -0,0 +1,63 @@
+{
+ "type": "minecraft:generic",
+ "pools": [
+ {
+ "rolls": 1,
+ "entries": [
+ {
+ "type": "minecraft:item",
+ "name": "minecraft:flint",
+ "functions": [
+ {
+ "function": "minecraft:set_lore",
+ "mode": "append",
+ "lore": [
+ {
+ "translate": "text.gm4.pneuma_synergetic",
+ "fallback": "Synergetic",
+ "italic": false,
+ "color": "blue"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_components",
+ "components": {
+ "minecraft:enchantment_glint_override": true,
+ "minecraft:custom_model_data": "pneuma/synergetic",
+ "minecraft:item_name": {
+ "translate": "item.gm4.soul_shard",
+ "fallback": "Soul Shard"
+ },
+ "minecraft:rarity": "common",
+ "minecraft:damage_resistant": {
+ "types": "#minecraft:is_fire"
+ },
+ "minecraft:equippable": {
+ "slot": "offhand"
+ },
+ "minecraft:max_stack_size": 1
+ }
+ },
+ {
+ "function": "minecraft:set_attributes",
+ "modifiers": [
+ {
+ "attribute": "minecraft:attack_damage",
+ "id": "gm4_orb_of_ankou:attack_damage",
+ "amount": -0.2,
+ "operation": "add_multiplied_base",
+ "slot": "offhand"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_custom_data",
+ "tag": "{gm4_orb_of_ankou:{item:'soul_shard',pneumas:[{id:'synergetic'}],stored_color:[15790159],smithed:{ignore:{functionality:1b,crafting:1b}}}}"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/tranquilizing.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/tranquilizing.json
new file mode 100644
index 0000000000..f18d74f2cc
--- /dev/null
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/tranquilizing.json
@@ -0,0 +1,63 @@
+{
+ "type": "minecraft:generic",
+ "pools": [
+ {
+ "rolls": 1,
+ "entries": [
+ {
+ "type": "minecraft:item",
+ "name": "minecraft:flint",
+ "functions": [
+ {
+ "function": "minecraft:set_lore",
+ "mode": "append",
+ "lore": [
+ {
+ "translate": "text.gm4.pneuma_tranquilizing",
+ "fallback": "Tranquilizing",
+ "italic": false,
+ "color": "blue"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_components",
+ "components": {
+ "minecraft:enchantment_glint_override": true,
+ "minecraft:custom_model_data": "pneuma/tranquilizing",
+ "minecraft:item_name": {
+ "translate": "item.gm4.soul_shard",
+ "fallback": "Soul Shard"
+ },
+ "minecraft:rarity": "common",
+ "minecraft:damage_resistant": {
+ "types": "#minecraft:is_fire"
+ },
+ "minecraft:equippable": {
+ "slot": "offhand"
+ },
+ "minecraft:max_stack_size": 1
+ }
+ },
+ {
+ "function": "minecraft:set_attributes",
+ "modifiers": [
+ {
+ "attribute": "minecraft:attack_damage",
+ "id": "gm4_orb_of_ankou:attack_damage",
+ "amount": -0.2,
+ "operation": "add_multiplied_base",
+ "slot": "offhand"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_custom_data",
+ "tag": "{gm4_orb_of_ankou:{item:'soul_shard',pneumas:[{id:'tranquilizing'}],stored_color:[5465649],smithed:{ignore:{functionality:1b,crafting:1b}}}}"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/vanishing.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/vanishing.json
new file mode 100644
index 0000000000..ddd627aedf
--- /dev/null
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/vanishing.json
@@ -0,0 +1,63 @@
+{
+ "type": "minecraft:generic",
+ "pools": [
+ {
+ "rolls": 1,
+ "entries": [
+ {
+ "type": "minecraft:item",
+ "name": "minecraft:flint",
+ "functions": [
+ {
+ "function": "minecraft:set_lore",
+ "mode": "append",
+ "lore": [
+ {
+ "translate": "text.gm4.pneuma_vanishing",
+ "fallback": "Vanishing",
+ "italic": false,
+ "color": "blue"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_components",
+ "components": {
+ "minecraft:enchantment_glint_override": true,
+ "minecraft:custom_model_data": "pneuma/vanishing",
+ "minecraft:item_name": {
+ "translate": "item.gm4.soul_shard",
+ "fallback": "Soul Shard"
+ },
+ "minecraft:rarity": "common",
+ "minecraft:damage_resistant": {
+ "types": "#minecraft:is_fire"
+ },
+ "minecraft:equippable": {
+ "slot": "offhand"
+ },
+ "minecraft:max_stack_size": 1
+ }
+ },
+ {
+ "function": "minecraft:set_attributes",
+ "modifiers": [
+ {
+ "attribute": "minecraft:attack_damage",
+ "id": "gm4_orb_of_ankou:attack_damage",
+ "amount": -0.2,
+ "operation": "add_multiplied_base",
+ "slot": "offhand"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_custom_data",
+ "tag": "{gm4_orb_of_ankou:{item:'soul_shard',pneumas:[{id:'vanishing'}],stored_color:[8864176],smithed:{ignore:{functionality:1b,crafting:1b}}}}"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/venomous.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/venomous.json
new file mode 100644
index 0000000000..7186b61f71
--- /dev/null
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/venomous.json
@@ -0,0 +1,63 @@
+{
+ "type": "minecraft:generic",
+ "pools": [
+ {
+ "rolls": 1,
+ "entries": [
+ {
+ "type": "minecraft:item",
+ "name": "minecraft:flint",
+ "functions": [
+ {
+ "function": "minecraft:set_lore",
+ "mode": "append",
+ "lore": [
+ {
+ "translate": "text.gm4.pneuma_venomous",
+ "fallback": "Venomous",
+ "italic": false,
+ "color": "blue"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_components",
+ "components": {
+ "minecraft:enchantment_glint_override": true,
+ "minecraft:custom_model_data": "pneuma/venomous",
+ "minecraft:item_name": {
+ "translate": "item.gm4.soul_shard",
+ "fallback": "Soul Shard"
+ },
+ "minecraft:rarity": "common",
+ "minecraft:damage_resistant": {
+ "types": "#minecraft:is_fire"
+ },
+ "minecraft:equippable": {
+ "slot": "offhand"
+ },
+ "minecraft:max_stack_size": 1
+ }
+ },
+ {
+ "function": "minecraft:set_attributes",
+ "modifiers": [
+ {
+ "attribute": "minecraft:attack_damage",
+ "id": "gm4_orb_of_ankou:attack_damage",
+ "amount": -0.2,
+ "operation": "add_multiplied_base",
+ "slot": "offhand"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_custom_data",
+ "tag": "{gm4_orb_of_ankou:{item:'soul_shard',pneumas:[{id:'venomous'}],stored_color:[5424161],smithed:{ignore:{functionality:1b,crafting:1b}}}}"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/volatile.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/volatile.json
new file mode 100644
index 0000000000..8a0677bf49
--- /dev/null
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/volatile.json
@@ -0,0 +1,63 @@
+{
+ "type": "minecraft:generic",
+ "pools": [
+ {
+ "rolls": 1,
+ "entries": [
+ {
+ "type": "minecraft:item",
+ "name": "minecraft:flint",
+ "functions": [
+ {
+ "function": "minecraft:set_lore",
+ "mode": "append",
+ "lore": [
+ {
+ "translate": "text.gm4.pneuma_volatile",
+ "fallback": "Volatile",
+ "italic": false,
+ "color": "blue"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_components",
+ "components": {
+ "minecraft:enchantment_glint_override": true,
+ "minecraft:custom_model_data": "pneuma/volatile",
+ "minecraft:item_name": {
+ "translate": "item.gm4.soul_shard",
+ "fallback": "Soul Shard"
+ },
+ "minecraft:rarity": "common",
+ "minecraft:damage_resistant": {
+ "types": "#minecraft:is_fire"
+ },
+ "minecraft:equippable": {
+ "slot": "offhand"
+ },
+ "minecraft:max_stack_size": 1
+ }
+ },
+ {
+ "function": "minecraft:set_attributes",
+ "modifiers": [
+ {
+ "attribute": "minecraft:attack_damage",
+ "id": "gm4_orb_of_ankou:attack_damage",
+ "amount": -0.2,
+ "operation": "add_multiplied_base",
+ "slot": "offhand"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_custom_data",
+ "tag": "{gm4_orb_of_ankou:{item:'soul_shard',pneumas:[{id:'volatile'}],stored_color:[2474538],smithed:{ignore:{functionality:1b,crafting:1b}}}}"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/withering.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/withering.json
new file mode 100644
index 0000000000..162042e31e
--- /dev/null
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/loot_table/items/soul_shard/withering.json
@@ -0,0 +1,63 @@
+{
+ "type": "minecraft:generic",
+ "pools": [
+ {
+ "rolls": 1,
+ "entries": [
+ {
+ "type": "minecraft:item",
+ "name": "minecraft:flint",
+ "functions": [
+ {
+ "function": "minecraft:set_lore",
+ "mode": "append",
+ "lore": [
+ {
+ "translate": "text.gm4.pneuma_withering",
+ "fallback": "Withering",
+ "italic": false,
+ "color": "blue"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_components",
+ "components": {
+ "minecraft:enchantment_glint_override": true,
+ "minecraft:custom_model_data": "pneuma/withering",
+ "minecraft:item_name": {
+ "translate": "item.gm4.soul_shard",
+ "fallback": "Soul Shard"
+ },
+ "minecraft:rarity": "common",
+ "minecraft:damage_resistant": {
+ "types": "#minecraft:is_fire"
+ },
+ "minecraft:equippable": {
+ "slot": "offhand"
+ },
+ "minecraft:max_stack_size": 1
+ }
+ },
+ {
+ "function": "minecraft:set_attributes",
+ "modifiers": [
+ {
+ "attribute": "minecraft:attack_damage",
+ "id": "gm4_orb_of_ankou:attack_damage",
+ "amount": -0.2,
+ "operation": "add_multiplied_base",
+ "slot": "offhand"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_custom_data",
+ "tag": "{gm4_orb_of_ankou:{item:\"soul_shard\",pneumas:[{id:'withering'}],stored_color:[4067968],smithed:{ignore:{functionality:1b,crafting:1b}}}}"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/recipe/orb_of_ankou.json b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/recipe/orb_of_ankou.json
index dc04ac43e3..9d4b8685f8 100644
--- a/gm4_orb_of_ankou/data/gm4_orb_of_ankou/recipe/orb_of_ankou.json
+++ b/gm4_orb_of_ankou/data/gm4_orb_of_ankou/recipe/orb_of_ankou.json
@@ -16,17 +16,21 @@
"components": {
"minecraft:enchantment_glint_override": true,
"minecraft:custom_model_data": "item/orb_of_ankou",
- "minecraft:hide_additional_tooltip": {},
"minecraft:firework_explosion": {
"shape": "small_ball",
"colors": [
13092807
]
},
+ "minecraft:tooltip_display": {
+ "hidden_components": [
+ "minecraft:firework_explosion"
+ ]
+ },
"minecraft:custom_data": "{gm4_orb_of_ankou:{item:'orb'}}",
- "minecraft:custom_name": "{\"translate\":\"item.gm4.orb_of_ankou\",\"fallback\":\"Orb of Ankou\",\"color\":\"aqua\",\"italic\":false}",
+ "minecraft:custom_name": {"translate":"item.gm4.orb_of_ankou","fallback":"Orb of Ankou","color":"aqua","italic":false},
"minecraft:lore": [
- "{\"translate\":\"text.gm4.orb_of_ankou.empty\",\"fallback\":\"Empty\",\"color\":\"gray\"}"
+ {"translate":"text.gm4.orb_of_ankou.empty","fallback":"Empty","color":"gray"}
]
}
}
diff --git a/gm4_orb_of_ankou/generate_pneumas.py b/gm4_orb_of_ankou/generate_pneumas.py
index d63e3bb085..4e8b9912de 100644
--- a/gm4_orb_of_ankou/generate_pneumas.py
+++ b/gm4_orb_of_ankou/generate_pneumas.py
@@ -13,6 +13,7 @@ def beet_default(ctx: Context):
read_csv()
generate_corripio(ctx)
generate_pneuma_predicates(ctx)
+ generate_soul_essence_loot_tables(ctx)
def generate_corripio(ctx: Context):
@@ -116,6 +117,61 @@ def looting_chance(base: float,lvl: int) -> float:
return min(1.0,round(base * (1 + (3 * (lvl**3))),6))
+def generate_soul_essence_loot_tables(ctx: Context):
+ for pneuma in pneumas:
+ custom_data = "{gm4_orb_of_ankou:{item:'soul_essence',stored_pneuma:{id:'" + pneuma + "'}},smithed:{ignore:{functionality:1b,crafting:1b}}}"
+ ctx.data[f"gm4_orb_of_ankou:items/soul_essence/{pneuma}"] = LootTable({
+ "type": "minecraft:generic",
+ "pools": [
+ {
+ "rolls": 1,
+ "entries": [
+ {
+ "type": "minecraft:item",
+ "name": "minecraft:black_dye",
+ "functions": [
+ {
+ "function": "minecraft:set_lore",
+ "mode": "append",
+ "lore": [
+ {
+ "translate": f"text.gm4.pneuma_{pneuma}",
+ "fallback": pneuma.replace("_", " ").title(),
+ "italic": False,
+ "color": "blue"
+ }
+ ]
+ },
+ {
+ "function": "minecraft:set_name",
+ "name": {
+ "translate": "item.gm4.soul_essence",
+ "fallback": "Soul Essence",
+ "italic": False,
+ "color": "white"
+ }
+ },
+ {
+ "function": "minecraft:set_components",
+ "components": {
+ "minecraft:enchantment_glint_override": True,
+ "minecraft:custom_model_data": f"pneuma/{pneuma}",
+ "minecraft:damage_resistant": {
+ "types": "#minecraft:is_fire"
+ },
+ }
+ },
+ {
+ "function": "minecraft:set_custom_data",
+ "tag": custom_data
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ })
+
def read_csv():
# read csv file
diff --git a/gm4_orb_of_ankou/mod.mcdoc b/gm4_orb_of_ankou/mod.mcdoc
new file mode 100644
index 0000000000..86801cd295
--- /dev/null
+++ b/gm4_orb_of_ankou/mod.mcdoc
@@ -0,0 +1,9 @@
+use ::java::world::entity::mob::EntityEquipment
+use ::java::world::item::ItemStack
+
+dispatch minecraft:storage[gm4_orb_of_ankou:temp] to struct OrbOfAnkouTemp {
+ equipment?: EntityEquipment,
+ Item?: ItemStack,
+ Orb?: ItemStack,
+ Drop?: ItemStack,
+}
diff --git a/gm4_orb_of_ankou/pneuma_model_template.py b/gm4_orb_of_ankou/pneuma_model_template.py
index 17e7d8e138..b370784840 100644
--- a/gm4_orb_of_ankou/pneuma_model_template.py
+++ b/gm4_orb_of_ankou/pneuma_model_template.py
@@ -9,7 +9,7 @@ class PneumaTemplate(TemplateOptions):
"""model template to generate the models for shards and essences"""
name = "pneuma"
- def process(self, config: ModelData, models_container: NamespaceProxy[Model]):
+ def create_models(self, config: ModelData, models_container: NamespaceProxy[Model]):
pneuma = config.reference.split("/")[-1] # eg agile, anchoring ect...
shard = models_container[f"gm4_orb_of_ankou:item/shards/{pneuma}"] = Model({
"parent": "item/generated",
diff --git a/gm4_particles_pack/beet.yaml b/gm4_particles_pack/beet.yaml
index c196174b24..5068bf6939 100644
--- a/gm4_particles_pack/beet.yaml
+++ b/gm4_particles_pack/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_particles_pack
name: Particles Pack
-version: 1.6.X
+version: 1.7.X
data_pack:
load: .
@@ -13,7 +13,7 @@ meta:
versioning:
schedule_loops: [main]
required:
- gm4_better_armour_stands: 2.4.0
+ gm4_better_armour_stands: 2.5.0
website:
description: Fireflies to flames, add some pezazz to your projects! Allows you to turn Armour Stands into particle sources that you control!
recommended:
diff --git a/gm4_particles_pack/data/gm4_particles_pack/function/apply_book.mcfunction b/gm4_particles_pack/data/gm4_particles_pack/function/apply_book.mcfunction
index 366d7344e4..92076bc5a7 100644
--- a/gm4_particles_pack/data/gm4_particles_pack/function/apply_book.mcfunction
+++ b/gm4_particles_pack/data/gm4_particles_pack/function/apply_book.mcfunction
@@ -23,7 +23,7 @@ execute if data storage gm4_better_armour_stands:temp {pages:[{raw:"cloud"}]} st
execute if data storage gm4_better_armour_stands:temp {pages:[{raw:"bubbles"}]} store success score $valid_code gm4_bas_data run scoreboard players set @s gm4_particle 101
execute if score @s gm4_particle matches 100.. run kill @e[type=area_effect_cloud,tag=gm4_particles_pack_cloud,distance=..1,limit=1,sort=nearest]
-execute if score @s gm4_particle matches 100 run summon area_effect_cloud ~ ~ ~ {Duration:2147483647,Radius:1,RadiusOnUse:0,Particle:{type:"minecraft:cloud"},Tags:["gm4_particles_pack_cloud"]}
-execute if score @s gm4_particle matches 101 run summon area_effect_cloud ~ ~ ~ {Duration:2147483647,Radius:1,RadiusOnUse:0,Particle:{type:"minecraft:bubble"},Tags:["gm4_particles_pack_cloud"]}
+execute if score @s gm4_particle matches 100 run summon area_effect_cloud ~ ~ ~ {Duration:-1,Radius:1,RadiusOnUse:0,Particle:{type:"minecraft:cloud"},Tags:["gm4_particles_pack_cloud"]}
+execute if score @s gm4_particle matches 101 run summon area_effect_cloud ~ ~ ~ {Duration:-1,Radius:1,RadiusOnUse:0,Particle:{type:"minecraft:bubble"},Tags:["gm4_particles_pack_cloud"]}
data merge entity @s[scores={gm4_particle=1..}] {Invisible:1b,NoGravity:1b}
diff --git a/gm4_particles_pack/data/gm4_particles_pack/guidebook/particles_pack.json b/gm4_particles_pack/data/gm4_particles_pack/guidebook/particles_pack.json
index 0e607a82d6..8fcab1d1ed 100644
--- a/gm4_particles_pack/data/gm4_particles_pack/guidebook/particles_pack.json
+++ b/gm4_particles_pack/data/gm4_particles_pack/guidebook/particles_pack.json
@@ -50,9 +50,9 @@
},
{
"text": "autumn",
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.better_armour_stands.copy_code",
"fallback": "Click to copy",
@@ -61,7 +61,7 @@
}
]
},
- "clickEvent": {
+ "click_event": {
"action": "copy_to_clipboard",
"value": "autumn"
}
@@ -71,9 +71,9 @@
},
{
"text": "blossom",
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.better_armour_stands.copy_code",
"fallback": "Click to copy",
@@ -82,7 +82,7 @@
}
]
},
- "clickEvent": {
+ "click_event": {
"action": "copy_to_clipboard",
"value": "blossom"
}
@@ -92,9 +92,9 @@
},
{
"text": "spring",
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.better_armour_stands.copy_code",
"fallback": "Click to copy",
@@ -103,7 +103,7 @@
}
]
},
- "clickEvent": {
+ "click_event": {
"action": "copy_to_clipboard",
"value": "spring"
}
@@ -113,9 +113,9 @@
},
{
"text": "winter",
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.better_armour_stands.copy_code",
"fallback": "Click to copy",
@@ -124,7 +124,7 @@
}
]
},
- "clickEvent": {
+ "click_event": {
"action": "copy_to_clipboard",
"value": "winter"
}
@@ -134,9 +134,9 @@
},
{
"text": "barrier",
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.better_armour_stands.copy_code",
"fallback": "Click to copy",
@@ -145,7 +145,7 @@
}
]
},
- "clickEvent": {
+ "click_event": {
"action": "copy_to_clipboard",
"value": "barrier"
}
@@ -157,9 +157,9 @@
},
{
"text": "bubbles",
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.better_armour_stands.copy_code",
"fallback": "Click to copy",
@@ -168,7 +168,7 @@
}
]
},
- "clickEvent": {
+ "click_event": {
"action": "copy_to_clipboard",
"value": "bubbles"
}
@@ -178,9 +178,9 @@
},
{
"text": "cloud",
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.better_armour_stands.copy_code",
"fallback": "Click to copy",
@@ -189,7 +189,7 @@
}
]
},
- "clickEvent": {
+ "click_event": {
"action": "copy_to_clipboard",
"value": "cloud"
}
@@ -199,9 +199,9 @@
},
{
"text": "drip",
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.better_armour_stands.copy_code",
"fallback": "Click to copy",
@@ -210,7 +210,7 @@
}
]
},
- "clickEvent": {
+ "click_event": {
"action": "copy_to_clipboard",
"value": "drip"
}
@@ -220,9 +220,9 @@
},
{
"text": "enchant",
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.better_armour_stands.copy_code",
"fallback": "Click to copy",
@@ -231,7 +231,7 @@
}
]
},
- "clickEvent": {
+ "click_event": {
"action": "copy_to_clipboard",
"value": "enchant"
}
@@ -241,9 +241,9 @@
},
{
"text": "ender",
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.better_armour_stands.copy_code",
"fallback": "Click to copy",
@@ -252,7 +252,7 @@
}
]
},
- "clickEvent": {
+ "click_event": {
"action": "copy_to_clipboard",
"value": "ender"
}
@@ -262,9 +262,9 @@
},
{
"text": "fiesta",
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.better_armour_stands.copy_code",
"fallback": "Click to copy",
@@ -273,7 +273,7 @@
}
]
},
- "clickEvent": {
+ "click_event": {
"action": "copy_to_clipboard",
"value": "fiesta"
}
@@ -283,9 +283,9 @@
},
{
"text": "fireflies",
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.better_armour_stands.copy_code",
"fallback": "Click to copy",
@@ -294,7 +294,7 @@
}
]
},
- "clickEvent": {
+ "click_event": {
"action": "copy_to_clipboard",
"value": "fireflies"
}
@@ -304,9 +304,9 @@
},
{
"text": "flame",
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.better_armour_stands.copy_code",
"fallback": "Click to copy",
@@ -315,7 +315,7 @@
}
]
},
- "clickEvent": {
+ "click_event": {
"action": "copy_to_clipboard",
"value": "flame"
}
@@ -325,9 +325,9 @@
},
{
"text": "growing",
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.better_armour_stands.copy_code",
"fallback": "Click to copy",
@@ -336,7 +336,7 @@
}
]
},
- "clickEvent": {
+ "click_event": {
"action": "copy_to_clipboard",
"value": "growing"
}
@@ -346,9 +346,9 @@
},
{
"text": "heart",
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.better_armour_stands.copy_code",
"fallback": "Click to copy",
@@ -357,7 +357,7 @@
}
]
},
- "clickEvent": {
+ "click_event": {
"action": "copy_to_clipboard",
"value": "heart"
}
@@ -369,9 +369,9 @@
},
{
"text": "lava",
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.better_armour_stands.copy_code",
"fallback": "Click to copy",
@@ -380,7 +380,7 @@
}
]
},
- "clickEvent": {
+ "click_event": {
"action": "copy_to_clipboard",
"value": "lava"
}
@@ -390,9 +390,9 @@
},
{
"text": "note",
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.better_armour_stands.copy_code",
"fallback": "Click to copy",
@@ -401,7 +401,7 @@
}
]
},
- "clickEvent": {
+ "click_event": {
"action": "copy_to_clipboard",
"value": "note"
}
@@ -411,9 +411,9 @@
},
{
"text": "ash",
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.better_armour_stands.copy_code",
"fallback": "Click to copy",
@@ -422,7 +422,7 @@
}
]
},
- "clickEvent": {
+ "click_event": {
"action": "copy_to_clipboard",
"value": "ash"
}
diff --git a/gm4_percurro_shamir/assets/translations.csv b/gm4_percurro_shamir/assets/translations.csv
index fdb40f40c2..6501f8ba45 100644
--- a/gm4_percurro_shamir/assets/translations.csv
+++ b/gm4_percurro_shamir/assets/translations.csv
@@ -1,5 +1,5 @@
key,en_us
-item.gm4.shamir.percurro,Percurro
+item.gm4.shamir.percurro,Percurro Shamir
text.gm4.guidebook.module_desc.percurro_shamir,Adds the 'Percurro' Shamir to Metallurgy! Weapons with Percurro let you teleport past your enemies in the blink of an eye!
text.gm4.guidebook.percurro_shamir.description,Percurro teleports the user behind their target when attacking.
text.gm4.guidebook.percurro_shamir.usage,"The Percurro Shamir is found on Curie's Bismium Bands. It can be placed onto swords, axes, and tridents.\n\nAttacking a mob teleports the user up to 6 blocks behind the target, turning to face the target."
diff --git a/gm4_percurro_shamir/beet.yaml b/gm4_percurro_shamir/beet.yaml
index 90d90e2556..fecfef53a7 100644
--- a/gm4_percurro_shamir/beet.yaml
+++ b/gm4_percurro_shamir/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_percurro_shamir
name: Percurro Shamir
-version: 1.4.X
+version: 1.5.X
data_pack:
load: .
@@ -16,7 +16,7 @@ meta:
gm4:
versioning:
required:
- gm4_metallurgy: 1.4.0
+ gm4_metallurgy: 1.5.0
model_data:
- item: weapons
reference: shamir/percurro
diff --git a/gm4_percurro_shamir/data/gm4_percurro_shamir/loot_table/band.json b/gm4_percurro_shamir/data/gm4_percurro_shamir/loot_table/band.json
index 50913305f3..2b3cf6ad8a 100644
--- a/gm4_percurro_shamir/data/gm4_percurro_shamir/loot_table/band.json
+++ b/gm4_percurro_shamir/data/gm4_percurro_shamir/loot_table/band.json
@@ -23,7 +23,7 @@
"lore": [
{
"translate": "item.gm4.shamir.percurro",
- "fallback": "Percurro",
+ "fallback": "Percurro Shamir",
"italic": false,
"color": "gray"
}
diff --git a/gm4_phantom_scarecrows/beet.yaml b/gm4_phantom_scarecrows/beet.yaml
index a7bd0e7b80..1472f6a14c 100644
--- a/gm4_phantom_scarecrows/beet.yaml
+++ b/gm4_phantom_scarecrows/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_phantom_scarecrows
name: Phantom Scarecrows
-version: 1.4.X
+version: 1.5.X
data_pack:
load: .
diff --git a/gm4_phantom_scarecrows/data/gm4_phantom_scarecrows/function/main.mcfunction b/gm4_phantom_scarecrows/data/gm4_phantom_scarecrows/function/main.mcfunction
index 238c49dcc2..05c894f060 100644
--- a/gm4_phantom_scarecrows/data/gm4_phantom_scarecrows/function/main.mcfunction
+++ b/gm4_phantom_scarecrows/data/gm4_phantom_scarecrows/function/main.mcfunction
@@ -1,6 +1,5 @@
#creation
-execute as @e[type=armor_stand,tag=!smithed.entity,tag=!gm4_phantom_scarecrow] if items entity @s armor.chest *[enchantments~[{enchantments:"minecraft:binding_curse"}]|enchantments~[{enchantments:"minecraft:vanishing_curse"}]] if items entity @s armor.head #gm4_phantom_scarecrows:skulls run function gm4_phantom_scarecrows:create
-execute as @e[type=armor_stand,tag=gm4_phantom_scarecrow,tag=!smithed.entity] run function gm4_phantom_scarecrows:upgrade_path/smithed_compat
+execute as @e[type=armor_stand,tag=!smithed.entity,tag=!gm4_phantom_scarecrow] if items entity @s armor.chest *[enchantments~[{enchantments:"#minecraft:curse"}]] if items entity @s armor.head #gm4_phantom_scarecrows:skulls run function gm4_phantom_scarecrows:create
#launch cooldown
scoreboard players add @e[type=armor_stand,tag=gm4_phantom_scarecrow,scores={gm4_ps_time=..4}] gm4_ps_time 1
diff --git a/gm4_phantom_scarecrows/data/gm4_phantom_scarecrows/function/shoot.mcfunction b/gm4_phantom_scarecrows/data/gm4_phantom_scarecrows/function/shoot.mcfunction
index b144eda7ad..bd1b8db945 100644
--- a/gm4_phantom_scarecrows/data/gm4_phantom_scarecrows/function/shoot.mcfunction
+++ b/gm4_phantom_scarecrows/data/gm4_phantom_scarecrows/function/shoot.mcfunction
@@ -2,6 +2,6 @@
# at @s
# ran from main
-summon area_effect_cloud ~ ~ ~ {Tags:["gm4_phantom_scarecrow_rocket"],Duration:50}
+summon area_effect_cloud ~ ~ ~ {Radius:0.0f,Tags:["gm4_phantom_scarecrow_rocket"],Duration:50,Particle:{type:"minecraft:block",block_state:{Name:"minecraft:air"}}}
playsound minecraft:entity.firework_rocket.launch block @a ~ ~ ~ 2 1
scoreboard players set @s gm4_ps_time 0
diff --git a/gm4_phantom_scarecrows/data/gm4_phantom_scarecrows/function/upgrade_path/smithed_compat.mcfunction b/gm4_phantom_scarecrows/data/gm4_phantom_scarecrows/function/upgrade_path/smithed_compat.mcfunction
deleted file mode 100644
index e22e753bcd..0000000000
--- a/gm4_phantom_scarecrows/data/gm4_phantom_scarecrows/function/upgrade_path/smithed_compat.mcfunction
+++ /dev/null
@@ -1,7 +0,0 @@
-# updates entities with smithed tags and entity version
-# @s = old phantom scarecrow
-# located at world spawn
-# run from gm4_phantom_scarecrows:main
-
-tag @s add smithed.entity
-scoreboard players set @s gm4_entity_version 1
diff --git a/gm4_pig_tractors/beet.yaml b/gm4_pig_tractors/beet.yaml
index 9b5ff61965..88d7b46806 100644
--- a/gm4_pig_tractors/beet.yaml
+++ b/gm4_pig_tractors/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_pig_tractors
name: Pig Tractors
-version: 1.7.X
+version: 1.8.X
data_pack:
load: .
diff --git a/gm4_pig_tractors/data/gm4_pig_tractors/test/harvest_carrots.mcfunction b/gm4_pig_tractors/data/gm4_pig_tractors/test/harvest_carrots.mcfunction
index 1265aad1dc..8f494aeab4 100644
--- a/gm4_pig_tractors/data/gm4_pig_tractors/test/harvest_carrots.mcfunction
+++ b/gm4_pig_tractors/data/gm4_pig_tractors/test/harvest_carrots.mcfunction
@@ -3,7 +3,7 @@
setblock ~1 ~ ~1 farmland
setblock ~1 ~1 ~1 carrots[age=7]
-summon pig ~1.5 ~1 ~1.5 {Saddle:1b}
+summon pig ~1.5 ~1 ~1.5 {equipment:{saddle:{id:"minecraft:saddle"}}}
dummy @s use entity @e[type=pig,distance=..4,limit=1]
await block ~1 ~1 ~1 carrots[age=0]
diff --git a/gm4_pig_tractors/data/gm4_pig_tractors/test/plant_carrots.mcfunction b/gm4_pig_tractors/data/gm4_pig_tractors/test/plant_carrots.mcfunction
index 17a0cee2b6..2d45f900ed 100644
--- a/gm4_pig_tractors/data/gm4_pig_tractors/test/plant_carrots.mcfunction
+++ b/gm4_pig_tractors/data/gm4_pig_tractors/test/plant_carrots.mcfunction
@@ -2,7 +2,7 @@
# @dummy ~1.5 ~1 ~0.5
setblock ~1 ~ ~1 farmland
-summon pig ~1.5 ~1 ~1.5 {Saddle:1b}
+summon pig ~1.5 ~1 ~1.5 {equipment:{saddle:{id:"minecraft:saddle"}}}
dummy @s use entity @e[type=pig,distance=..4,limit=1]
give @s carrot
diff --git a/gm4_podzol_rooting_soil/beet.yaml b/gm4_podzol_rooting_soil/beet.yaml
index 69087ac39d..b19c462202 100644
--- a/gm4_podzol_rooting_soil/beet.yaml
+++ b/gm4_podzol_rooting_soil/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_podzol_rooting_soil
name: Podzol Rooting Soil
-version: 1.5.X
+version: 1.6.X
data_pack:
load: .
diff --git a/gm4_podzol_rooting_soil/data/gm4_podzol_rooting_soil/tags/item/plantable.json b/gm4_podzol_rooting_soil/data/gm4_podzol_rooting_soil/tags/item/plantable.json
index df64e736d4..6c2f4f8830 100644
--- a/gm4_podzol_rooting_soil/data/gm4_podzol_rooting_soil/tags/item/plantable.json
+++ b/gm4_podzol_rooting_soil/data/gm4_podzol_rooting_soil/tags/item/plantable.json
@@ -7,7 +7,7 @@
"minecraft:jungle_sapling",
"minecraft:mangrove_propagule",
"minecraft:oak_sapling",
- { "id": "minecraft:pale_oak_sapling", "required": false },
+ "minecraft:pale_oak_sapling",
"minecraft:spruce_sapling"
]
}
diff --git a/gm4_poses_pack/beet.yaml b/gm4_poses_pack/beet.yaml
index 29f2f2d316..ca212a08f5 100644
--- a/gm4_poses_pack/beet.yaml
+++ b/gm4_poses_pack/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_poses_pack
name: Poses Pack
-version: 1.6.X
+version: 1.7.X
data_pack:
load: .
@@ -12,7 +12,7 @@ meta:
gm4:
versioning:
required:
- gm4_better_armour_stands: 2.4.0
+ gm4_better_armour_stands: 2.5.0
model_data:
- item: armor_stand
reference: gui/advancement/poses_pack
diff --git a/gm4_poses_pack/data/gm4_poses_pack/guidebook/poses_pack.json b/gm4_poses_pack/data/gm4_poses_pack/guidebook/poses_pack.json
index d670ae4dee..a21605f39a 100644
--- a/gm4_poses_pack/data/gm4_poses_pack/guidebook/poses_pack.json
+++ b/gm4_poses_pack/data/gm4_poses_pack/guidebook/poses_pack.json
@@ -63,9 +63,9 @@
},
{
"text": "head up",
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.better_armour_stands.copy_code",
"fallback": "Click to copy",
@@ -74,7 +74,7 @@
}
]
},
- "clickEvent": {
+ "click_event": {
"action": "copy_to_clipboard",
"value": "head up"
}
@@ -84,9 +84,9 @@
},
{
"text": "head down",
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.better_armour_stands.copy_code",
"fallback": "Click to copy",
@@ -95,7 +95,7 @@
}
]
},
- "clickEvent": {
+ "click_event": {
"action": "copy_to_clipboard",
"value": "head down"
}
@@ -105,9 +105,9 @@
},
{
"text": "head left",
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.better_armour_stands.copy_code",
"fallback": "Click to copy",
@@ -116,7 +116,7 @@
}
]
},
- "clickEvent": {
+ "click_event": {
"action": "copy_to_clipboard",
"value": "head left"
}
@@ -126,9 +126,9 @@
},
{
"text": "head right",
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.better_armour_stands.copy_code",
"fallback": "Click to copy",
@@ -137,7 +137,7 @@
}
]
},
- "clickEvent": {
+ "click_event": {
"action": "copy_to_clipboard",
"value": "head right"
}
@@ -159,9 +159,9 @@
},
{
"text": "arms reaching",
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.better_armour_stands.copy_code",
"fallback": "Click to copy",
@@ -170,7 +170,7 @@
}
]
},
- "clickEvent": {
+ "click_event": {
"action": "copy_to_clipboard",
"value": "arms reaching"
}
@@ -180,9 +180,9 @@
},
{
"text": "arms swinging",
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.better_armour_stands.copy_code",
"fallback": "Click to copy",
@@ -191,7 +191,7 @@
}
]
},
- "clickEvent": {
+ "click_event": {
"action": "copy_to_clipboard",
"value": "arms swinging"
}
@@ -201,9 +201,9 @@
},
{
"text": "arms resting",
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.better_armour_stands.copy_code",
"fallback": "Click to copy",
@@ -212,7 +212,7 @@
}
]
},
- "clickEvent": {
+ "click_event": {
"action": "copy_to_clipboard",
"value": "arms resting"
}
@@ -222,9 +222,9 @@
},
{
"text": "arms raised",
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.better_armour_stands.copy_code",
"fallback": "Click to copy",
@@ -233,7 +233,7 @@
}
]
},
- "clickEvent": {
+ "click_event": {
"action": "copy_to_clipboard",
"value": "arms raised"
}
@@ -243,9 +243,9 @@
},
{
"text": "arms down",
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.better_armour_stands.copy_code",
"fallback": "Click to copy",
@@ -254,7 +254,7 @@
}
]
},
- "clickEvent": {
+ "click_event": {
"action": "copy_to_clipboard",
"value": "arms down"
}
@@ -277,9 +277,9 @@
},
{
"text": "legs sitting",
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.better_armour_stands.copy_code",
"fallback": "Click to copy",
@@ -288,7 +288,7 @@
}
]
},
- "clickEvent": {
+ "click_event": {
"action": "copy_to_clipboard",
"value": "legs sitting"
}
@@ -298,9 +298,9 @@
},
{
"text": "legs walking",
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.better_armour_stands.copy_code",
"fallback": "Click to copy",
@@ -309,7 +309,7 @@
}
]
},
- "clickEvent": {
+ "click_event": {
"action": "copy_to_clipboard",
"value": "legs walking"
}
@@ -319,9 +319,9 @@
},
{
"text": "legs flying",
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.better_armour_stands.copy_code",
"fallback": "Click to copy",
@@ -330,7 +330,7 @@
}
]
},
- "clickEvent": {
+ "click_event": {
"action": "copy_to_clipboard",
"value": "legs flying"
}
@@ -340,9 +340,9 @@
},
{
"text": "legs down",
- "hoverEvent": {
+ "hover_event": {
"action": "show_text",
- "contents": [
+ "value": [
{
"translate": "text.gm4.guidebook.better_armour_stands.copy_code",
"fallback": "Click to copy",
@@ -351,7 +351,7 @@
}
]
},
- "clickEvent": {
+ "click_event": {
"action": "copy_to_clipboard",
"value": "legs down"
}
diff --git a/gm4_potion_liquids/beet.yaml b/gm4_potion_liquids/beet.yaml
index d3c088c43c..f0b752a1ae 100644
--- a/gm4_potion_liquids/beet.yaml
+++ b/gm4_potion_liquids/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_potion_liquids
name: Potion Liquids
-version: 1.7.X
+version: 1.8.X
data_pack:
load: .
@@ -13,8 +13,8 @@ meta:
gm4:
versioning:
required:
- gm4_liquid_tanks: 2.3.0
- lib_brewing: 1.2.0
+ gm4_liquid_tanks: 2.7.0
+ lib_brewing: 1.4.0
model_data:
- item: potion
reference: gui/advancement/potion_liquids
diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/floating_potion.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/floating_potion.mcfunction
index 119624afc5..54f2d32773 100644
--- a/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/floating_potion.mcfunction
+++ b/gm4_potion_liquids/data/gm4_potion_liquids/function/item_fill/floating_potion.mcfunction
@@ -3,7 +3,7 @@
scoreboard players set $item_value gm4_lt_value -1
loot replace entity @e[type=armor_stand,tag=gm4_liquid_tank_stand,limit=1,sort=nearest,distance=..1] weapon.mainhand loot gm4_potion_liquids:floating_potion
-data modify storage gm4_liquid_tanks:temp/tank output set from entity @e[type=armor_stand,tag=gm4_liquid_tank_stand,limit=1,sort=nearest,distance=..1] HandItems[0]
+data modify storage gm4_liquid_tanks:temp/tank output set from entity @e[type=armor_stand,tag=gm4_liquid_tank_stand,limit=1,sort=nearest,distance=..1] equipment.mainhand
item replace entity @e[type=armor_stand,tag=gm4_liquid_tank_stand,limit=1,sort=nearest,distance=..1] weapon.mainhand with air
function gm4_liquid_tanks:smart_item_fill
tag @s add gm4_lt_fill
diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/fire_resistance.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/fire_resistance.mcfunction
index 08891d7982..ddb7b790c9 100644
--- a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/fire_resistance.mcfunction
+++ b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/fire_resistance.mcfunction
@@ -1,5 +1,5 @@
-data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.fire_resistance","fallback":"Fire Resistance Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.fire_resistance","fallback":"Fire Resistance Potion Tank","font":"gm4:default","color":"#404040"}]]}'}
-summon armor_stand ~ ~-.95 ~ {CustomName:"\"gm4_liquid_tank_display\"",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/fire_resistance"}}]}
+data merge block ~ ~ ~ {CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.fire_resistance","fallback":"Fire Resistance Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.fire_resistance","fallback":"Fire Resistance Potion Tank","font":"gm4:default","color":"#404040"}]]}}
+summon armor_stand ~ ~-.95 ~ {CustomName:"gm4_liquid_tank_display",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,equipment:{head:{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/fire_resistance"}}}}
data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_fire_resistance"
scoreboard players set @s gm4_lt_max 300
tag @s add gm4_lt_fire_resistance
diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/floating.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/floating.mcfunction
index 531c02d7ff..57c317529c 100644
--- a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/floating.mcfunction
+++ b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/floating.mcfunction
@@ -1,5 +1,5 @@
-data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.floating","fallback":"Floating Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.floating","fallback":"Floating Potion Tank","font":"gm4:default","color":"#404040"}]]}'}
-summon armor_stand ~ ~-.95 ~ {CustomName:"\"gm4_liquid_tank_display\"",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/floating"}}]}
+data merge block ~ ~ ~ {CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.floating","fallback":"Floating Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.floating","fallback":"Floating Potion Tank","font":"gm4:default","color":"#404040"}]]}}
+summon armor_stand ~ ~-.95 ~ {CustomName:"gm4_liquid_tank_display",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,equipment:{head:{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/floating"}}}}
data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_floating"
scoreboard players set @s gm4_lt_max 300
tag @s add gm4_lt_floating
diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/harming.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/harming.mcfunction
index 8681e5a0e8..206418dbed 100644
--- a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/harming.mcfunction
+++ b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/harming.mcfunction
@@ -1,5 +1,5 @@
-data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.harming","fallback":"Harming Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.harming","fallback":"Harming Potion Tank","font":"gm4:default","color":"#404040"}]]}'}
-summon armor_stand ~ ~-.95 ~ {CustomName:"\"gm4_liquid_tank_display\"",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/harming"}}]}
+data merge block ~ ~ ~ {CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.harming","fallback":"Harming Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.harming","fallback":"Harming Potion Tank","font":"gm4:default","color":"#404040"}]]}}
+summon armor_stand ~ ~-.95 ~ {CustomName:"gm4_liquid_tank_display",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,equipment:{head:{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/harming"}}}}
data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_harming"
scoreboard players set @s gm4_lt_max 300
tag @s add gm4_lt_harming
diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/healing.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/healing.mcfunction
index 2ca55bb340..94902013dd 100644
--- a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/healing.mcfunction
+++ b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/healing.mcfunction
@@ -1,5 +1,5 @@
-data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.healing","fallback":"Healing Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.healing","fallback":"Healing Potion Tank","font":"gm4:default","color":"#404040"}]]}'}
-summon armor_stand ~ ~-.95 ~ {CustomName:"\"gm4_liquid_tank_display\"",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/healing"}}]}
+data merge block ~ ~ ~ {CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.healing","fallback":"Healing Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.healing","fallback":"Healing Potion Tank","font":"gm4:default","color":"#404040"}]]}}
+summon armor_stand ~ ~-.95 ~ {CustomName:"gm4_liquid_tank_display",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,equipment:{head:{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/healing"}}}}
data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_healing"
scoreboard players set @s gm4_lt_max 300
tag @s add gm4_lt_healing
diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/invisibility.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/invisibility.mcfunction
index afababa7a3..5de9eedef9 100644
--- a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/invisibility.mcfunction
+++ b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/invisibility.mcfunction
@@ -1,5 +1,5 @@
-data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.invisibility","fallback":"Invisibility Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.invisibility","fallback":"Invisibility Potion Tank","font":"gm4:default","color":"#404040"}]]}'}
-summon armor_stand ~ ~-.95 ~ {CustomName:"\"gm4_liquid_tank_display\"",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/invisibility"}}]}
+data merge block ~ ~ ~ {CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.invisibility","fallback":"Invisibility Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.invisibility","fallback":"Invisibility Potion Tank","font":"gm4:default","color":"#404040"}]]}}
+summon armor_stand ~ ~-.95 ~ {CustomName:"gm4_liquid_tank_display",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,equipment:{head:{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/invisibility"}}}}
data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_invisibility"
scoreboard players set @s gm4_lt_max 300
tag @s add gm4_lt_invisibility
diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/leaping.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/leaping.mcfunction
index a3d6a5619d..1020cfd2a1 100644
--- a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/leaping.mcfunction
+++ b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/leaping.mcfunction
@@ -1,5 +1,5 @@
-data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.leaping","fallback":"Leaping Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.leaping","fallback":"Leaping Potion Tank","font":"gm4:default","color":"#404040"}]]}'}
-summon armor_stand ~ ~-.95 ~ {CustomName:"\"gm4_liquid_tank_display\"",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/leaping"}}]}
+data merge block ~ ~ ~ {CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.leaping","fallback":"Leaping Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.leaping","fallback":"Leaping Potion Tank","font":"gm4:default","color":"#404040"}]]}}
+summon armor_stand ~ ~-.95 ~ {CustomName:"gm4_liquid_tank_display",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,equipment:{head:{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/leaping"}}}}
data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_leaping"
scoreboard players set @s gm4_lt_max 300
tag @s add gm4_lt_leaping
diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/luck.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/luck.mcfunction
index ba3b601529..135de042e6 100644
--- a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/luck.mcfunction
+++ b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/luck.mcfunction
@@ -1,5 +1,5 @@
-data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.luck","fallback":"Luck Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.luck","fallback":"Luck Potion Tank","font":"gm4:default","color":"#404040"}]]}'}
-summon armor_stand ~ ~-.95 ~ {CustomName:"\"gm4_liquid_tank_display\"",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/luck"}}]}
+data merge block ~ ~ ~ {CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.luck","fallback":"Luck Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.luck","fallback":"Luck Potion Tank","font":"gm4:default","color":"#404040"}]]}}
+summon armor_stand ~ ~-.95 ~ {CustomName:"gm4_liquid_tank_display",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,equipment:{head:{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/luck"}}}}
data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_luck"
scoreboard players set @s gm4_lt_max 300
tag @s add gm4_lt_luck
diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/night_vision.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/night_vision.mcfunction
index 347de6c088..169890f9b3 100644
--- a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/night_vision.mcfunction
+++ b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/night_vision.mcfunction
@@ -1,5 +1,5 @@
-data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.night_vision","fallback":"Night Vision Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.night_vision","fallback":"Night Vision Potion Tank","font":"gm4:default","color":"#404040"}]]}'}
-summon armor_stand ~ ~-.95 ~ {CustomName:"\"gm4_liquid_tank_display\"",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/night_vision"}}]}
+data merge block ~ ~ ~ {CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.night_vision","fallback":"Night Vision Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.night_vision","fallback":"Night Vision Potion Tank","font":"gm4:default","color":"#404040"}]]}}
+summon armor_stand ~ ~-.95 ~ {CustomName:"gm4_liquid_tank_display",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,equipment:{head:{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/night_vision"}}}}
data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_night_vision"
scoreboard players set @s gm4_lt_max 300
tag @s add gm4_lt_night_vision
diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/poison.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/poison.mcfunction
index 492272cb5d..4f99429767 100644
--- a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/poison.mcfunction
+++ b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/poison.mcfunction
@@ -1,5 +1,5 @@
-data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.poison","fallback":"Poison Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.poison","fallback":"Poison Potion Tank","font":"gm4:default","color":"#404040"}]]}'}
-summon armor_stand ~ ~-.95 ~ {CustomName:"\"gm4_liquid_tank_display\"",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/poison"}}]}
+data merge block ~ ~ ~ {CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.poison","fallback":"Poison Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.poison","fallback":"Poison Potion Tank","font":"gm4:default","color":"#404040"}]]}}
+summon armor_stand ~ ~-.95 ~ {CustomName:"gm4_liquid_tank_display",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,equipment:{head:{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/poison"}}}}
data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_poison"
scoreboard players set @s gm4_lt_max 300
tag @s add gm4_lt_poison
diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/regeneration.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/regeneration.mcfunction
index ee33739139..be30cd9288 100644
--- a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/regeneration.mcfunction
+++ b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/regeneration.mcfunction
@@ -1,5 +1,5 @@
-data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.regeneration","fallback":"Regeneration Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.regeneration","fallback":"Regeneration Potion Tank","font":"gm4:default","color":"#404040"}]]}'}
-summon armor_stand ~ ~-.95 ~ {CustomName:"\"gm4_liquid_tank_display\"",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/regeneration"}}]}
+data merge block ~ ~ ~ {CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.regeneration","fallback":"Regeneration Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.regeneration","fallback":"Regeneration Potion Tank","font":"gm4:default","color":"#404040"}]]}}
+summon armor_stand ~ ~-.95 ~ {CustomName:"gm4_liquid_tank_display",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,equipment:{head:{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/regeneration"}}}}
data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_regeneration"
scoreboard players set @s gm4_lt_max 300
tag @s add gm4_lt_regeneration
diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/slow_falling.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/slow_falling.mcfunction
index 5ceb8573a2..d182fe38eb 100644
--- a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/slow_falling.mcfunction
+++ b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/slow_falling.mcfunction
@@ -1,5 +1,5 @@
-data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.slow_falling","fallback":"Slow Falling Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.slow_falling","fallback":"Slow Falling Potion Tank","font":"gm4:default","color":"#404040"}]]}'}
-summon armor_stand ~ ~-.95 ~ {CustomName:"\"gm4_liquid_tank_display\"",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/slow_falling"}}]}
+data merge block ~ ~ ~ {CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.slow_falling","fallback":"Slow Falling Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.slow_falling","fallback":"Slow Falling Potion Tank","font":"gm4:default","color":"#404040"}]]}}
+summon armor_stand ~ ~-.95 ~ {CustomName:"gm4_liquid_tank_display",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,equipment:{head:{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/slow_falling"}}}}
data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_slow_falling"
scoreboard players set @s gm4_lt_max 300
tag @s add gm4_lt_slow_falling
diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/slowness.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/slowness.mcfunction
index 23debe97b5..dbafc2f081 100644
--- a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/slowness.mcfunction
+++ b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/slowness.mcfunction
@@ -1,5 +1,5 @@
-data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.slowness","fallback":"Slowness Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.slowness","fallback":"Slowness Potion Tank","font":"gm4:default","color":"#404040"}]]}'}
-summon armor_stand ~ ~-.95 ~ {CustomName:"\"gm4_liquid_tank_display\"",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/slowness"}}]}
+data merge block ~ ~ ~ {CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.slowness","fallback":"Slowness Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.slowness","fallback":"Slowness Potion Tank","font":"gm4:default","color":"#404040"}]]}}
+summon armor_stand ~ ~-.95 ~ {CustomName:"gm4_liquid_tank_display",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,equipment:{head:{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/slowness"}}}}
data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_slowness"
scoreboard players set @s gm4_lt_max 300
tag @s add gm4_lt_slowness
diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/strength.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/strength.mcfunction
index acb0db948a..449ac43b8b 100644
--- a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/strength.mcfunction
+++ b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/strength.mcfunction
@@ -1,5 +1,5 @@
-data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.strength","fallback":"Strength Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.strength","fallback":"Strength Potion Tank","font":"gm4:default","color":"#404040"}]]}'}
-summon armor_stand ~ ~-.95 ~ {CustomName:"\"gm4_liquid_tank_display\"",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/strength"}}]}
+data merge block ~ ~ ~ {CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.strength","fallback":"Strength Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.strength","fallback":"Strength Potion Tank","font":"gm4:default","color":"#404040"}]]}}
+summon armor_stand ~ ~-.95 ~ {CustomName:"gm4_liquid_tank_display",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,equipment:{head:{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/strength"}}}}
data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_strength"
scoreboard players set @s gm4_lt_max 300
tag @s add gm4_lt_strength
diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/strong_harming.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/strong_harming.mcfunction
index d897daf85f..4147d3f69b 100644
--- a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/strong_harming.mcfunction
+++ b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/strong_harming.mcfunction
@@ -1,5 +1,5 @@
-data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.strong_harming","fallback":"Strong Harming Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.strong_harming","fallback":"Strong Harming Potion Tank","font":"gm4:default","color":"#404040"}]]}'}
-summon armor_stand ~ ~-.95 ~ {CustomName:"\"gm4_liquid_tank_display\"",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/strength"}}]}
+data merge block ~ ~ ~ {CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.strong_harming","fallback":"Strong Harming Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.strong_harming","fallback":"Strong Harming Potion Tank","font":"gm4:default","color":"#404040"}]]}}
+summon armor_stand ~ ~-.95 ~ {CustomName:"gm4_liquid_tank_display",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,equipment:{head:{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/strength"}}}}
data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_strong_harming"
scoreboard players set @s gm4_lt_max 300
tag @s add gm4_lt_strong_harming
diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/strong_healing.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/strong_healing.mcfunction
index f9868d74f6..f03be675f3 100644
--- a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/strong_healing.mcfunction
+++ b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/strong_healing.mcfunction
@@ -1,5 +1,5 @@
-data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.strong_healing","fallback":"Strong Healing Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.strong_healing","fallback":"Strong Healing Potion Tank","font":"gm4:default","color":"#404040"}]]}'}
-summon armor_stand ~ ~-.95 ~ {CustomName:"\"gm4_liquid_tank_display\"",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/healing"}}]}
+data merge block ~ ~ ~ {CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.strong_healing","fallback":"Strong Healing Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.strong_healing","fallback":"Strong Healing Potion Tank","font":"gm4:default","color":"#404040"}]]}}
+summon armor_stand ~ ~-.95 ~ {CustomName:"gm4_liquid_tank_display",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,equipment:{head:{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/healing"}}}}
data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_strong_healing"
scoreboard players set @s gm4_lt_max 300
tag @s add gm4_lt_strong_healing
diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/strong_leaping.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/strong_leaping.mcfunction
index e38608fe9f..30f72ae990 100644
--- a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/strong_leaping.mcfunction
+++ b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/strong_leaping.mcfunction
@@ -1,5 +1,5 @@
-data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.strong_leaping","fallback":"Strong Leaping Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.strong_leaping","fallback":"Strong Leaping Potion Tank","font":"gm4:default","color":"#404040"}]]}'}
-summon armor_stand ~ ~-.95 ~ {CustomName:"\"gm4_liquid_tank_display\"",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/leaping"}}]}
+data merge block ~ ~ ~ {CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.strong_leaping","fallback":"Strong Leaping Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.strong_leaping","fallback":"Strong Leaping Potion Tank","font":"gm4:default","color":"#404040"}]]}}
+summon armor_stand ~ ~-.95 ~ {CustomName:"gm4_liquid_tank_display",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,equipment:{head:{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/leaping"}}}}
data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_strong_leaping"
scoreboard players set @s gm4_lt_max 300
tag @s add gm4_lt_strong_leaping
diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/strong_poison.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/strong_poison.mcfunction
index d97c4d766d..851f205884 100644
--- a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/strong_poison.mcfunction
+++ b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/strong_poison.mcfunction
@@ -1,5 +1,5 @@
-data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.strong_poison","fallback":"Strong Poison Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.strong_poison","fallback":"Strong Poison Potion Tank","font":"gm4:default","color":"#404040"}]]}'}
-summon armor_stand ~ ~-.95 ~ {CustomName:"\"gm4_liquid_tank_display\"",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/poison"}}]}
+data merge block ~ ~ ~ {CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.strong_poison","fallback":"Strong Poison Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.strong_poison","fallback":"Strong Poison Potion Tank","font":"gm4:default","color":"#404040"}]]}}
+summon armor_stand ~ ~-.95 ~ {CustomName:"gm4_liquid_tank_display",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,equipment:{head:{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/poison"}}}}
data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_strong_poison"
scoreboard players set @s gm4_lt_max 300
tag @s add gm4_lt_strong_poison
diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/strong_regeneration.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/strong_regeneration.mcfunction
index a41f389bcd..a96a98b874 100644
--- a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/strong_regeneration.mcfunction
+++ b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/strong_regeneration.mcfunction
@@ -1,5 +1,5 @@
-data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.strong_regeneration","fallback":"Strong Regeneration Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.strong_regeneration","fallback":"Strong Regeneration Potion Tank","font":"gm4:default","color":"#404040"}]]}'}
-summon armor_stand ~ ~-.95 ~ {CustomName:"\"gm4_liquid_tank_display\"",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/regeneration"}}]}
+data merge block ~ ~ ~ {CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.strong_regeneration","fallback":"Strong Regeneration Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.strong_regeneration","fallback":"Strong Regeneration Potion Tank","font":"gm4:default","color":"#404040"}]]}}
+summon armor_stand ~ ~-.95 ~ {CustomName:"gm4_liquid_tank_display",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,equipment:{head:{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/regeneration"}}}}
data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_strong_regeneration"
scoreboard players set @s gm4_lt_max 300
tag @s add gm4_lt_strong_regeneration
diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/strong_slowness.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/strong_slowness.mcfunction
index 68d09f079c..56c1994117 100644
--- a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/strong_slowness.mcfunction
+++ b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/strong_slowness.mcfunction
@@ -1,5 +1,5 @@
-data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.strong_slowness","fallback":"Strong Slowness Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.strong_slowness","fallback":"Strong Slowness Potion Tank","font":"gm4:default","color":"#404040"}]]}'}
-summon armor_stand ~ ~-.95 ~ {CustomName:"\"gm4_liquid_tank_display\"",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/slowness"}}]}
+data merge block ~ ~ ~ {CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.strong_slowness","fallback":"Strong Slowness Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.strong_slowness","fallback":"Strong Slowness Potion Tank","font":"gm4:default","color":"#404040"}]]}}
+summon armor_stand ~ ~-.95 ~ {CustomName:"gm4_liquid_tank_display",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,equipment:{head:{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/slowness"}}}}
data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_strong_slowness"
scoreboard players set @s gm4_lt_max 300
tag @s add gm4_lt_strong_slowness
diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/strong_strength.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/strong_strength.mcfunction
index a23cfa6abd..7722a8619b 100644
--- a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/strong_strength.mcfunction
+++ b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/strong_strength.mcfunction
@@ -1,5 +1,5 @@
-data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.strong_strength","fallback":"Strong Strength Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.strong_strength","fallback":"Strong Strength Potion Tank","font":"gm4:default","color":"#404040"}]]}'}
-summon armor_stand ~ ~-.95 ~ {CustomName:"\"gm4_liquid_tank_display\"",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/strength"}}]}
+data merge block ~ ~ ~ {CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.strong_strength","fallback":"Strong Strength Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.strong_strength","fallback":"Strong Strength Potion Tank","font":"gm4:default","color":"#404040"}]]}}
+summon armor_stand ~ ~-.95 ~ {CustomName:"gm4_liquid_tank_display",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,equipment:{head:{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/strength"}}}}
data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_strong_strength"
scoreboard players set @s gm4_lt_max 300
tag @s add gm4_lt_strong_strength
diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/strong_swiftness.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/strong_swiftness.mcfunction
index 451d1add31..9c4663eb71 100644
--- a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/strong_swiftness.mcfunction
+++ b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/strong_swiftness.mcfunction
@@ -1,5 +1,5 @@
-data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.strong_swiftness","fallback":"Strong Swiftness Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.strong_swiftness","fallback":"Strong Swiftness Potion Tank","font":"gm4:default","color":"#404040"}]]}'}
-summon armor_stand ~ ~-.95 ~ {CustomName:"\"gm4_liquid_tank_display\"",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/swiftness"}}]}
+data merge block ~ ~ ~ {CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.strong_swiftness","fallback":"Strong Swiftness Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.strong_swiftness","fallback":"Strong Swiftness Potion Tank","font":"gm4:default","color":"#404040"}]]}}
+summon armor_stand ~ ~-.95 ~ {CustomName:"gm4_liquid_tank_display",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,equipment:{head:{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/swiftness"}}}}
data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_strong_swiftness"
scoreboard players set @s gm4_lt_max 300
tag @s add gm4_lt_strong_swiftness
diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/strong_turtle_master.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/strong_turtle_master.mcfunction
index 2d4efb5f20..4b25789c18 100644
--- a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/strong_turtle_master.mcfunction
+++ b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/strong_turtle_master.mcfunction
@@ -1,5 +1,5 @@
-data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.strong_turtle_master","fallback":"Strong Turtle Master Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.strong_turtle_master","fallback":"Strong Turtle Master Potion Tank","font":"gm4:default","color":"#404040"}]]}'}
-summon armor_stand ~ ~-.95 ~ {CustomName:"\"gm4_liquid_tank_display\"",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/turtle_master"}}]}
+data merge block ~ ~ ~ {CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.strong_turtle_master","fallback":"Strong Turtle Master Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.strong_turtle_master","fallback":"Strong Turtle Master Potion Tank","font":"gm4:default","color":"#404040"}]]}}
+summon armor_stand ~ ~-.95 ~ {CustomName:"gm4_liquid_tank_display",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,equipment:{head:{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/turtle_master"}}}}
data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_strong_turtle_master"
scoreboard players set @s gm4_lt_max 300
tag @s add gm4_lt_strong_turtle_master
diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/swiftness.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/swiftness.mcfunction
index 53920f82db..729e818d3e 100644
--- a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/swiftness.mcfunction
+++ b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/swiftness.mcfunction
@@ -1,5 +1,5 @@
-data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.swiftness","fallback":"Swiftness Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.swiftness","fallback":"Swiftness Potion Tank","font":"gm4:default","color":"#404040"}]]}'}
-summon armor_stand ~ ~-.95 ~ {CustomName:"\"gm4_liquid_tank_display\"",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/swiftness"}}]}
+data merge block ~ ~ ~ {CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.swiftness","fallback":"Swiftness Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.swiftness","fallback":"Swiftness Potion Tank","font":"gm4:default","color":"#404040"}]]}}
+summon armor_stand ~ ~-.95 ~ {CustomName:"gm4_liquid_tank_display",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,equipment:{head:{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/swiftness"}}}}
data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_swiftness"
scoreboard players set @s gm4_lt_max 300
tag @s add gm4_lt_swiftness
diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/turtle_master.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/turtle_master.mcfunction
index c2693fdcdf..aab3abe139 100644
--- a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/turtle_master.mcfunction
+++ b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/turtle_master.mcfunction
@@ -1,5 +1,5 @@
-data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.turtle_master","fallback":"Turtle Master Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.turtle_master","fallback":"Turtle Master Potion Tank","font":"gm4:default","color":"#404040"}]]}'}
-summon armor_stand ~ ~-.95 ~ {CustomName:"\"gm4_liquid_tank_display\"",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/turtle_master"}}]}
+data merge block ~ ~ ~ {CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.turtle_master","fallback":"Turtle Master Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.turtle_master","fallback":"Turtle Master Potion Tank","font":"gm4:default","color":"#404040"}]]}}
+summon armor_stand ~ ~-.95 ~ {CustomName:"gm4_liquid_tank_display",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,equipment:{head:{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/turtle_master"}}}}
data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_turtle_master"
scoreboard players set @s gm4_lt_max 300
tag @s add gm4_lt_turtle_master
diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/water_breathing.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/water_breathing.mcfunction
index 46cabce540..f299052c61 100644
--- a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/water_breathing.mcfunction
+++ b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/water_breathing.mcfunction
@@ -1,5 +1,5 @@
-data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.water_breathing","fallback":"Water Breathing Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.water_breathing","fallback":"Water Breathing Potion Tank","font":"gm4:default","color":"#404040"}]]}'}
-summon armor_stand ~ ~-.95 ~ {CustomName:"\"gm4_liquid_tank_display\"",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/water_breathing"}}]}
+data merge block ~ ~ ~ {CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.water_breathing","fallback":"Water Breathing Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.water_breathing","fallback":"Water Breathing Potion Tank","font":"gm4:default","color":"#404040"}]]}}
+summon armor_stand ~ ~-.95 ~ {CustomName:"gm4_liquid_tank_display",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,equipment:{head:{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/water_breathing"}}}}
data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_water_breathing"
scoreboard players set @s gm4_lt_max 300
tag @s add gm4_lt_water_breathing
diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/weakness.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/weakness.mcfunction
index f44c53f578..5c08172b06 100644
--- a/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/weakness.mcfunction
+++ b/gm4_potion_liquids/data/gm4_potion_liquids/function/liquid_init/weakness.mcfunction
@@ -1,5 +1,5 @@
-data merge block ~ ~ ~ {CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.weakness","fallback":"Weakness Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.weakness","fallback":"Weakness Potion Tank","font":"gm4:default","color":"#404040"}]]}'}
-summon armor_stand ~ ~-.95 ~ {CustomName:"\"gm4_liquid_tank_display\"",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,ArmorItems:[{},{},{},{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/weakness"}}]}
+data merge block ~ ~ ~ {CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.liquid_tank.weakness","fallback":"Weakness Potion Tank"},[{"translate":"gui.gm4.liquid_tank","fallback":"","font":"gm4:container_gui","color":"white"},{"translate":"container.gm4.liquid_tank.weakness","fallback":"Weakness Potion Tank","font":"gm4:default","color":"#404040"}]]}}
+summon armor_stand ~ ~-.95 ~ {CustomName:"gm4_liquid_tank_display",Tags:["gm4_no_edit","gm4_liquid_tank_display","smithed.entity","smithed.strict"],NoGravity:1b,Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,Silent:1b,DisabledSlots:4144959,HasVisualFire:1b,equipment:{head:{id:"player_head",count:1,components:{"minecraft:profile":"$liquids/weakness"}}}}
data modify entity @s data.gm4_liquid_tanks.liquid_tag set value "gm4_lt_weakness"
scoreboard players set @s gm4_lt_max 300
tag @s add gm4_lt_weakness
diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/function/util/random_witch_init.mcfunction b/gm4_potion_liquids/data/gm4_potion_liquids/function/util/random_witch_init.mcfunction
index 01cc1dbc3e..73b2d8ef13 100644
--- a/gm4_potion_liquids/data/gm4_potion_liquids/function/util/random_witch_init.mcfunction
+++ b/gm4_potion_liquids/data/gm4_potion_liquids/function/util/random_witch_init.mcfunction
@@ -1,10 +1,10 @@
#@s = liquid tank to be initialized to random potion
#run from potion_liquids:util/witch
-summon area_effect_cloud ~ ~ ~ {CustomName:"\"gm4_pl_random_witch_init\"",Tags:["gm4_pl_random_witch_init","gm4_lt_random_regeneration"]}
-summon area_effect_cloud ~ ~ ~ {CustomName:"\"gm4_pl_random_witch_init\"",Tags:["gm4_pl_random_witch_init","gm4_lt_random_swiftness"]}
-summon area_effect_cloud ~ ~ ~ {CustomName:"\"gm4_pl_random_witch_init\"",Tags:["gm4_pl_random_witch_init","gm4_lt_random_fire_resistance"]}
-summon area_effect_cloud ~ ~ ~ {CustomName:"\"gm4_pl_random_witch_init\"",Tags:["gm4_pl_random_witch_init","gm4_lt_random_harming"]}
+summon area_effect_cloud ~ ~ ~ {Radius:0.0f,Particle:{type:"minecraft:block",block_state:"minecraft:air"},CustomName:"gm4_pl_random_witch_init",Tags:["gm4_pl_random_witch_init","gm4_lt_random_regeneration"]}
+summon area_effect_cloud ~ ~ ~ {Radius:0.0f,Particle:{type:"minecraft:block",block_state:"minecraft:air"},CustomName:"gm4_pl_random_witch_init",Tags:["gm4_pl_random_witch_init","gm4_lt_random_swiftness"]}
+summon area_effect_cloud ~ ~ ~ {Radius:0.0f,Particle:{type:"minecraft:block",block_state:"minecraft:air"},CustomName:"gm4_pl_random_witch_init",Tags:["gm4_pl_random_witch_init","gm4_lt_random_fire_resistance"]}
+summon area_effect_cloud ~ ~ ~ {Radius:0.0f,Particle:{type:"minecraft:block",block_state:"minecraft:air"},CustomName:"gm4_pl_random_witch_init",Tags:["gm4_pl_random_witch_init","gm4_lt_random_harming"]}
kill @e[type=area_effect_cloud,limit=3,distance=..1,tag=gm4_pl_random_witch_init,sort=random]
diff --git a/gm4_potion_liquids/data/gm4_potion_liquids/loot_table/lingering_floating_potion.json b/gm4_potion_liquids/data/gm4_potion_liquids/loot_table/lingering_floating_potion.json
index 84dd67c2f0..351b4385e6 100644
--- a/gm4_potion_liquids/data/gm4_potion_liquids/loot_table/lingering_floating_potion.json
+++ b/gm4_potion_liquids/data/gm4_potion_liquids/loot_table/lingering_floating_potion.json
@@ -21,7 +21,11 @@
}
]
},
- "minecraft:hide_additional_tooltip": {}
+ "minecraft:tooltip_display": {
+ "hidden_components": [
+ "minecraft:potion_contents"
+ ]
+ }
}
},
{
diff --git a/gm4_potion_swords/beet.yaml b/gm4_potion_swords/beet.yaml
index a6ac8f89f6..4570649cc8 100644
--- a/gm4_potion_swords/beet.yaml
+++ b/gm4_potion_swords/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_potion_swords
name: Potion Swords
-version: 1.6.X
+version: 1.7.X
data_pack:
load: .
diff --git a/gm4_potion_swords/data/gm4_potion_swords/function/assign_potion.mcfunction b/gm4_potion_swords/data/gm4_potion_swords/function/assign_potion.mcfunction
index 17d898ed60..c0a38e6baf 100644
--- a/gm4_potion_swords/data/gm4_potion_swords/function/assign_potion.mcfunction
+++ b/gm4_potion_swords/data/gm4_potion_swords/function/assign_potion.mcfunction
@@ -1,8 +1,8 @@
#@s = @a[score={gm4_gold_sword=1..}]
tag @s add gm4_gold_user
-execute at @s[nbt={Inventory:[{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:strong_healing"}}}]}] anchored eyes positioned ^ ^ ^2 run effect give @a[distance=..2.5,tag=!gm4_gold_user] absorption 8 1
-execute at @s[nbt={Inventory:[{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:strong_poison"}}}]}] anchored eyes positioned ^ ^ ^2 run function gm4_potion_swords:wither_potion
-execute at @s[nbt={Inventory:[{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:long_invisibility"}}}]}] anchored eyes positioned ^ ^ ^2 run effect give @a[distance=..2.5,tag=!gm4_gold_user] invisibility 8 0
-execute at @s[nbt={Inventory:[{id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:long_slowness"}}}]}] anchored eyes positioned ^ ^ ^2 run effect give @e[distance=..2.5,tag=!smithed.strict,tag=!gm4_gold_user] slowness 4 10
+execute if predicate gm4_potion_swords:holding/strong_healing at @s anchored eyes positioned ^ ^ ^2 run effect give @a[distance=..2.5,tag=!gm4_gold_user] absorption 8 1
+execute if predicate gm4_potion_swords:holding/strong_poison at @s anchored eyes positioned ^ ^ ^2 run function gm4_potion_swords:wither_potion
+execute if predicate gm4_potion_swords:holding/long_invisibility at @s anchored eyes positioned ^ ^ ^2 run effect give @a[distance=..2.5,tag=!gm4_gold_user] invisibility 8 0
+execute if predicate gm4_potion_swords:holding/long_slowness at @s anchored eyes positioned ^ ^ ^2 run effect give @e[distance=..2.5,tag=!smithed.strict,tag=!gm4_gold_user] slowness 4 10
tag @s remove gm4_gold_user
scoreboard players reset @a[scores={gm4_gold_sword=1..}] gm4_gold_sword
diff --git a/gm4_potion_swords/data/gm4_potion_swords/function/wither_transform.mcfunction b/gm4_potion_swords/data/gm4_potion_swords/function/wither_transform.mcfunction
index 3418eb161a..501ffb025e 100644
--- a/gm4_potion_swords/data/gm4_potion_swords/function/wither_transform.mcfunction
+++ b/gm4_potion_swords/data/gm4_potion_swords/function/wither_transform.mcfunction
@@ -1,7 +1,6 @@
#@s = @e[type=skeleton,nbt={active_effects:[{id:'minecraft:wither'}]}]
summon wither_skeleton ~ ~ ~ {active_effects:[{id:'minecraft:wither',amplifier:1,duration:20}],DeathLootTable:"gm4:empty"}
-data modify entity @e[type=wither_skeleton,limit=1,distance=0] ArmorItems set from entity @s ArmorItems
-data modify entity @e[type=wither_skeleton,limit=1,distance=0] HandItems set from entity @s HandItems
+data modify entity @e[type=wither_skeleton,limit=1,distance=0] equipment set from entity @s equipment
teleport @e[type=wither_skeleton,limit=1,distance=0] @s
data merge entity @s {DeathTime:19s,Health:0f,DeathLootTable:"gm4:empty"}
advancement grant @p[scores={gm4_gold_sword=1..}] only gm4:potion_swords
diff --git a/gm4_potion_swords/data/gm4_potion_swords/predicate/holding/long_invisibility.json b/gm4_potion_swords/data/gm4_potion_swords/predicate/holding/long_invisibility.json
new file mode 100644
index 0000000000..56113d1d3a
--- /dev/null
+++ b/gm4_potion_swords/data/gm4_potion_swords/predicate/holding/long_invisibility.json
@@ -0,0 +1,33 @@
+{
+ "condition": "minecraft:any_of",
+ "terms": [
+ {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "slots": {
+ "weapon.*": {
+ "items": "minecraft:potion",
+ "predicates": {
+ "minecraft:potion_contents": "minecraft:long_invisibility"
+ }
+ }
+ }
+ }
+ },
+ {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "slots": {
+ "inventory.*": {
+ "items": "minecraft:potion",
+ "predicates": {
+ "minecraft:potion_contents": "minecraft:long_invisibility"
+ }
+ }
+ }
+ }
+ }
+ ]
+}
diff --git a/gm4_potion_swords/data/gm4_potion_swords/predicate/holding/long_slowness.json b/gm4_potion_swords/data/gm4_potion_swords/predicate/holding/long_slowness.json
new file mode 100644
index 0000000000..f5e2c92e70
--- /dev/null
+++ b/gm4_potion_swords/data/gm4_potion_swords/predicate/holding/long_slowness.json
@@ -0,0 +1,33 @@
+{
+ "condition": "minecraft:any_of",
+ "terms": [
+ {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "slots": {
+ "weapon.*": {
+ "items": "minecraft:potion",
+ "predicates": {
+ "minecraft:potion_contents": "minecraft:long_slowness"
+ }
+ }
+ }
+ }
+ },
+ {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "slots": {
+ "inventory.*": {
+ "items": "minecraft:potion",
+ "predicates": {
+ "minecraft:potion_contents": "minecraft:long_slowness"
+ }
+ }
+ }
+ }
+ }
+ ]
+}
diff --git a/gm4_potion_swords/data/gm4_potion_swords/predicate/holding/strong_healing.json b/gm4_potion_swords/data/gm4_potion_swords/predicate/holding/strong_healing.json
new file mode 100644
index 0000000000..1f33dd0381
--- /dev/null
+++ b/gm4_potion_swords/data/gm4_potion_swords/predicate/holding/strong_healing.json
@@ -0,0 +1,33 @@
+{
+ "condition": "minecraft:any_of",
+ "terms": [
+ {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "slots": {
+ "weapon.*": {
+ "items": "minecraft:potion",
+ "predicates": {
+ "minecraft:potion_contents": "minecraft:strong_healing"
+ }
+ }
+ }
+ }
+ },
+ {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "slots": {
+ "inventory.*": {
+ "items": "minecraft:potion",
+ "predicates": {
+ "minecraft:potion_contents": "minecraft:strong_healing"
+ }
+ }
+ }
+ }
+ }
+ ]
+}
diff --git a/gm4_potion_swords/data/gm4_potion_swords/predicate/holding/strong_poison.json b/gm4_potion_swords/data/gm4_potion_swords/predicate/holding/strong_poison.json
new file mode 100644
index 0000000000..9205aed374
--- /dev/null
+++ b/gm4_potion_swords/data/gm4_potion_swords/predicate/holding/strong_poison.json
@@ -0,0 +1,33 @@
+{
+ "condition": "minecraft:any_of",
+ "terms": [
+ {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "slots": {
+ "weapon.*": {
+ "items": "minecraft:potion",
+ "predicates": {
+ "minecraft:potion_contents": "minecraft:strong_poison"
+ }
+ }
+ }
+ }
+ },
+ {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "slots": {
+ "inventory.*": {
+ "items": "minecraft:potion",
+ "predicates": {
+ "minecraft:potion_contents": "minecraft:strong_poison"
+ }
+ }
+ }
+ }
+ }
+ ]
+}
diff --git a/gm4_record_crafting/README.md b/gm4_record_crafting/README.md
deleted file mode 100644
index 9f7ed6baa1..0000000000
--- a/gm4_record_crafting/README.md
+++ /dev/null
@@ -1,9 +0,0 @@
-# Record Crafting
-
-If you don't want to farm creepers, this adds a way to craft music discs!
-
-
-
-### Features
-- Each disc can be crafted in a custom crafter using 8 Flint surrounding a single dye
-- Treasure music discs like Pigstep and Otherside can't be crafted
diff --git a/gm4_record_crafting/assets/translations.csv b/gm4_record_crafting/assets/translations.csv
deleted file mode 100644
index b17fd87fa4..0000000000
--- a/gm4_record_crafting/assets/translations.csv
+++ /dev/null
@@ -1,8 +0,0 @@
-key,en_us
-advancement.gm4.record_crafting.title,Getting Groovy
-advancement.gm4.record_crafting.description,Craft all 12 records yourself
-text.gm4.guidebook.module_desc.record_crafting,A crafting recipe pack that lets you craft all the records in a Custom Crafter.
-text.gm4.guidebook.record_crafting.description,Music Discs can be crafted with eight flint and a center item.
-text.gm4.guidebook.record_crafting.crafting,Records are crafted with a different center item:
-text.gm4.guidebook.record_crafting.items,Below is a list of items and their resulting disc:\n\nYellow Dye––------13\nGreen Dye—------Cat\nOrange Dye----Blocks\nRed Dye--------Chirp\nLime Dye---------Far
-text.gm4.guidebook.record_crafting.items_1,Purple Dye—–----Mall\nMagenta Dye---Mellohi\nBlack Dye—------Stal\nWhite Dye—-----Strad\nEye of Ender--- Ward\nCoal—------------11\nLight Blue Dye----Wait
diff --git a/gm4_record_crafting/beet.yaml b/gm4_record_crafting/beet.yaml
deleted file mode 100644
index 0ad1a227bb..0000000000
--- a/gm4_record_crafting/beet.yaml
+++ /dev/null
@@ -1,36 +0,0 @@
-id: gm4_record_crafting
-name: Record Crafting
-version: 1.4.X
-
-data_pack:
- load: .
-
-pipeline:
- - gm4.plugins.extend.module
- - gm4.plugins.include.lib_custom_crafters
-
-meta:
- gm4:
- versioning:
- required:
- lib_custom_crafters: 3.2.0
- model_data:
- - item: music_disc_13
- reference: gui/advancement/record_crafting
- template: advancement
- website:
- description: A crafting recipe pack that lets you craft all the records in a Custom Crafter.
- recommended:
- - gm4_standard_crafting
- notes: []
- modrinth:
- project_id: B0clnMBy
- video: https://www.youtube.com/watch?v=_GekIoefncg
- wiki: https://wiki.gm4.co/wiki/Record_Crafting
- credits:
- Creator:
- - Sparks
- Updated by:
- - Bloo
- Icon Design:
- - BPR
diff --git a/gm4_record_crafting/data/gm4/advancement/record_crafting.json b/gm4_record_crafting/data/gm4/advancement/record_crafting.json
deleted file mode 100644
index 67a53b0a73..0000000000
--- a/gm4_record_crafting/data/gm4/advancement/record_crafting.json
+++ /dev/null
@@ -1,132 +0,0 @@
-{
- "display": {
- "icon": {
- "id": "music_disc_13",
- "components": {
- "minecraft:custom_model_data": "gui/advancement/record_crafting"
- }
- },
- "title": {
- "translate": "advancement.gm4.record_crafting.title",
- "fallback": "Getting Groovy"
- },
- "description": {
- "translate": "advancement.gm4.record_crafting.description",
- "fallback": "Craft all 12 records yourself",
- "color": "gray"
- }
- },
- "parent": "gm4:custom_crafters",
- "criteria": {
- "craft_music_disc_11": {
- "trigger": "minecraft:recipe_crafted",
- "conditions": {
- "recipe_id": "gm4_record_crafting:music_disc_11"
- }
- },
- "craft_music_disc_13": {
- "trigger": "minecraft:recipe_crafted",
- "conditions": {
- "recipe_id": "gm4_record_crafting:music_disc_13"
- }
- },
- "craft_music_disc_blocks": {
- "trigger": "minecraft:recipe_crafted",
- "conditions": {
- "recipe_id": "gm4_record_crafting:music_disc_blocks"
- }
- },
- "craft_music_disc_cat": {
- "trigger": "minecraft:recipe_crafted",
- "conditions": {
- "recipe_id": "gm4_record_crafting:music_disc_cat"
- }
- },
- "craft_music_disc_chirp": {
- "trigger": "minecraft:recipe_crafted",
- "conditions": {
- "recipe_id": "gm4_record_crafting:music_disc_chirp"
- }
- },
- "craft_music_disc_far": {
- "trigger": "minecraft:recipe_crafted",
- "conditions": {
- "recipe_id": "gm4_record_crafting:music_disc_far"
- }
- },
- "craft_music_disc_mall": {
- "trigger": "minecraft:recipe_crafted",
- "conditions": {
- "recipe_id": "gm4_record_crafting:music_disc_mall"
- }
- },
- "craft_music_disc_mellohi": {
- "trigger": "minecraft:recipe_crafted",
- "conditions": {
- "recipe_id": "gm4_record_crafting:music_disc_mellohi"
- }
- },
- "craft_music_disc_stal": {
- "trigger": "minecraft:recipe_crafted",
- "conditions": {
- "recipe_id": "gm4_record_crafting:music_disc_stal"
- }
- },
- "craft_music_disc_strad": {
- "trigger": "minecraft:recipe_crafted",
- "conditions": {
- "recipe_id": "gm4_record_crafting:music_disc_strad"
- }
- },
- "craft_music_disc_wait": {
- "trigger": "minecraft:recipe_crafted",
- "conditions": {
- "recipe_id": "gm4_record_crafting:music_disc_wait"
- }
- },
- "craft_music_disc_ward": {
- "trigger": "minecraft:recipe_crafted",
- "conditions": {
- "recipe_id": "gm4_record_crafting:music_disc_ward"
- }
- }
- },
- "requirements": [
- [
- "craft_music_disc_11"
- ],
- [
- "craft_music_disc_13"
- ],
- [
- "craft_music_disc_blocks"
- ],
- [
- "craft_music_disc_cat"
- ],
- [
- "craft_music_disc_chirp"
- ],
- [
- "craft_music_disc_far"
- ],
- [
- "craft_music_disc_mall"
- ],
- [
- "craft_music_disc_mellohi"
- ],
- [
- "craft_music_disc_stal"
- ],
- [
- "craft_music_disc_strad"
- ],
- [
- "craft_music_disc_wait"
- ],
- [
- "craft_music_disc_ward"
- ]
- ]
-}
diff --git a/gm4_record_crafting/data/gm4_custom_crafters/tags/function/check_recipes.json b/gm4_record_crafting/data/gm4_custom_crafters/tags/function/check_recipes.json
deleted file mode 100644
index 6ba6f8fa8e..0000000000
--- a/gm4_record_crafting/data/gm4_custom_crafters/tags/function/check_recipes.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "values":[
- "gm4_record_crafting:check_recipes"
- ]
-
-}
diff --git a/gm4_record_crafting/data/gm4_record_crafting/advancement/recipes/music_disc_11.json b/gm4_record_crafting/data/gm4_record_crafting/advancement/recipes/music_disc_11.json
deleted file mode 100644
index 88b4034de2..0000000000
--- a/gm4_record_crafting/data/gm4_record_crafting/advancement/recipes/music_disc_11.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{
- "parent": "minecraft:recipes/root",
- "criteria": {
- "has_the_recipe": {
- "trigger": "minecraft:recipe_unlocked",
- "conditions": {
- "recipe": "gm4_record_crafting:music_disc_11"
- }
- },
- "has_materials": {
- "trigger": "minecraft:inventory_changed",
- "conditions": {
- "items": [
- {
- "items": [
- "minecraft:coal"
- ]
- }
- ]
- }
- }
- },
- "requirements": [
- [
- "has_the_recipe",
- "has_materials"
- ]
- ],
- "rewards": {
- "recipes": [
- "gm4_record_crafting:music_disc_11"
- ]
- }
-}
diff --git a/gm4_record_crafting/data/gm4_record_crafting/advancement/recipes/music_disc_13.json b/gm4_record_crafting/data/gm4_record_crafting/advancement/recipes/music_disc_13.json
deleted file mode 100644
index a3597e0885..0000000000
--- a/gm4_record_crafting/data/gm4_record_crafting/advancement/recipes/music_disc_13.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{
- "parent": "minecraft:recipes/root",
- "criteria": {
- "has_the_recipe": {
- "trigger": "minecraft:recipe_unlocked",
- "conditions": {
- "recipe": "gm4_record_crafting:music_disc_13"
- }
- },
- "has_materials": {
- "trigger": "minecraft:inventory_changed",
- "conditions": {
- "items": [
- {
- "items": [
- "minecraft:yellow_dye"
- ]
- }
- ]
- }
- }
- },
- "requirements": [
- [
- "has_the_recipe",
- "has_materials"
- ]
- ],
- "rewards": {
- "recipes": [
- "gm4_record_crafting:music_disc_13"
- ]
- }
-}
diff --git a/gm4_record_crafting/data/gm4_record_crafting/advancement/recipes/music_disc_blocks.json b/gm4_record_crafting/data/gm4_record_crafting/advancement/recipes/music_disc_blocks.json
deleted file mode 100644
index f199dbea99..0000000000
--- a/gm4_record_crafting/data/gm4_record_crafting/advancement/recipes/music_disc_blocks.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{
- "parent": "minecraft:recipes/root",
- "criteria": {
- "has_the_recipe": {
- "trigger": "minecraft:recipe_unlocked",
- "conditions": {
- "recipe": "gm4_record_crafting:music_disc_blocks"
- }
- },
- "has_materials": {
- "trigger": "minecraft:inventory_changed",
- "conditions": {
- "items": [
- {
- "items": [
- "minecraft:orange_dye"
- ]
- }
- ]
- }
- }
- },
- "requirements": [
- [
- "has_the_recipe",
- "has_materials"
- ]
- ],
- "rewards": {
- "recipes": [
- "gm4_record_crafting:music_disc_blocks"
- ]
- }
-}
diff --git a/gm4_record_crafting/data/gm4_record_crafting/advancement/recipes/music_disc_cat.json b/gm4_record_crafting/data/gm4_record_crafting/advancement/recipes/music_disc_cat.json
deleted file mode 100644
index d17b40b7ad..0000000000
--- a/gm4_record_crafting/data/gm4_record_crafting/advancement/recipes/music_disc_cat.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{
- "parent": "minecraft:recipes/root",
- "criteria": {
- "has_the_recipe": {
- "trigger": "minecraft:recipe_unlocked",
- "conditions": {
- "recipe": "gm4_record_crafting:music_disc_cat"
- }
- },
- "has_materials": {
- "trigger": "minecraft:inventory_changed",
- "conditions": {
- "items": [
- {
- "items": [
- "minecraft:green_dye"
- ]
- }
- ]
- }
- }
- },
- "requirements": [
- [
- "has_the_recipe",
- "has_materials"
- ]
- ],
- "rewards": {
- "recipes": [
- "gm4_record_crafting:music_disc_cat"
- ]
- }
-}
diff --git a/gm4_record_crafting/data/gm4_record_crafting/advancement/recipes/music_disc_chirp.json b/gm4_record_crafting/data/gm4_record_crafting/advancement/recipes/music_disc_chirp.json
deleted file mode 100644
index 3853fa9d78..0000000000
--- a/gm4_record_crafting/data/gm4_record_crafting/advancement/recipes/music_disc_chirp.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{
- "parent": "minecraft:recipes/root",
- "criteria": {
- "has_the_recipe": {
- "trigger": "minecraft:recipe_unlocked",
- "conditions": {
- "recipe": "gm4_record_crafting:music_disc_chirp"
- }
- },
- "has_materials": {
- "trigger": "minecraft:inventory_changed",
- "conditions": {
- "items": [
- {
- "items": [
- "minecraft:red_dye"
- ]
- }
- ]
- }
- }
- },
- "requirements": [
- [
- "has_the_recipe",
- "has_materials"
- ]
- ],
- "rewards": {
- "recipes": [
- "gm4_record_crafting:music_disc_chirp"
- ]
- }
-}
diff --git a/gm4_record_crafting/data/gm4_record_crafting/advancement/recipes/music_disc_far.json b/gm4_record_crafting/data/gm4_record_crafting/advancement/recipes/music_disc_far.json
deleted file mode 100644
index f62a63cbd4..0000000000
--- a/gm4_record_crafting/data/gm4_record_crafting/advancement/recipes/music_disc_far.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{
- "parent": "minecraft:recipes/root",
- "criteria": {
- "has_the_recipe": {
- "trigger": "minecraft:recipe_unlocked",
- "conditions": {
- "recipe": "gm4_record_crafting:music_disc_far"
- }
- },
- "has_materials": {
- "trigger": "minecraft:inventory_changed",
- "conditions": {
- "items": [
- {
- "items": [
- "minecraft:lime_dye"
- ]
- }
- ]
- }
- }
- },
- "requirements": [
- [
- "has_the_recipe",
- "has_materials"
- ]
- ],
- "rewards": {
- "recipes": [
- "gm4_record_crafting:music_disc_far"
- ]
- }
-}
diff --git a/gm4_record_crafting/data/gm4_record_crafting/advancement/recipes/music_disc_mall.json b/gm4_record_crafting/data/gm4_record_crafting/advancement/recipes/music_disc_mall.json
deleted file mode 100644
index d79399ab60..0000000000
--- a/gm4_record_crafting/data/gm4_record_crafting/advancement/recipes/music_disc_mall.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{
- "parent": "minecraft:recipes/root",
- "criteria": {
- "has_the_recipe": {
- "trigger": "minecraft:recipe_unlocked",
- "conditions": {
- "recipe": "gm4_record_crafting:music_disc_mall"
- }
- },
- "has_materials": {
- "trigger": "minecraft:inventory_changed",
- "conditions": {
- "items": [
- {
- "items": [
- "minecraft:purple_dye"
- ]
- }
- ]
- }
- }
- },
- "requirements": [
- [
- "has_the_recipe",
- "has_materials"
- ]
- ],
- "rewards": {
- "recipes": [
- "gm4_record_crafting:music_disc_mall"
- ]
- }
-}
diff --git a/gm4_record_crafting/data/gm4_record_crafting/advancement/recipes/music_disc_mellohi.json b/gm4_record_crafting/data/gm4_record_crafting/advancement/recipes/music_disc_mellohi.json
deleted file mode 100644
index c52d8cebd6..0000000000
--- a/gm4_record_crafting/data/gm4_record_crafting/advancement/recipes/music_disc_mellohi.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{
- "parent": "minecraft:recipes/root",
- "criteria": {
- "has_the_recipe": {
- "trigger": "minecraft:recipe_unlocked",
- "conditions": {
- "recipe": "gm4_record_crafting:music_disc_mellohi"
- }
- },
- "has_materials": {
- "trigger": "minecraft:inventory_changed",
- "conditions": {
- "items": [
- {
- "items": [
- "minecraft:magenta_dye"
- ]
- }
- ]
- }
- }
- },
- "requirements": [
- [
- "has_the_recipe",
- "has_materials"
- ]
- ],
- "rewards": {
- "recipes": [
- "gm4_record_crafting:music_disc_mellohi"
- ]
- }
-}
diff --git a/gm4_record_crafting/data/gm4_record_crafting/advancement/recipes/music_disc_stal.json b/gm4_record_crafting/data/gm4_record_crafting/advancement/recipes/music_disc_stal.json
deleted file mode 100644
index 950742e75f..0000000000
--- a/gm4_record_crafting/data/gm4_record_crafting/advancement/recipes/music_disc_stal.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{
- "parent": "minecraft:recipes/root",
- "criteria": {
- "has_the_recipe": {
- "trigger": "minecraft:recipe_unlocked",
- "conditions": {
- "recipe": "gm4_record_crafting:music_disc_stal"
- }
- },
- "has_materials": {
- "trigger": "minecraft:inventory_changed",
- "conditions": {
- "items": [
- {
- "items": [
- "minecraft:black_dye"
- ]
- }
- ]
- }
- }
- },
- "requirements": [
- [
- "has_the_recipe",
- "has_materials"
- ]
- ],
- "rewards": {
- "recipes": [
- "gm4_record_crafting:music_disc_stal"
- ]
- }
-}
diff --git a/gm4_record_crafting/data/gm4_record_crafting/advancement/recipes/music_disc_strad.json b/gm4_record_crafting/data/gm4_record_crafting/advancement/recipes/music_disc_strad.json
deleted file mode 100644
index 044644b0d1..0000000000
--- a/gm4_record_crafting/data/gm4_record_crafting/advancement/recipes/music_disc_strad.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{
- "parent": "minecraft:recipes/root",
- "criteria": {
- "has_the_recipe": {
- "trigger": "minecraft:recipe_unlocked",
- "conditions": {
- "recipe": "gm4_record_crafting:music_disc_strad"
- }
- },
- "has_materials": {
- "trigger": "minecraft:inventory_changed",
- "conditions": {
- "items": [
- {
- "items": [
- "minecraft:white_dye"
- ]
- }
- ]
- }
- }
- },
- "requirements": [
- [
- "has_the_recipe",
- "has_materials"
- ]
- ],
- "rewards": {
- "recipes": [
- "gm4_record_crafting:music_disc_strad"
- ]
- }
-}
diff --git a/gm4_record_crafting/data/gm4_record_crafting/advancement/recipes/music_disc_wait.json b/gm4_record_crafting/data/gm4_record_crafting/advancement/recipes/music_disc_wait.json
deleted file mode 100644
index 53096e857f..0000000000
--- a/gm4_record_crafting/data/gm4_record_crafting/advancement/recipes/music_disc_wait.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{
- "parent": "minecraft:recipes/root",
- "criteria": {
- "has_the_recipe": {
- "trigger": "minecraft:recipe_unlocked",
- "conditions": {
- "recipe": "gm4_record_crafting:music_disc_wait"
- }
- },
- "has_materials": {
- "trigger": "minecraft:inventory_changed",
- "conditions": {
- "items": [
- {
- "items": [
- "minecraft:light_blue_dye"
- ]
- }
- ]
- }
- }
- },
- "requirements": [
- [
- "has_the_recipe",
- "has_materials"
- ]
- ],
- "rewards": {
- "recipes": [
- "gm4_record_crafting:music_disc_wait"
- ]
- }
-}
diff --git a/gm4_record_crafting/data/gm4_record_crafting/advancement/recipes/music_disc_ward.json b/gm4_record_crafting/data/gm4_record_crafting/advancement/recipes/music_disc_ward.json
deleted file mode 100644
index b9bdbe5c59..0000000000
--- a/gm4_record_crafting/data/gm4_record_crafting/advancement/recipes/music_disc_ward.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{
- "parent": "minecraft:recipes/root",
- "criteria": {
- "has_the_recipe": {
- "trigger": "minecraft:recipe_unlocked",
- "conditions": {
- "recipe": "gm4_record_crafting:music_disc_ward"
- }
- },
- "has_materials": {
- "trigger": "minecraft:inventory_changed",
- "conditions": {
- "items": [
- {
- "items": [
- "minecraft:ender_eye"
- ]
- }
- ]
- }
- }
- },
- "requirements": [
- [
- "has_the_recipe",
- "has_materials"
- ]
- ],
- "rewards": {
- "recipes": [
- "gm4_record_crafting:music_disc_ward"
- ]
- }
-}
diff --git a/gm4_record_crafting/data/gm4_record_crafting/function/check_recipes.mcfunction b/gm4_record_crafting/data/gm4_record_crafting/function/check_recipes.mcfunction
deleted file mode 100644
index 10bafe1b27..0000000000
--- a/gm4_record_crafting/data/gm4_record_crafting/function/check_recipes.mcfunction
+++ /dev/null
@@ -1,20 +0,0 @@
-#@s = custom crafters with valid recipe format inside
-
-#recipes
-
-#records
-execute if score $crafted gm4_crafting matches 0 if score $slot_count gm4_crafting matches 9 if score $stack_size gm4_crafting matches ..1 if data storage gm4_custom_crafters:temp/crafter {Items:[{Slot:0b,id:"minecraft:flint"},{Slot:1b,id:"minecraft:flint"},{Slot:2b,id:"minecraft:flint"},{Slot:3b,id:"minecraft:flint"},{Slot:4b,id:"minecraft:yellow_dye"},{Slot:5b,id:"minecraft:flint"},{Slot:6b,id:"minecraft:flint"},{Slot:7b,id:"minecraft:flint"},{Slot:8b,id:"minecraft:flint"}]} run function gm4_record_crafting:recipes/13
-execute if score $crafted gm4_crafting matches 0 if score $slot_count gm4_crafting matches 9 if score $stack_size gm4_crafting matches ..1 if data storage gm4_custom_crafters:temp/crafter {Items:[{Slot:0b,id:"minecraft:flint"},{Slot:1b,id:"minecraft:flint"},{Slot:2b,id:"minecraft:flint"},{Slot:3b,id:"minecraft:flint"},{Slot:4b,id:"minecraft:green_dye"},{Slot:5b,id:"minecraft:flint"},{Slot:6b,id:"minecraft:flint"},{Slot:7b,id:"minecraft:flint"},{Slot:8b,id:"minecraft:flint"}]} run function gm4_record_crafting:recipes/cat
-execute if score $crafted gm4_crafting matches 0 if score $slot_count gm4_crafting matches 9 if score $stack_size gm4_crafting matches ..1 if data storage gm4_custom_crafters:temp/crafter {Items:[{Slot:0b,id:"minecraft:flint"},{Slot:1b,id:"minecraft:flint"},{Slot:2b,id:"minecraft:flint"},{Slot:3b,id:"minecraft:flint"},{Slot:4b,id:"minecraft:orange_dye"},{Slot:5b,id:"minecraft:flint"},{Slot:6b,id:"minecraft:flint"},{Slot:7b,id:"minecraft:flint"},{Slot:8b,id:"minecraft:flint"}]} run function gm4_record_crafting:recipes/blocks
-execute if score $crafted gm4_crafting matches 0 if score $slot_count gm4_crafting matches 9 if score $stack_size gm4_crafting matches ..1 if data storage gm4_custom_crafters:temp/crafter {Items:[{Slot:0b,id:"minecraft:flint"},{Slot:1b,id:"minecraft:flint"},{Slot:2b,id:"minecraft:flint"},{Slot:3b,id:"minecraft:flint"},{Slot:4b,id:"minecraft:red_dye"},{Slot:5b,id:"minecraft:flint"},{Slot:6b,id:"minecraft:flint"},{Slot:7b,id:"minecraft:flint"},{Slot:8b,id:"minecraft:flint"}]} run function gm4_record_crafting:recipes/chirp
-execute if score $crafted gm4_crafting matches 0 if score $slot_count gm4_crafting matches 9 if score $stack_size gm4_crafting matches ..1 if data storage gm4_custom_crafters:temp/crafter {Items:[{Slot:0b,id:"minecraft:flint"},{Slot:1b,id:"minecraft:flint"},{Slot:2b,id:"minecraft:flint"},{Slot:3b,id:"minecraft:flint"},{Slot:4b,id:"minecraft:lime_dye"},{Slot:5b,id:"minecraft:flint"},{Slot:6b,id:"minecraft:flint"},{Slot:7b,id:"minecraft:flint"},{Slot:8b,id:"minecraft:flint"}]} run function gm4_record_crafting:recipes/far
-execute if score $crafted gm4_crafting matches 0 if score $slot_count gm4_crafting matches 9 if score $stack_size gm4_crafting matches ..1 if data storage gm4_custom_crafters:temp/crafter {Items:[{Slot:0b,id:"minecraft:flint"},{Slot:1b,id:"minecraft:flint"},{Slot:2b,id:"minecraft:flint"},{Slot:3b,id:"minecraft:flint"},{Slot:4b,id:"minecraft:purple_dye"},{Slot:5b,id:"minecraft:flint"},{Slot:6b,id:"minecraft:flint"},{Slot:7b,id:"minecraft:flint"},{Slot:8b,id:"minecraft:flint"}]} run function gm4_record_crafting:recipes/mall
-execute if score $crafted gm4_crafting matches 0 if score $slot_count gm4_crafting matches 9 if score $stack_size gm4_crafting matches ..1 if data storage gm4_custom_crafters:temp/crafter {Items:[{Slot:0b,id:"minecraft:flint"},{Slot:1b,id:"minecraft:flint"},{Slot:2b,id:"minecraft:flint"},{Slot:3b,id:"minecraft:flint"},{Slot:4b,id:"minecraft:magenta_dye"},{Slot:5b,id:"minecraft:flint"},{Slot:6b,id:"minecraft:flint"},{Slot:7b,id:"minecraft:flint"},{Slot:8b,id:"minecraft:flint"}]} run function gm4_record_crafting:recipes/mellohi
-execute if score $crafted gm4_crafting matches 0 if score $slot_count gm4_crafting matches 9 if score $stack_size gm4_crafting matches ..1 if data storage gm4_custom_crafters:temp/crafter {Items:[{Slot:0b,id:"minecraft:flint"},{Slot:1b,id:"minecraft:flint"},{Slot:2b,id:"minecraft:flint"},{Slot:3b,id:"minecraft:flint"},{Slot:4b,id:"minecraft:black_dye"},{Slot:5b,id:"minecraft:flint"},{Slot:6b,id:"minecraft:flint"},{Slot:7b,id:"minecraft:flint"},{Slot:8b,id:"minecraft:flint"}]} run function gm4_record_crafting:recipes/stal
-execute if score $crafted gm4_crafting matches 0 if score $slot_count gm4_crafting matches 9 if score $stack_size gm4_crafting matches ..1 if data storage gm4_custom_crafters:temp/crafter {Items:[{Slot:0b,id:"minecraft:flint"},{Slot:1b,id:"minecraft:flint"},{Slot:2b,id:"minecraft:flint"},{Slot:3b,id:"minecraft:flint"},{Slot:4b,id:"minecraft:white_dye"},{Slot:5b,id:"minecraft:flint"},{Slot:6b,id:"minecraft:flint"},{Slot:7b,id:"minecraft:flint"},{Slot:8b,id:"minecraft:flint"}]} run function gm4_record_crafting:recipes/strad
-execute if score $crafted gm4_crafting matches 0 if score $slot_count gm4_crafting matches 9 if score $stack_size gm4_crafting matches ..1 if data storage gm4_custom_crafters:temp/crafter {Items:[{Slot:0b,id:"minecraft:flint"},{Slot:1b,id:"minecraft:flint"},{Slot:2b,id:"minecraft:flint"},{Slot:3b,id:"minecraft:flint"},{Slot:4b,id:"minecraft:ender_eye"},{Slot:5b,id:"minecraft:flint"},{Slot:6b,id:"minecraft:flint"},{Slot:7b,id:"minecraft:flint"},{Slot:8b,id:"minecraft:flint"}]} run function gm4_record_crafting:recipes/ward
-execute if score $crafted gm4_crafting matches 0 if score $slot_count gm4_crafting matches 9 if score $stack_size gm4_crafting matches ..1 if data storage gm4_custom_crafters:temp/crafter {Items:[{Slot:0b,id:"minecraft:flint"},{Slot:1b,id:"minecraft:flint"},{Slot:2b,id:"minecraft:flint"},{Slot:3b,id:"minecraft:flint"},{Slot:4b,id:"minecraft:coal"},{Slot:5b,id:"minecraft:flint"},{Slot:6b,id:"minecraft:flint"},{Slot:7b,id:"minecraft:flint"},{Slot:8b,id:"minecraft:flint"}]} run function gm4_record_crafting:recipes/11
-execute if score $crafted gm4_crafting matches 0 if score $slot_count gm4_crafting matches 9 if score $stack_size gm4_crafting matches ..1 if data storage gm4_custom_crafters:temp/crafter {Items:[{Slot:0b,id:"minecraft:flint"},{Slot:1b,id:"minecraft:flint"},{Slot:2b,id:"minecraft:flint"},{Slot:3b,id:"minecraft:flint"},{Slot:4b,id:"minecraft:light_blue_dye"},{Slot:5b,id:"minecraft:flint"},{Slot:6b,id:"minecraft:flint"},{Slot:7b,id:"minecraft:flint"},{Slot:8b,id:"minecraft:flint"}]} run function gm4_record_crafting:recipes/wait
-
-# grant advancement
-advancement grant @a[distance=..4,gamemode=!spectator,tag=gm4_crafted_record_13,tag=gm4_crafted_record_cat,tag=gm4_crafted_record_blocks,tag=gm4_crafted_record_chirp,tag=gm4_crafted_record_far,tag=gm4_crafted_record_mall,tag=gm4_crafted_record_mellohi,tag=gm4_crafted_record_stal,tag=gm4_crafted_record_strad,tag=gm4_crafted_record_ward,tag=gm4_crafted_record_11,tag=gm4_crafted_record_wait] only gm4:record_crafting
diff --git a/gm4_record_crafting/data/gm4_record_crafting/function/init.mcfunction b/gm4_record_crafting/data/gm4_record_crafting/function/init.mcfunction
deleted file mode 100644
index becca1f209..0000000000
--- a/gm4_record_crafting/data/gm4_record_crafting/function/init.mcfunction
+++ /dev/null
@@ -1,7 +0,0 @@
-execute unless score record_crafting gm4_modules matches 1 run data modify storage gm4:log queue append value {type:"install",module:"Record Crafting"}
-execute unless score record_crafting gm4_earliest_version < record_crafting gm4_modules run scoreboard players operation record_crafting gm4_earliest_version = record_crafting gm4_modules
-scoreboard players set record_crafting gm4_modules 1
-
-
-
-#$moduleUpdateList
diff --git a/gm4_record_crafting/data/gm4_record_crafting/function/recipes/11.mcfunction b/gm4_record_crafting/data/gm4_record_crafting/function/recipes/11.mcfunction
deleted file mode 100644
index 774694977a..0000000000
--- a/gm4_record_crafting/data/gm4_record_crafting/function/recipes/11.mcfunction
+++ /dev/null
@@ -1,9 +0,0 @@
-# called from gm4_record_crafting:check_recipes
-
-scoreboard players set $crafted gm4_crafting 1
-
-# place disc
-loot replace block ~ ~ ~ container.0 loot gm4_record_crafting:crafting/11
-
-# grant advancement criteria
-advancement grant @a[distance=..4,gamemode=!spectator] only gm4:record_crafting craft_music_disc_11
diff --git a/gm4_record_crafting/data/gm4_record_crafting/function/recipes/13.mcfunction b/gm4_record_crafting/data/gm4_record_crafting/function/recipes/13.mcfunction
deleted file mode 100644
index f605fac395..0000000000
--- a/gm4_record_crafting/data/gm4_record_crafting/function/recipes/13.mcfunction
+++ /dev/null
@@ -1,9 +0,0 @@
-# called from gm4_record_crafting:check_recipes
-
-scoreboard players set $crafted gm4_crafting 1
-
-# place disc
-loot replace block ~ ~ ~ container.0 loot gm4_record_crafting:crafting/13
-
-# grant advancement criteria
-advancement grant @a[distance=..4,gamemode=!spectator] only gm4:record_crafting craft_music_disc_13
diff --git a/gm4_record_crafting/data/gm4_record_crafting/function/recipes/blocks.mcfunction b/gm4_record_crafting/data/gm4_record_crafting/function/recipes/blocks.mcfunction
deleted file mode 100644
index 26d128a5db..0000000000
--- a/gm4_record_crafting/data/gm4_record_crafting/function/recipes/blocks.mcfunction
+++ /dev/null
@@ -1,9 +0,0 @@
-# called from gm4_record_crafting:check_recipes
-
-scoreboard players set $crafted gm4_crafting 1
-
-# place disc
-loot replace block ~ ~ ~ container.0 loot gm4_record_crafting:crafting/blocks
-
-# grant advancement criteria
-advancement grant @a[distance=..4,gamemode=!spectator] only gm4:record_crafting craft_music_disc_blocks
diff --git a/gm4_record_crafting/data/gm4_record_crafting/function/recipes/cat.mcfunction b/gm4_record_crafting/data/gm4_record_crafting/function/recipes/cat.mcfunction
deleted file mode 100644
index 1d941ba384..0000000000
--- a/gm4_record_crafting/data/gm4_record_crafting/function/recipes/cat.mcfunction
+++ /dev/null
@@ -1,9 +0,0 @@
-# called from gm4_record_crafting:check_recipes
-
-scoreboard players set $crafted gm4_crafting 1
-
-# place disc
-loot replace block ~ ~ ~ container.0 loot gm4_record_crafting:crafting/cat
-
-# grant advancement criteria
-advancement grant @a[distance=..4,gamemode=!spectator] only gm4:record_crafting craft_music_disc_cat
diff --git a/gm4_record_crafting/data/gm4_record_crafting/function/recipes/chirp.mcfunction b/gm4_record_crafting/data/gm4_record_crafting/function/recipes/chirp.mcfunction
deleted file mode 100644
index 8133e178f4..0000000000
--- a/gm4_record_crafting/data/gm4_record_crafting/function/recipes/chirp.mcfunction
+++ /dev/null
@@ -1,9 +0,0 @@
-# called from gm4_record_crafting:check_recipes
-
-scoreboard players set $crafted gm4_crafting 1
-
-# place disc
-loot replace block ~ ~ ~ container.0 loot gm4_record_crafting:crafting/chirp
-
-# grant advancement criteria
-advancement grant @a[distance=..4,gamemode=!spectator] only gm4:record_crafting craft_music_disc_chirp
diff --git a/gm4_record_crafting/data/gm4_record_crafting/function/recipes/far.mcfunction b/gm4_record_crafting/data/gm4_record_crafting/function/recipes/far.mcfunction
deleted file mode 100644
index c42484a572..0000000000
--- a/gm4_record_crafting/data/gm4_record_crafting/function/recipes/far.mcfunction
+++ /dev/null
@@ -1,9 +0,0 @@
-# called from gm4_record_crafting:check_recipes
-
-scoreboard players set $crafted gm4_crafting 1
-
-# place disc
-loot replace block ~ ~ ~ container.0 loot gm4_record_crafting:crafting/far
-
-# grant advancement criteria
-advancement grant @a[distance=..4,gamemode=!spectator] only gm4:record_crafting craft_music_disc_far
diff --git a/gm4_record_crafting/data/gm4_record_crafting/function/recipes/mall.mcfunction b/gm4_record_crafting/data/gm4_record_crafting/function/recipes/mall.mcfunction
deleted file mode 100644
index 3b0881343a..0000000000
--- a/gm4_record_crafting/data/gm4_record_crafting/function/recipes/mall.mcfunction
+++ /dev/null
@@ -1,9 +0,0 @@
-# called from gm4_record_crafting:check_recipes
-
-scoreboard players set $crafted gm4_crafting 1
-
-# place disc
-loot replace block ~ ~ ~ container.0 loot gm4_record_crafting:crafting/mall
-
-# grant advancement criteria
-advancement grant @a[distance=..4,gamemode=!spectator] only gm4:record_crafting craft_music_disc_mall
diff --git a/gm4_record_crafting/data/gm4_record_crafting/function/recipes/mellohi.mcfunction b/gm4_record_crafting/data/gm4_record_crafting/function/recipes/mellohi.mcfunction
deleted file mode 100644
index 4ce5e961db..0000000000
--- a/gm4_record_crafting/data/gm4_record_crafting/function/recipes/mellohi.mcfunction
+++ /dev/null
@@ -1,9 +0,0 @@
-# called from gm4_record_crafting:check_recipes
-
-scoreboard players set $crafted gm4_crafting 1
-
-# place disc
-loot replace block ~ ~ ~ container.0 loot gm4_record_crafting:crafting/mellohi
-
-# grant advancement criteria
-advancement grant @a[distance=..4,gamemode=!spectator] only gm4:record_crafting craft_music_disc_mellohi
diff --git a/gm4_record_crafting/data/gm4_record_crafting/function/recipes/stal.mcfunction b/gm4_record_crafting/data/gm4_record_crafting/function/recipes/stal.mcfunction
deleted file mode 100644
index 1e2c341aba..0000000000
--- a/gm4_record_crafting/data/gm4_record_crafting/function/recipes/stal.mcfunction
+++ /dev/null
@@ -1,9 +0,0 @@
-# called from gm4_record_crafting:check_recipes
-
-scoreboard players set $crafted gm4_crafting 1
-
-# place disc
-loot replace block ~ ~ ~ container.0 loot gm4_record_crafting:crafting/stal
-
-# grant advancement criteria
-advancement grant @a[distance=..4,gamemode=!spectator] only gm4:record_crafting craft_music_disc_stal
diff --git a/gm4_record_crafting/data/gm4_record_crafting/function/recipes/strad.mcfunction b/gm4_record_crafting/data/gm4_record_crafting/function/recipes/strad.mcfunction
deleted file mode 100644
index d0ee15c0d8..0000000000
--- a/gm4_record_crafting/data/gm4_record_crafting/function/recipes/strad.mcfunction
+++ /dev/null
@@ -1,9 +0,0 @@
-# called from gm4_record_crafting:check_recipes
-
-scoreboard players set $crafted gm4_crafting 1
-
-# place disc
-loot replace block ~ ~ ~ container.0 loot gm4_record_crafting:crafting/strad
-
-# grant advancement criteria
-advancement grant @a[distance=..4,gamemode=!spectator] only gm4:record_crafting craft_music_disc_strad
diff --git a/gm4_record_crafting/data/gm4_record_crafting/function/recipes/wait.mcfunction b/gm4_record_crafting/data/gm4_record_crafting/function/recipes/wait.mcfunction
deleted file mode 100644
index 1035502c80..0000000000
--- a/gm4_record_crafting/data/gm4_record_crafting/function/recipes/wait.mcfunction
+++ /dev/null
@@ -1,9 +0,0 @@
-# called from gm4_record_crafting:check_recipes
-
-scoreboard players set $crafted gm4_crafting 1
-
-# place disc
-loot replace block ~ ~ ~ container.0 loot gm4_record_crafting:crafting/wait
-
-# grant advancement criteria
-advancement grant @a[distance=..4,gamemode=!spectator] only gm4:record_crafting craft_music_disc_wait
diff --git a/gm4_record_crafting/data/gm4_record_crafting/function/recipes/ward.mcfunction b/gm4_record_crafting/data/gm4_record_crafting/function/recipes/ward.mcfunction
deleted file mode 100644
index 39fa7cf5c8..0000000000
--- a/gm4_record_crafting/data/gm4_record_crafting/function/recipes/ward.mcfunction
+++ /dev/null
@@ -1,9 +0,0 @@
-# called from gm4_record_crafting:check_recipes
-
-scoreboard players set $crafted gm4_crafting 1
-
-# place disc
-loot replace block ~ ~ ~ container.0 loot gm4_record_crafting:crafting/ward
-
-# grant advancement criteria
-advancement grant @a[distance=..4,gamemode=!spectator] only gm4:record_crafting craft_music_disc_ward
diff --git a/gm4_record_crafting/data/gm4_record_crafting/gm4_recipes/music_disc_11.json b/gm4_record_crafting/data/gm4_record_crafting/gm4_recipes/music_disc_11.json
deleted file mode 100644
index 24e2f62232..0000000000
--- a/gm4_record_crafting/data/gm4_record_crafting/gm4_recipes/music_disc_11.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "input": {
- "type": "shaped",
- "recipe": [
- "FFF",
- "FDF",
- "FFF"
- ],
- "key": {
- "F": {
- "item": "minecraft:flint"
- },
- "D": {
- "item": "minecraft:coal"
- }
- }
- },
- "output": {
- "result": {
- "type": "item",
- "name": "minecraft:music_disc_11",
- "count": 1
- }
- }
-}
diff --git a/gm4_record_crafting/data/gm4_record_crafting/gm4_recipes/music_disc_13.json b/gm4_record_crafting/data/gm4_record_crafting/gm4_recipes/music_disc_13.json
deleted file mode 100644
index 5e70412618..0000000000
--- a/gm4_record_crafting/data/gm4_record_crafting/gm4_recipes/music_disc_13.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "input": {
- "type": "shaped",
- "recipe": [
- "FFF",
- "FDF",
- "FFF"
- ],
- "key": {
- "F": {
- "item": "minecraft:flint"
- },
- "D": {
- "item": "minecraft:yellow_dye"
- }
- }
- },
- "output": {
- "result": {
- "type": "item",
- "name": "minecraft:music_disc_13",
- "count": 1
- }
- }
-}
diff --git a/gm4_record_crafting/data/gm4_record_crafting/gm4_recipes/music_disc_blocks.json b/gm4_record_crafting/data/gm4_record_crafting/gm4_recipes/music_disc_blocks.json
deleted file mode 100644
index 4d376be530..0000000000
--- a/gm4_record_crafting/data/gm4_record_crafting/gm4_recipes/music_disc_blocks.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "input": {
- "type": "shaped",
- "recipe": [
- "FFF",
- "FDF",
- "FFF"
- ],
- "key": {
- "F": {
- "item": "minecraft:flint"
- },
- "D": {
- "item": "minecraft:orange_dye"
- }
- }
- },
- "output": {
- "result": {
- "type": "item",
- "name": "minecraft:music_disc_blocks",
- "count": 1
- }
- }
-}
diff --git a/gm4_record_crafting/data/gm4_record_crafting/gm4_recipes/music_disc_cat.json b/gm4_record_crafting/data/gm4_record_crafting/gm4_recipes/music_disc_cat.json
deleted file mode 100644
index fbb46e1437..0000000000
--- a/gm4_record_crafting/data/gm4_record_crafting/gm4_recipes/music_disc_cat.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "input": {
- "type": "shaped",
- "recipe": [
- "FFF",
- "FDF",
- "FFF"
- ],
- "key": {
- "F": {
- "item": "minecraft:flint"
- },
- "D": {
- "item": "minecraft:green_dye"
- }
- }
- },
- "output": {
- "result": {
- "type": "item",
- "name": "minecraft:music_disc_cat",
- "count": 1
- }
- }
-}
diff --git a/gm4_record_crafting/data/gm4_record_crafting/gm4_recipes/music_disc_chirp.json b/gm4_record_crafting/data/gm4_record_crafting/gm4_recipes/music_disc_chirp.json
deleted file mode 100644
index 1765a38ea5..0000000000
--- a/gm4_record_crafting/data/gm4_record_crafting/gm4_recipes/music_disc_chirp.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "input": {
- "type": "shaped",
- "recipe": [
- "FFF",
- "FDF",
- "FFF"
- ],
- "key": {
- "F": {
- "item": "minecraft:flint"
- },
- "D": {
- "item": "minecraft:red_dye"
- }
- }
- },
- "output": {
- "result": {
- "type": "item",
- "name": "minecraft:music_disc_chirp",
- "count": 1
- }
- }
-}
diff --git a/gm4_record_crafting/data/gm4_record_crafting/gm4_recipes/music_disc_far.json b/gm4_record_crafting/data/gm4_record_crafting/gm4_recipes/music_disc_far.json
deleted file mode 100644
index a3a0c0ae96..0000000000
--- a/gm4_record_crafting/data/gm4_record_crafting/gm4_recipes/music_disc_far.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "input": {
- "type": "shaped",
- "recipe": [
- "FFF",
- "FDF",
- "FFF"
- ],
- "key": {
- "F": {
- "item": "minecraft:flint"
- },
- "D": {
- "item": "minecraft:lime_dye"
- }
- }
- },
- "output": {
- "result": {
- "type": "item",
- "name": "minecraft:music_disc_far",
- "count": 1
- }
- }
-}
diff --git a/gm4_record_crafting/data/gm4_record_crafting/gm4_recipes/music_disc_mall.json b/gm4_record_crafting/data/gm4_record_crafting/gm4_recipes/music_disc_mall.json
deleted file mode 100644
index 2c98203ce3..0000000000
--- a/gm4_record_crafting/data/gm4_record_crafting/gm4_recipes/music_disc_mall.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "input": {
- "type": "shaped",
- "recipe": [
- "FFF",
- "FDF",
- "FFF"
- ],
- "key": {
- "F": {
- "item": "minecraft:flint"
- },
- "D": {
- "item": "minecraft:purple_dye"
- }
- }
- },
- "output": {
- "result": {
- "type": "item",
- "name": "minecraft:music_disc_mall",
- "count": 1
- }
- }
-}
diff --git a/gm4_record_crafting/data/gm4_record_crafting/gm4_recipes/music_disc_mellohi.json b/gm4_record_crafting/data/gm4_record_crafting/gm4_recipes/music_disc_mellohi.json
deleted file mode 100644
index e819a53eb9..0000000000
--- a/gm4_record_crafting/data/gm4_record_crafting/gm4_recipes/music_disc_mellohi.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "input": {
- "type": "shaped",
- "recipe": [
- "FFF",
- "FDF",
- "FFF"
- ],
- "key": {
- "F": {
- "item": "minecraft:flint"
- },
- "D": {
- "item": "minecraft:magenta_dye"
- }
- }
- },
- "output": {
- "result": {
- "type": "item",
- "name": "minecraft:music_disc_mellohi",
- "count": 1
- }
- }
-}
diff --git a/gm4_record_crafting/data/gm4_record_crafting/gm4_recipes/music_disc_stal.json b/gm4_record_crafting/data/gm4_record_crafting/gm4_recipes/music_disc_stal.json
deleted file mode 100644
index c47bc8d8a0..0000000000
--- a/gm4_record_crafting/data/gm4_record_crafting/gm4_recipes/music_disc_stal.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "input": {
- "type": "shaped",
- "recipe": [
- "FFF",
- "FDF",
- "FFF"
- ],
- "key": {
- "F": {
- "item": "minecraft:flint"
- },
- "D": {
- "item": "minecraft:black_dye"
- }
- }
- },
- "output": {
- "result": {
- "type": "item",
- "name": "minecraft:music_disc_stal",
- "count": 1
- }
- }
-}
diff --git a/gm4_record_crafting/data/gm4_record_crafting/gm4_recipes/music_disc_strad.json b/gm4_record_crafting/data/gm4_record_crafting/gm4_recipes/music_disc_strad.json
deleted file mode 100644
index 5de0af0844..0000000000
--- a/gm4_record_crafting/data/gm4_record_crafting/gm4_recipes/music_disc_strad.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "input": {
- "type": "shaped",
- "recipe": [
- "FFF",
- "FDF",
- "FFF"
- ],
- "key": {
- "F": {
- "item": "minecraft:flint"
- },
- "D": {
- "item": "minecraft:white_dye"
- }
- }
- },
- "output": {
- "result": {
- "type": "item",
- "name": "minecraft:music_disc_strad",
- "count": 1
- }
- }
-}
diff --git a/gm4_record_crafting/data/gm4_record_crafting/gm4_recipes/music_disc_wait.json b/gm4_record_crafting/data/gm4_record_crafting/gm4_recipes/music_disc_wait.json
deleted file mode 100644
index 5ab87c5af9..0000000000
--- a/gm4_record_crafting/data/gm4_record_crafting/gm4_recipes/music_disc_wait.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "input": {
- "type": "shaped",
- "recipe": [
- "FFF",
- "FDF",
- "FFF"
- ],
- "key": {
- "F": {
- "item": "minecraft:flint"
- },
- "D": {
- "item": "minecraft:light_blue_dye"
- }
- }
- },
- "output": {
- "result": {
- "type": "item",
- "name": "minecraft:music_disc_wait",
- "count": 1
- }
- }
-}
diff --git a/gm4_record_crafting/data/gm4_record_crafting/gm4_recipes/music_disc_ward.json b/gm4_record_crafting/data/gm4_record_crafting/gm4_recipes/music_disc_ward.json
deleted file mode 100644
index 8ea83d244a..0000000000
--- a/gm4_record_crafting/data/gm4_record_crafting/gm4_recipes/music_disc_ward.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "input": {
- "type": "shaped",
- "recipe": [
- "FFF",
- "FDF",
- "FFF"
- ],
- "key": {
- "F": {
- "item": "minecraft:flint"
- },
- "D": {
- "item": "minecraft:ender_eye"
- }
- }
- },
- "output": {
- "result": {
- "type": "item",
- "name": "minecraft:music_disc_ward",
- "count": 1
- }
- }
-}
diff --git a/gm4_record_crafting/data/gm4_record_crafting/guidebook/record_crafting.json b/gm4_record_crafting/data/gm4_record_crafting/guidebook/record_crafting.json
deleted file mode 100644
index c370f2ee41..0000000000
--- a/gm4_record_crafting/data/gm4_record_crafting/guidebook/record_crafting.json
+++ /dev/null
@@ -1,96 +0,0 @@
-{
- "id": "record_crafting",
- "name": "Record Crafting",
- "module_type": "expansion",
- "base_module": "custom_crafters",
- "icon": {
- "id": "minecraft:music_disc_11"
- },
- "criteria": {
- "open_custom_crafter": {
- "trigger": "minecraft:default_block_use",
- "conditions": {
- "location": [
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "block": {
- "blocks": [
- "minecraft:dropper"
- ],
- "nbt": "{CustomName:'{\"translate\":\"gm4.second\",\"fallback\":\"%1$s\",\"with\":[{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\"},{\"text\":\" \",\"extra\":[{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:offscreen\"},{\"translate\":\"gui.gm4.custom_crafter\",\"fallback\":\"\",\"font\":\"gm4:container_gui\",\"color\":\"white\"},{\"text\":\" \",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:default\",\"color\":\"#404040\"}],\"font\":\"gm4:half_invert\"}]}'}"
- }
- }
- }
- ]
- }
- },
- "obtain_flint": {
- "trigger": "minecraft:inventory_changed",
- "conditions": {
- "items": [
- {
- "items": [
- "minecraft:flint"
- ]
- }
- ]
- }
- }
- },
- "sections": [
- {
- "name": "description",
- "enable": [],
- "requirements": [],
- "pages": [
- [
- {
- "insert": "title"
- },
- {
- "translate": "text.gm4.guidebook.record_crafting.description",
- "fallback": "Music Discs can be crafted with eight flint and a center item."
- }
- ]
- ]
- },
- {
- "name": "crafting",
- "enable": [],
- "requirements": [
- [
- "open_custom_crafter"
- ],
- [
- "obtain_flint"
- ]
- ],
- "pages": [
- [
- {
- "translate": "text.gm4.guidebook.record_crafting.crafting",
- "fallback": "Records are crafted with a different center item:"
- },
- "\n",
- {
- "insert": "recipe",
- "recipe": "gm4_record_crafting:music_disc_cat"
- }
- ],
- [
- {
- "translate": "text.gm4.guidebook.record_crafting.items",
- "fallback": "Below is a list of items and their resulting disc:\n\nYellow Dye––------13\nGreen Dye—------Cat\nOrange Dye----Blocks\nRed Dye--------Chirp\nLime Dye---------Far"
- }
- ],
- [
- {
- "translate": "text.gm4.guidebook.record_crafting.items_1",
- "fallback": "Purple Dye—–----Mall\nMagenta Dye---Mellohi\nBlack Dye—------Stal\nWhite Dye—-----Strad\nEye of Ender--- Ward\nCoal—------------11\nLight Blue Dye----Wait"
- }
- ]
- ]
- }
- ]
-}
diff --git a/gm4_record_crafting/data/gm4_record_crafting/loot_table/crafting/11.json b/gm4_record_crafting/data/gm4_record_crafting/loot_table/crafting/11.json
deleted file mode 100644
index 16f1191b64..0000000000
--- a/gm4_record_crafting/data/gm4_record_crafting/loot_table/crafting/11.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 8,
- "entries": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4:air"
- }
- ]
- },
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:music_disc_11",
- "functions": [
- {
- "function": "minecraft:set_count",
- "count": 1
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_record_crafting/data/gm4_record_crafting/loot_table/crafting/13.json b/gm4_record_crafting/data/gm4_record_crafting/loot_table/crafting/13.json
deleted file mode 100644
index 3b0d3431fe..0000000000
--- a/gm4_record_crafting/data/gm4_record_crafting/loot_table/crafting/13.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 8,
- "entries": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4:air"
- }
- ]
- },
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:music_disc_13",
- "functions": [
- {
- "function": "minecraft:set_count",
- "count": 1
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_record_crafting/data/gm4_record_crafting/loot_table/crafting/blocks.json b/gm4_record_crafting/data/gm4_record_crafting/loot_table/crafting/blocks.json
deleted file mode 100644
index 0d7426590c..0000000000
--- a/gm4_record_crafting/data/gm4_record_crafting/loot_table/crafting/blocks.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 8,
- "entries": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4:air"
- }
- ]
- },
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:music_disc_blocks",
- "functions": [
- {
- "function": "minecraft:set_count",
- "count": 1
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_record_crafting/data/gm4_record_crafting/loot_table/crafting/cat.json b/gm4_record_crafting/data/gm4_record_crafting/loot_table/crafting/cat.json
deleted file mode 100644
index 62026354f5..0000000000
--- a/gm4_record_crafting/data/gm4_record_crafting/loot_table/crafting/cat.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 8,
- "entries": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4:air"
- }
- ]
- },
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:music_disc_cat",
- "functions": [
- {
- "function": "minecraft:set_count",
- "count": 1
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_record_crafting/data/gm4_record_crafting/loot_table/crafting/chirp.json b/gm4_record_crafting/data/gm4_record_crafting/loot_table/crafting/chirp.json
deleted file mode 100644
index 6ce9c365ec..0000000000
--- a/gm4_record_crafting/data/gm4_record_crafting/loot_table/crafting/chirp.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 8,
- "entries": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4:air"
- }
- ]
- },
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:music_disc_chirp",
- "functions": [
- {
- "function": "minecraft:set_count",
- "count": 1
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_record_crafting/data/gm4_record_crafting/loot_table/crafting/far.json b/gm4_record_crafting/data/gm4_record_crafting/loot_table/crafting/far.json
deleted file mode 100644
index e804de4885..0000000000
--- a/gm4_record_crafting/data/gm4_record_crafting/loot_table/crafting/far.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 8,
- "entries": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4:air"
- }
- ]
- },
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:music_disc_far",
- "functions": [
- {
- "function": "minecraft:set_count",
- "count": 1
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_record_crafting/data/gm4_record_crafting/loot_table/crafting/mall.json b/gm4_record_crafting/data/gm4_record_crafting/loot_table/crafting/mall.json
deleted file mode 100644
index 3d07e46391..0000000000
--- a/gm4_record_crafting/data/gm4_record_crafting/loot_table/crafting/mall.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 8,
- "entries": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4:air"
- }
- ]
- },
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:music_disc_mall",
- "functions": [
- {
- "function": "minecraft:set_count",
- "count": 1
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_record_crafting/data/gm4_record_crafting/loot_table/crafting/mellohi.json b/gm4_record_crafting/data/gm4_record_crafting/loot_table/crafting/mellohi.json
deleted file mode 100644
index 49bf8d7159..0000000000
--- a/gm4_record_crafting/data/gm4_record_crafting/loot_table/crafting/mellohi.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 8,
- "entries": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4:air"
- }
- ]
- },
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:music_disc_mellohi",
- "functions": [
- {
- "function": "minecraft:set_count",
- "count": 1
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_record_crafting/data/gm4_record_crafting/loot_table/crafting/stal.json b/gm4_record_crafting/data/gm4_record_crafting/loot_table/crafting/stal.json
deleted file mode 100644
index 2ccf4c3876..0000000000
--- a/gm4_record_crafting/data/gm4_record_crafting/loot_table/crafting/stal.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 8,
- "entries": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4:air"
- }
- ]
- },
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:music_disc_stal",
- "functions": [
- {
- "function": "minecraft:set_count",
- "count": 1
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_record_crafting/data/gm4_record_crafting/loot_table/crafting/strad.json b/gm4_record_crafting/data/gm4_record_crafting/loot_table/crafting/strad.json
deleted file mode 100644
index 12749e733e..0000000000
--- a/gm4_record_crafting/data/gm4_record_crafting/loot_table/crafting/strad.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 8,
- "entries": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4:air"
- }
- ]
- },
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:music_disc_strad",
- "functions": [
- {
- "function": "minecraft:set_count",
- "count": 1
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_record_crafting/data/gm4_record_crafting/loot_table/crafting/wait.json b/gm4_record_crafting/data/gm4_record_crafting/loot_table/crafting/wait.json
deleted file mode 100644
index d0c78c001f..0000000000
--- a/gm4_record_crafting/data/gm4_record_crafting/loot_table/crafting/wait.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 8,
- "entries": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4:air"
- }
- ]
- },
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:music_disc_wait",
- "functions": [
- {
- "function": "minecraft:set_count",
- "count": 1
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_record_crafting/data/gm4_record_crafting/loot_table/crafting/ward.json b/gm4_record_crafting/data/gm4_record_crafting/loot_table/crafting/ward.json
deleted file mode 100644
index 5b89f084ff..0000000000
--- a/gm4_record_crafting/data/gm4_record_crafting/loot_table/crafting/ward.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 8,
- "entries": [
- {
- "type": "minecraft:loot_table",
- "value": "gm4:air"
- }
- ]
- },
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:music_disc_ward",
- "functions": [
- {
- "function": "minecraft:set_count",
- "count": 1
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_record_crafting/data/gm4_record_crafting/recipe/music_disc_11.json b/gm4_record_crafting/data/gm4_record_crafting/recipe/music_disc_11.json
deleted file mode 100644
index 57572960e5..0000000000
--- a/gm4_record_crafting/data/gm4_record_crafting/recipe/music_disc_11.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "type": "minecraft:crafting_shaped",
- "category": "misc",
- "pattern": [
- "FFF",
- "FDF",
- "FFF"
- ],
- "key": {
- "F": "minecraft:flint",
- "D": "minecraft:coal"
- },
- "result": {
- "id": "minecraft:music_disc_11"
- }
-}
diff --git a/gm4_record_crafting/data/gm4_record_crafting/recipe/music_disc_13.json b/gm4_record_crafting/data/gm4_record_crafting/recipe/music_disc_13.json
deleted file mode 100644
index 91047c7c38..0000000000
--- a/gm4_record_crafting/data/gm4_record_crafting/recipe/music_disc_13.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "type": "minecraft:crafting_shaped",
- "category": "misc",
- "pattern": [
- "FFF",
- "FDF",
- "FFF"
- ],
- "key": {
- "F": "minecraft:flint",
- "D": "minecraft:yellow_dye"
- },
- "result": {
- "id": "minecraft:music_disc_13"
- }
-}
diff --git a/gm4_record_crafting/data/gm4_record_crafting/recipe/music_disc_blocks.json b/gm4_record_crafting/data/gm4_record_crafting/recipe/music_disc_blocks.json
deleted file mode 100644
index 8e50467eb1..0000000000
--- a/gm4_record_crafting/data/gm4_record_crafting/recipe/music_disc_blocks.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "type": "minecraft:crafting_shaped",
- "category": "misc",
- "pattern": [
- "FFF",
- "FDF",
- "FFF"
- ],
- "key": {
- "F": "minecraft:flint",
- "D": "minecraft:orange_dye"
- },
- "result": {
- "id": "minecraft:music_disc_blocks"
- }
-}
diff --git a/gm4_record_crafting/data/gm4_record_crafting/recipe/music_disc_cat.json b/gm4_record_crafting/data/gm4_record_crafting/recipe/music_disc_cat.json
deleted file mode 100644
index 870d955cc1..0000000000
--- a/gm4_record_crafting/data/gm4_record_crafting/recipe/music_disc_cat.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "type": "minecraft:crafting_shaped",
- "category": "misc",
- "pattern": [
- "FFF",
- "FDF",
- "FFF"
- ],
- "key": {
- "F": "minecraft:flint",
- "D": "minecraft:green_dye"
- },
- "result": {
- "id": "minecraft:music_disc_cat"
- }
-}
diff --git a/gm4_record_crafting/data/gm4_record_crafting/recipe/music_disc_chirp.json b/gm4_record_crafting/data/gm4_record_crafting/recipe/music_disc_chirp.json
deleted file mode 100644
index 9e602731a2..0000000000
--- a/gm4_record_crafting/data/gm4_record_crafting/recipe/music_disc_chirp.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "type": "minecraft:crafting_shaped",
- "category": "misc",
- "pattern": [
- "FFF",
- "FDF",
- "FFF"
- ],
- "key": {
- "F": "minecraft:flint",
- "D": "minecraft:red_dye"
- },
- "result": {
- "id": "minecraft:music_disc_chirp"
- }
-}
diff --git a/gm4_record_crafting/data/gm4_record_crafting/recipe/music_disc_far.json b/gm4_record_crafting/data/gm4_record_crafting/recipe/music_disc_far.json
deleted file mode 100644
index 28a074523c..0000000000
--- a/gm4_record_crafting/data/gm4_record_crafting/recipe/music_disc_far.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "type": "minecraft:crafting_shaped",
- "category": "misc",
- "pattern": [
- "FFF",
- "FDF",
- "FFF"
- ],
- "key": {
- "F": "minecraft:flint",
- "D": "minecraft:lime_dye"
- },
- "result": {
- "id": "minecraft:music_disc_far"
- }
-}
diff --git a/gm4_record_crafting/data/gm4_record_crafting/recipe/music_disc_mall.json b/gm4_record_crafting/data/gm4_record_crafting/recipe/music_disc_mall.json
deleted file mode 100644
index 639ad14733..0000000000
--- a/gm4_record_crafting/data/gm4_record_crafting/recipe/music_disc_mall.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "type": "minecraft:crafting_shaped",
- "category": "misc",
- "pattern": [
- "FFF",
- "FDF",
- "FFF"
- ],
- "key": {
- "F": "minecraft:flint",
- "D": "minecraft:purple_dye"
- },
- "result": {
- "id": "minecraft:music_disc_mall"
- }
-}
diff --git a/gm4_record_crafting/data/gm4_record_crafting/recipe/music_disc_mellohi.json b/gm4_record_crafting/data/gm4_record_crafting/recipe/music_disc_mellohi.json
deleted file mode 100644
index d4f02a6c88..0000000000
--- a/gm4_record_crafting/data/gm4_record_crafting/recipe/music_disc_mellohi.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "type": "minecraft:crafting_shaped",
- "category": "misc",
- "pattern": [
- "FFF",
- "FDF",
- "FFF"
- ],
- "key": {
- "F": "minecraft:flint",
- "D": "minecraft:magenta_dye"
- },
- "result": {
- "id": "minecraft:music_disc_mellohi"
- }
-}
diff --git a/gm4_record_crafting/data/gm4_record_crafting/recipe/music_disc_stal.json b/gm4_record_crafting/data/gm4_record_crafting/recipe/music_disc_stal.json
deleted file mode 100644
index b217b9148e..0000000000
--- a/gm4_record_crafting/data/gm4_record_crafting/recipe/music_disc_stal.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "type": "minecraft:crafting_shaped",
- "category": "misc",
- "pattern": [
- "FFF",
- "FDF",
- "FFF"
- ],
- "key": {
- "F": "minecraft:flint",
- "D": "minecraft:black_dye"
- },
- "result": {
- "id": "minecraft:music_disc_stal"
- }
-}
diff --git a/gm4_record_crafting/data/gm4_record_crafting/recipe/music_disc_strad.json b/gm4_record_crafting/data/gm4_record_crafting/recipe/music_disc_strad.json
deleted file mode 100644
index 52c8b2acb2..0000000000
--- a/gm4_record_crafting/data/gm4_record_crafting/recipe/music_disc_strad.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "type": "minecraft:crafting_shaped",
- "category": "misc",
- "pattern": [
- "FFF",
- "FDF",
- "FFF"
- ],
- "key": {
- "F": "minecraft:flint",
- "D": "minecraft:white_dye"
- },
- "result": {
- "id": "minecraft:music_disc_strad"
- }
-}
diff --git a/gm4_record_crafting/data/gm4_record_crafting/recipe/music_disc_wait.json b/gm4_record_crafting/data/gm4_record_crafting/recipe/music_disc_wait.json
deleted file mode 100644
index 3e0c6aeec9..0000000000
--- a/gm4_record_crafting/data/gm4_record_crafting/recipe/music_disc_wait.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "type": "minecraft:crafting_shaped",
- "category": "misc",
- "pattern": [
- "FFF",
- "FDF",
- "FFF"
- ],
- "key": {
- "F": "minecraft:flint",
- "D": "minecraft:light_blue_dye"
- },
- "result": {
- "id": "minecraft:music_disc_wait"
- }
-}
diff --git a/gm4_record_crafting/data/gm4_record_crafting/recipe/music_disc_ward.json b/gm4_record_crafting/data/gm4_record_crafting/recipe/music_disc_ward.json
deleted file mode 100644
index 7515244e59..0000000000
--- a/gm4_record_crafting/data/gm4_record_crafting/recipe/music_disc_ward.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "type": "minecraft:crafting_shaped",
- "category": "misc",
- "pattern": [
- "FFF",
- "FDF",
- "FFF"
- ],
- "key": {
- "F": "minecraft:flint",
- "D": "minecraft:ender_eye"
- },
- "result": {
- "id": "minecraft:music_disc_ward"
- }
-}
diff --git a/gm4_record_crafting/data/gm4_record_crafting/tags/function/load.json b/gm4_record_crafting/data/gm4_record_crafting/tags/function/load.json
deleted file mode 100644
index 14c797e934..0000000000
--- a/gm4_record_crafting/data/gm4_record_crafting/tags/function/load.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "values": [
- "gm4_record_crafting:load"
- ]
-}
diff --git a/gm4_record_crafting/data/gm4_record_crafting/test/craft_music_disc_13.mcfunction b/gm4_record_crafting/data/gm4_record_crafting/test/craft_music_disc_13.mcfunction
deleted file mode 100644
index b610c7baee..0000000000
--- a/gm4_record_crafting/data/gm4_record_crafting/test/craft_music_disc_13.mcfunction
+++ /dev/null
@@ -1,13 +0,0 @@
-# @template gm4_custom_crafters:test_platform
-
-item replace block ~1 ~1 ~1 container.0 with flint
-item replace block ~1 ~1 ~1 container.1 with flint
-item replace block ~1 ~1 ~1 container.2 with flint
-item replace block ~1 ~1 ~1 container.3 with flint
-item replace block ~1 ~1 ~1 container.4 with yellow_dye
-item replace block ~1 ~1 ~1 container.5 with flint
-item replace block ~1 ~1 ~1 container.6 with flint
-item replace block ~1 ~1 ~1 container.7 with flint
-item replace block ~1 ~1 ~1 container.8 with flint
-
-await items block ~1 ~1 ~1 container.* minecraft:music_disc_13
diff --git a/gm4_record_crafting/images/record_crafting.webp b/gm4_record_crafting/images/record_crafting.webp
deleted file mode 100644
index 64be72826f..0000000000
Binary files a/gm4_record_crafting/images/record_crafting.webp and /dev/null differ
diff --git a/gm4_record_crafting/pack.png b/gm4_record_crafting/pack.png
deleted file mode 100644
index 9193218708..0000000000
Binary files a/gm4_record_crafting/pack.png and /dev/null differ
diff --git a/gm4_record_crafting/pack.svg b/gm4_record_crafting/pack.svg
deleted file mode 100644
index acf7542d2f..0000000000
--- a/gm4_record_crafting/pack.svg
+++ /dev/null
@@ -1,51 +0,0 @@
-
-
-
diff --git a/gm4_relocators/beet.yaml b/gm4_relocators/beet.yaml
index 1a6a6c77fb..ae079def03 100644
--- a/gm4_relocators/beet.yaml
+++ b/gm4_relocators/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_relocators
name: Relocators
-version: 2.4.X
+version: 2.5.X
data_pack:
load: .
@@ -17,8 +17,8 @@ meta:
gm4:
versioning:
required:
- lib_machines: 1.3.0
- lib_custom_crafters: 3.2.0
+ lib_machines: 1.4.0
+ lib_custom_crafters: 3.4.0
model_data:
- item: player_head
reference: item/relocator_empty
@@ -40,7 +40,6 @@ meta:
- gm4_ender_hoppers
- gm4_liquid_tanks
- gm4_smelteries
- - gm4_tinkering_compressors
notes: []
modrinth:
project_id: FdwwppEn
diff --git a/gm4_relocators/data/gm4_custom_crafters/function/relocate/place_down.mcfunction b/gm4_relocators/data/gm4_custom_crafters/function/relocate/place_down.mcfunction
index 25785dfe3c..84eab3133b 100644
--- a/gm4_relocators/data/gm4_custom_crafters/function/relocate/place_down.mcfunction
+++ b/gm4_relocators/data/gm4_custom_crafters/function/relocate/place_down.mcfunction
@@ -7,5 +7,5 @@ execute if block ~ ~ ~ command_block[facing=south] run setblock ~ ~ ~ dropper[fa
execute if block ~ ~ ~ command_block[facing=north] run setblock ~ ~ ~ dropper[facing=south]
execute if block ~ ~ ~ command_block[facing=down] run setblock ~ ~ ~ dropper[facing=up]
-data merge block ~ ~ ~ {CustomName:'{"translate":"block.gm4.custom_crafter","fallback":"Custom Crafter"}'}
-summon armor_stand ~ ~-.4 ~ {Small:1b,NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,DisabledSlots:2039552,Tags:["gm4_no_edit","gm4_custom_crafter"],HasVisualFire:1b,CustomName:'"gm4_custom_crafter"',ArmorItems:[{},{},{},{id:"crafting_table",count:1,components:{"mninecraft:custom_model_data":"gm4_custom_crafters:block/custom_crafter"}}]}
+data merge block ~ ~ ~ {CustomName:{"translate":"block.gm4.custom_crafter","fallback":"Custom Crafter"}}
+summon armor_stand ~ ~-.4 ~ {Small:1b,NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,DisabledSlots:2039552,Tags:["gm4_no_edit","gm4_custom_crafter"],HasVisualFire:1b,CustomName:"gm4_custom_crafter",equipment:{head:{id:"crafting_table",count:1,components:{"mninecraft:custom_model_data":"gm4_custom_crafters:block/custom_crafter"}}}}
diff --git a/gm4_relocators/data/gm4_relocators/function/backwards_compatibility/place_down/find_command_block.mcfunction b/gm4_relocators/data/gm4_relocators/function/backwards_compatibility/place_down/find_command_block.mcfunction
index 4cde670c3d..c0e0e3bd49 100644
--- a/gm4_relocators/data/gm4_relocators/function/backwards_compatibility/place_down/find_command_block.mcfunction
+++ b/gm4_relocators/data/gm4_relocators/function/backwards_compatibility/place_down/find_command_block.mcfunction
@@ -3,4 +3,4 @@
tp @s ^ ^ ^0.01
scoreboard players add fill_counter gm4_rl_data 1
-execute unless score fill_counter gm4_rl_data matches 500.. unless block ~ ~ ~ command_block{CustomName:'{"text":"Relocated Block"}'} at @s run function gm4_relocators:backwards_compatibility/place_down/find_command_block
+execute unless score fill_counter gm4_rl_data matches 500.. unless block ~ ~ ~ command_block{CustomName:{"text":"Relocated Block"}} at @s run function gm4_relocators:backwards_compatibility/place_down/find_command_block
diff --git a/gm4_relocators/data/gm4_relocators/function/backwards_compatibility/place_down/find_head.mcfunction b/gm4_relocators/data/gm4_relocators/function/backwards_compatibility/place_down/find_head.mcfunction
index 23a9284350..adc3c1eec4 100644
--- a/gm4_relocators/data/gm4_relocators/function/backwards_compatibility/place_down/find_head.mcfunction
+++ b/gm4_relocators/data/gm4_relocators/function/backwards_compatibility/place_down/find_head.mcfunction
@@ -13,8 +13,8 @@ execute at @s run tp @s ~ ~-1 ~
execute at @s run function gm4_relocators:backwards_compatibility/place_down/find_command_block
# set command block command to the head's command
-execute at @s run data merge block ~ ~ ~ {CustomName:'{"text":"Marked Relocated Block"}'}
-execute at @s run data modify block ~ ~ ~ Command set from entity @s ArmorItems[0].components."minecraft:custom_data".gm4_relocation_data.Command
+execute at @s run data merge block ~ ~ ~ {CustomName:{"text":"Marked Relocated Block"}}
+execute at @s run data modify block ~ ~ ~ Command set from entity @s equipment.feet.components."minecraft:custom_data".gm4_relocation_data.Command
execute at @e[type=armor_stand,tag=gm4_relocator_fill] run playsound minecraft:block.beacon.activate block @a[distance=..8] ~ ~ ~ 1 2
-execute at @s if block ~ ~ ~ command_block{CustomName:'{"text":"Marked Relocated Block"}'} run kill @s
+execute at @s if block ~ ~ ~ command_block{CustomName:{"text":"Marked Relocated Block"}} run kill @s
diff --git a/gm4_relocators/data/gm4_relocators/function/backwards_compatibility/place_down/place_relocated_block.mcfunction b/gm4_relocators/data/gm4_relocators/function/backwards_compatibility/place_down/place_relocated_block.mcfunction
index 7129a2ee42..2ca6158e2e 100644
--- a/gm4_relocators/data/gm4_relocators/function/backwards_compatibility/place_down/place_relocated_block.mcfunction
+++ b/gm4_relocators/data/gm4_relocators/function/backwards_compatibility/place_down/place_relocated_block.mcfunction
@@ -5,10 +5,10 @@ advancement revoke @s only gm4_relocators:backwards_compatibility/place_relocate
# store item into armor stand
execute positioned ~ ~-5 ~ run kill @e[type=armor_stand,tag=gm4_relocator_fill,dy=13]
-summon armor_stand ~ ~ ~ {Invisible:1b,Marker:1b,NoGravity:1b,Small:1b,CustomName:'"gm4_relocator_fill"',Tags:["gm4_relocator_fill"]}
+summon armor_stand ~ ~ ~ {Invisible:1b,Marker:1b,NoGravity:1b,Small:1b,CustomName:"gm4_relocator_fill",Tags:["gm4_relocator_fill"]}
tp @e[type=armor_stand,limit=1,tag=gm4_relocator_fill,distance=..0.001] ~ ~ ~ ~ 0
execute align y run tp @e[type=armor_stand,limit=1,tag=gm4_relocator_fill,distance=..0.001] ~ ~ ~
-data modify entity @e[type=armor_stand,limit=1,tag=gm4_relocator_fill,distance=..0.001] ArmorItems[0] set from entity @s SelectedItem
+data modify entity @e[type=armor_stand,limit=1,tag=gm4_relocator_fill,distance=..0.001] equipment.feet set from entity @s SelectedItem
# check for relocated block heads
execute as @e[type=armor_stand,tag=gm4_relocator_fill,limit=1,sort=nearest,distance=..0.001] at @s run function gm4_relocators:backwards_compatibility/place_down/find_head
diff --git a/gm4_relocators/data/gm4_relocators/function/backwards_compatibility/place_down/repair.mcfunction b/gm4_relocators/data/gm4_relocators/function/backwards_compatibility/place_down/repair.mcfunction
index d0ced777fd..49a389c63e 100644
--- a/gm4_relocators/data/gm4_relocators/function/backwards_compatibility/place_down/repair.mcfunction
+++ b/gm4_relocators/data/gm4_relocators/function/backwards_compatibility/place_down/repair.mcfunction
@@ -3,7 +3,7 @@
# run when command block is manually powered
execute unless entity @e[type=armor_stand,tag=gm4_relocator_fill,distance=..16,sort=nearest,limit=1] run setblock ~ ~ ~ air
-data modify block ~ ~ ~ Command set from entity @e[type=armor_stand,tag=gm4_relocator_fill,distance=..16,sort=nearest,limit=1] ArmorItems[0].components."minecraft:custom_data".gm4_relocation_data.Command
+data modify block ~ ~ ~ Command set from entity @e[type=armor_stand,tag=gm4_relocator_fill,distance=..16,sort=nearest,limit=1] equipment.feet.components."minecraft:custom_data".gm4_relocation_data.Command
kill @e[type=armor_stand,tag=gm4_relocator_fill,distance=..16,sort=nearest,limit=1]
data merge block ~ ~ ~ {auto:0b}
data merge block ~ ~ ~ {auto:1b,powered:0b}
diff --git a/gm4_relocators/data/gm4_relocators/function/backwards_compatibility/place_down/replace_head.mcfunction b/gm4_relocators/data/gm4_relocators/function/backwards_compatibility/place_down/replace_head.mcfunction
index 3eb9d3d095..b1ffe5833d 100644
--- a/gm4_relocators/data/gm4_relocators/function/backwards_compatibility/place_down/replace_head.mcfunction
+++ b/gm4_relocators/data/gm4_relocators/function/backwards_compatibility/place_down/replace_head.mcfunction
@@ -2,11 +2,11 @@
# run from self and place_down/find_head
# check for heads
-execute if score fill_success gm4_rl_data matches 0 store success score fill_success gm4_rl_data run fill ~-6 ~ ~-6 ~6 ~ ~6 command_block[facing=east]{auto:1b,Command:"function gm4_relocators:backwards_compatibility/place_down/update_command_block",CustomName:'{"text":"Relocated Block"}'} replace player_wall_head[facing=west]{SkullOwner:{Properties:{textures:[{Signature:"gm4_relocated_block"}]}}}
-execute if score fill_success gm4_rl_data matches 0 store success score fill_success gm4_rl_data run fill ~-6 ~ ~-6 ~6 ~ ~6 command_block[facing=west]{auto:1b,Command:"function gm4_relocators:backwards_compatibility/place_down/update_command_block",CustomName:'{"text":"Relocated Block"}'} replace player_wall_head[facing=east]{SkullOwner:{Properties:{textures:[{Signature:"gm4_relocated_block"}]}}}
-execute if score fill_success gm4_rl_data matches 0 store success score fill_success gm4_rl_data run fill ~-6 ~ ~-6 ~6 ~ ~6 command_block[facing=south]{auto:1b,Command:"function gm4_relocators:backwards_compatibility/place_down/update_command_block",CustomName:'{"text":"Relocated Block"}'} replace player_wall_head[facing=north]{SkullOwner:{Properties:{textures:[{Signature:"gm4_relocated_block"}]}}}
-execute if score fill_success gm4_rl_data matches 0 store success score fill_success gm4_rl_data run fill ~-6 ~ ~-6 ~6 ~ ~6 command_block[facing=north]{auto:1b,Command:"function gm4_relocators:backwards_compatibility/place_down/update_command_block",CustomName:'{"text":"Relocated Block"}'} replace player_wall_head[facing=south]{SkullOwner:{Properties:{textures:[{Signature:"gm4_relocated_block"}]}}}
-execute if score fill_success gm4_rl_data matches 0 store success score fill_success gm4_rl_data run fill ~-6 ~ ~-6 ~6 ~ ~6 command_block[facing=down]{auto:1b,Command:"function gm4_relocators:backwards_compatibility/place_down/update_command_block",CustomName:'{"text":"Relocated Block"}'} replace player_head{SkullOwner:{Properties:{textures:[{Signature:"gm4_relocated_block"}]}}}
+execute if score fill_success gm4_rl_data matches 0 store success score fill_success gm4_rl_data run fill ~-6 ~ ~-6 ~6 ~ ~6 command_block[facing=east]{auto:1b,Command:"function gm4_relocators:backwards_compatibility/place_down/update_command_block",CustomName:{"text":"Relocated Block"}} replace player_wall_head[facing=west]{SkullOwner:{Properties:{textures:[{Signature:"gm4_relocated_block"}]}}}
+execute if score fill_success gm4_rl_data matches 0 store success score fill_success gm4_rl_data run fill ~-6 ~ ~-6 ~6 ~ ~6 command_block[facing=west]{auto:1b,Command:"function gm4_relocators:backwards_compatibility/place_down/update_command_block",CustomName:{"text":"Relocated Block"}} replace player_wall_head[facing=east]{SkullOwner:{Properties:{textures:[{Signature:"gm4_relocated_block"}]}}}
+execute if score fill_success gm4_rl_data matches 0 store success score fill_success gm4_rl_data run fill ~-6 ~ ~-6 ~6 ~ ~6 command_block[facing=south]{auto:1b,Command:"function gm4_relocators:backwards_compatibility/place_down/update_command_block",CustomName:{"text":"Relocated Block"}} replace player_wall_head[facing=north]{SkullOwner:{Properties:{textures:[{Signature:"gm4_relocated_block"}]}}}
+execute if score fill_success gm4_rl_data matches 0 store success score fill_success gm4_rl_data run fill ~-6 ~ ~-6 ~6 ~ ~6 command_block[facing=north]{auto:1b,Command:"function gm4_relocators:backwards_compatibility/place_down/update_command_block",CustomName:{"text":"Relocated Block"}} replace player_wall_head[facing=south]{SkullOwner:{Properties:{textures:[{Signature:"gm4_relocated_block"}]}}}
+execute if score fill_success gm4_rl_data matches 0 store success score fill_success gm4_rl_data run fill ~-6 ~ ~-6 ~6 ~ ~6 command_block[facing=down]{auto:1b,Command:"function gm4_relocators:backwards_compatibility/place_down/update_command_block",CustomName:{"text":"Relocated Block"}} replace player_head{SkullOwner:{Properties:{textures:[{Signature:"gm4_relocated_block"}]}}}
tp @s ~ ~1 ~
scoreboard players add fill_counter gm4_rl_data 1
diff --git a/gm4_relocators/data/gm4_relocators/function/backwards_compatibility/place_down/update_command_block.mcfunction b/gm4_relocators/data/gm4_relocators/function/backwards_compatibility/place_down/update_command_block.mcfunction
index ed58a17125..a4ed73dada 100644
--- a/gm4_relocators/data/gm4_relocators/function/backwards_compatibility/place_down/update_command_block.mcfunction
+++ b/gm4_relocators/data/gm4_relocators/function/backwards_compatibility/place_down/update_command_block.mcfunction
@@ -10,25 +10,25 @@ execute if block ~ ~ ~ command_block[facing=west] run scoreboard players set fac
# force adjacent command blocks to activate
setblock ~ ~ ~ redstone_block
-execute if block ~1 ~ ~1 command_block{CustomName:'{"text":"Misplaced Relocated Block"}'} run data merge block ~1 ~ ~1 {auto:1b}
-execute if block ~1 ~ ~-1 command_block{CustomName:'{"text":"Misplaced Relocated Block"}'} run data merge block ~1 ~ ~-1 {auto:1b}
-execute if block ~-1 ~ ~1 command_block{CustomName:'{"text":"Misplaced Relocated Block"}'} run data merge block ~-1 ~ ~1 {auto:1b}
-execute if block ~-1 ~ ~-1 command_block{CustomName:'{"text":"Misplaced Relocated Block"}'} run data merge block ~-1 ~ ~-1 {auto:1b}
+execute if block ~1 ~ ~1 command_block{CustomName:{"text":"Misplaced Relocated Block"}} run data merge block ~1 ~ ~1 {auto:1b}
+execute if block ~1 ~ ~-1 command_block{CustomName:{"text":"Misplaced Relocated Block"}} run data merge block ~1 ~ ~-1 {auto:1b}
+execute if block ~-1 ~ ~1 command_block{CustomName:{"text":"Misplaced Relocated Block"}} run data merge block ~-1 ~ ~1 {auto:1b}
+execute if block ~-1 ~ ~-1 command_block{CustomName:{"text":"Misplaced Relocated Block"}} run data merge block ~-1 ~ ~-1 {auto:1b}
-execute if block ~1 ~1 ~ command_block{CustomName:'{"text":"Misplaced Relocated Block"}'} run data merge block ~1 ~1 ~ {auto:1b}
-execute if block ~-1 ~1 ~ command_block{CustomName:'{"text":"Misplaced Relocated Block"}'} run data merge block ~-1 ~1 ~ {auto:1b}
-execute if block ~ ~1 ~1 command_block{CustomName:'{"text":"Misplaced Relocated Block"}'} run data merge block ~ ~1 ~1 {auto:1b}
-execute if block ~ ~1 ~-1 command_block{CustomName:'{"text":"Misplaced Relocated Block"}'} run data merge block ~ ~1 ~-1 {auto:1b}
+execute if block ~1 ~1 ~ command_block{CustomName:{"text":"Misplaced Relocated Block"}} run data merge block ~1 ~1 ~ {auto:1b}
+execute if block ~-1 ~1 ~ command_block{CustomName:{"text":"Misplaced Relocated Block"}} run data merge block ~-1 ~1 ~ {auto:1b}
+execute if block ~ ~1 ~1 command_block{CustomName:{"text":"Misplaced Relocated Block"}} run data merge block ~ ~1 ~1 {auto:1b}
+execute if block ~ ~1 ~-1 command_block{CustomName:{"text":"Misplaced Relocated Block"}} run data merge block ~ ~1 ~-1 {auto:1b}
-execute if block ~1 ~-1 ~ command_block{CustomName:'{"text":"Misplaced Relocated Block"}'} run data merge block ~1 ~-1 ~ {auto:1b}
-execute if block ~-1 ~-1 ~ command_block{CustomName:'{"text":"Misplaced Relocated Block"}'} run data merge block ~-1 ~-1 ~ {auto:1b}
-execute if block ~ ~-1 ~1 command_block{CustomName:'{"text":"Misplaced Relocated Block"}'} run data merge block ~ ~-1 ~1 {auto:1b}
-execute if block ~ ~-1 ~-1 command_block{CustomName:'{"text":"Misplaced Relocated Block"}'} run data merge block ~ ~-1 ~-1 {auto:1b}
+execute if block ~1 ~-1 ~ command_block{CustomName:{"text":"Misplaced Relocated Block"}} run data merge block ~1 ~-1 ~ {auto:1b}
+execute if block ~-1 ~-1 ~ command_block{CustomName:{"text":"Misplaced Relocated Block"}} run data merge block ~-1 ~-1 ~ {auto:1b}
+execute if block ~ ~-1 ~1 command_block{CustomName:{"text":"Misplaced Relocated Block"}} run data merge block ~ ~-1 ~1 {auto:1b}
+execute if block ~ ~-1 ~-1 command_block{CustomName:{"text":"Misplaced Relocated Block"}} run data merge block ~ ~-1 ~-1 {auto:1b}
# place repair command block
-execute if score facing gm4_rl_data matches 0 run setblock ~ ~ ~ command_block[facing=down]{auto:1b,Command:"function gm4_relocators:backwards_compatibility/place_down/repair",CustomName:'{"text":"Misplaced Relocated Block"}'}
-execute if score facing gm4_rl_data matches 1 run setblock ~ ~ ~ command_block[facing=north]{auto:1b,Command:"function gm4_relocators:backwards_compatibility/place_down/repair",CustomName:'{"text":"Misplaced Relocated Block"}'}
-execute if score facing gm4_rl_data matches 2 run setblock ~ ~ ~ command_block[facing=south]{auto:1b,Command:"function gm4_relocators:backwards_compatibility/place_down/repair",CustomName:'{"text":"Misplaced Relocated Block"}'}
-execute if score facing gm4_rl_data matches 3 run setblock ~ ~ ~ command_block[facing=east]{auto:1b,Command:"function gm4_relocators:backwards_compatibility/place_down/repair",CustomName:'{"text":"Misplaced Relocated Block"}'}
-execute if score facing gm4_rl_data matches 4 run setblock ~ ~ ~ command_block[facing=west]{auto:1b,Command:"function gm4_relocators:backwards_compatibility/place_down/repair",CustomName:'{"text":"Misplaced Relocated Block"}'}
+execute if score facing gm4_rl_data matches 0 run setblock ~ ~ ~ command_block[facing=down]{auto:1b,Command:"function gm4_relocators:backwards_compatibility/place_down/repair",CustomName:{"text":"Misplaced Relocated Block"}}
+execute if score facing gm4_rl_data matches 1 run setblock ~ ~ ~ command_block[facing=north]{auto:1b,Command:"function gm4_relocators:backwards_compatibility/place_down/repair",CustomName:{"text":"Misplaced Relocated Block"}}
+execute if score facing gm4_rl_data matches 2 run setblock ~ ~ ~ command_block[facing=south]{auto:1b,Command:"function gm4_relocators:backwards_compatibility/place_down/repair",CustomName:{"text":"Misplaced Relocated Block"}}
+execute if score facing gm4_rl_data matches 3 run setblock ~ ~ ~ command_block[facing=east]{auto:1b,Command:"function gm4_relocators:backwards_compatibility/place_down/repair",CustomName:{"text":"Misplaced Relocated Block"}}
+execute if score facing gm4_rl_data matches 4 run setblock ~ ~ ~ command_block[facing=west]{auto:1b,Command:"function gm4_relocators:backwards_compatibility/place_down/repair",CustomName:{"text":"Misplaced Relocated Block"}}
scoreboard players reset facing gm4_rl_data
diff --git a/gm4_relocators/data/gm4_relocators/function/check_recipes.mcfunction b/gm4_relocators/data/gm4_relocators/function/check_recipes.mcfunction
index 9cb987a671..52a521da35 100644
--- a/gm4_relocators/data/gm4_relocators/function/check_recipes.mcfunction
+++ b/gm4_relocators/data/gm4_relocators/function/check_recipes.mcfunction
@@ -1,3 +1,3 @@
-execute if score $crafted gm4_crafting matches 0 store success score $crafted gm4_crafting if score $slot_count gm4_crafting matches 9 if score $stack_size gm4_crafting matches 1 if data storage gm4_custom_crafters:temp/crafter {Items:[{Slot:0b,id:"minecraft:crying_obsidian"},{Slot:1b,id:"minecraft:shulker_shell"},{Slot:2b,id:"minecraft:crying_obsidian"},{Slot:3b,id:"minecraft:amethyst_shard"},{Slot:4b,id:"minecraft:enchanted_book",components:{"minecraft:stored_enchantments":{levels:{"minecraft:silk_touch":1}}}},{Slot:5b,id:"minecraft:amethyst_shard"},{Slot:6b,id:"minecraft:crying_obsidian"},{Slot:7b,id:"minecraft:shulker_shell"},{Slot:8b,id:"minecraft:crying_obsidian"}]} run loot replace block ~ ~ ~ container.0 loot gm4_relocators:crafting/relocator
+execute if score $crafted gm4_crafting matches 0 store success score $crafted gm4_crafting if score $slot_count gm4_crafting matches 9 if score $stack_size gm4_crafting matches 1 if data storage gm4_custom_crafters:temp/crafter {Items:[{Slot:0b,id:"minecraft:crying_obsidian"},{Slot:1b,id:"minecraft:shulker_shell"},{Slot:2b,id:"minecraft:crying_obsidian"},{Slot:3b,id:"minecraft:amethyst_shard"},{Slot:4b,id:"minecraft:enchanted_book",components:{"minecraft:stored_enchantments":{"minecraft:silk_touch":1}}},{Slot:5b,id:"minecraft:amethyst_shard"},{Slot:6b,id:"minecraft:crying_obsidian"},{Slot:7b,id:"minecraft:shulker_shell"},{Slot:8b,id:"minecraft:crying_obsidian"}]} run loot replace block ~ ~ ~ container.0 loot gm4_relocators:crafting/relocator
-execute if score $crafted gm4_crafting matches 0 store success score $crafted gm4_crafting if score $slot_count gm4_crafting matches 9 if score $stack_size gm4_crafting matches ..64 if data storage gm4_custom_crafters:temp/crafter {Items:[{Slot:0b,id:"minecraft:crying_obsidian"},{Slot:1b,id:"minecraft:shulker_shell"},{Slot:2b,id:"minecraft:crying_obsidian"},{Slot:3b,id:"minecraft:amethyst_shard"},{Slot:4b,id:"minecraft:paper",components:{"minecraft:enchantments":{levels:{"minecraft:silk_touch":1}}}},{Slot:5b,id:"minecraft:amethyst_shard"},{Slot:6b,id:"minecraft:crying_obsidian"},{Slot:7b,id:"minecraft:shulker_shell"},{Slot:8b,id:"minecraft:crying_obsidian"}]} run loot replace block ~ ~ ~ container.0 loot gm4_relocators:crafting/relocator
+execute if score $crafted gm4_crafting matches 0 store success score $crafted gm4_crafting if score $slot_count gm4_crafting matches 9 if score $stack_size gm4_crafting matches ..64 if data storage gm4_custom_crafters:temp/crafter {Items:[{Slot:0b,id:"minecraft:crying_obsidian"},{Slot:1b,id:"minecraft:shulker_shell"},{Slot:2b,id:"minecraft:crying_obsidian"},{Slot:3b,id:"minecraft:amethyst_shard"},{Slot:4b,id:"minecraft:paper",components:{"minecraft:enchantments":{"minecraft:silk_touch":1}}},{Slot:5b,id:"minecraft:amethyst_shard"},{Slot:6b,id:"minecraft:crying_obsidian"},{Slot:7b,id:"minecraft:shulker_shell"},{Slot:8b,id:"minecraft:crying_obsidian"}]} run loot replace block ~ ~ ~ container.0 loot gm4_relocators:crafting/relocator
diff --git a/gm4_relocators/data/gm4_relocators/function/custom_crafter_relocating/set_pick_up_data.mcfunction b/gm4_relocators/data/gm4_relocators/function/custom_crafter_relocating/set_pick_up_data.mcfunction
index c7f97f9bb6..a7ed100f4a 100644
--- a/gm4_relocators/data/gm4_relocators/function/custom_crafter_relocating/set_pick_up_data.mcfunction
+++ b/gm4_relocators/data/gm4_relocators/function/custom_crafter_relocating/set_pick_up_data.mcfunction
@@ -3,7 +3,7 @@
# located at the center of the block to be picked up
# run from gm4_relocators:custom_crafter_relocating/pick_up_check
-data modify storage gm4_relocators:temp merge_data set value {custom_block:"gm4_custom_crafter",lore:'{"translate":"block.gm4.custom_crafter","fallback":"Custom Crafter","color":"gray","italic":true}'}
+data modify storage gm4_relocators:temp merge_data set value {custom_block:"gm4_custom_crafter",lore:{"translate":"block.gm4.custom_crafter","fallback":"Custom Crafter","color":"gray","italic":true}}
data modify storage gm4_relocators:temp merge_data.entity_data.Rotation set from entity @s Rotation
data modify storage gm4_relocators:temp merge_data.entity_data.item set from entity @e[type=item_display,tag=gm4_custom_crafter_display,distance=..0.5,limit=1] item
diff --git a/gm4_relocators/data/gm4_relocators/function/custom_crafter_relocating/summon_block_markers.mcfunction b/gm4_relocators/data/gm4_relocators/function/custom_crafter_relocating/summon_block_markers.mcfunction
index 4927d8c52b..f466604f2f 100644
--- a/gm4_relocators/data/gm4_relocators/function/custom_crafter_relocating/summon_block_markers.mcfunction
+++ b/gm4_relocators/data/gm4_relocators/function/custom_crafter_relocating/summon_block_markers.mcfunction
@@ -5,8 +5,8 @@
scoreboard players set $placed_block gm4_rl_data 1
-summon item_display ~ ~0.5 ~ {Tags:["gm4_no_edit","gm4_custom_crafter_display","gm4_machine_display","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_custom_crafter_display"',item:{id:"crafting_table",count:1,components:{"minecraft:custom_model_data":"gm4_custom_crafters:block/custom_crafter"}},item_display:head,brightness:{sky:15,block:15},Rotation:[180.0f,0.0f],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0.001f,0f],scale:[0.438,0.438,0.438]}}
-summon marker ~ ~ ~ {Tags:["gm4_custom_crafter","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_custom_crafter"',Rotation:[0.0f,0.0f]}
+summon item_display ~ ~0.5 ~ {Tags:["gm4_no_edit","gm4_custom_crafter_display","gm4_machine_display","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:"gm4_custom_crafter_display",item:{id:"crafting_table",count:1,components:{"minecraft:custom_model_data":"gm4_custom_crafters:block/custom_crafter"}},item_display:head,brightness:{sky:15,block:15},Rotation:[180.0f,0.0f],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0.001f,0f],scale:[0.438,0.438,0.438]}}
+summon marker ~ ~ ~ {Tags:["gm4_custom_crafter","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:"gm4_custom_crafter",Rotation:[0.0f,0.0f]}
execute as @e[tag=gm4_new_machine,distance=..2] run data modify entity @s Rotation set from storage gm4_relocators:temp gm4_relocation.entity_data.Rotation
execute as @e[tag=gm4_new_machine,distance=..2] at @s rotated as @e[type=marker,tag=gm4_new_machine,distance=..2,limit=1] run tp ~ ~ ~
diff --git a/gm4_relocators/data/gm4_relocators/function/pick_up/get_data.mcfunction b/gm4_relocators/data/gm4_relocators/function/pick_up/get_data.mcfunction
index 2986a713dc..a3c9203cad 100644
--- a/gm4_relocators/data/gm4_relocators/function/pick_up/get_data.mcfunction
+++ b/gm4_relocators/data/gm4_relocators/function/pick_up/get_data.mcfunction
@@ -15,17 +15,17 @@ scoreboard players set $found_block gm4_rl_data 0
scoreboard players set $found_rotation gm4_rl_data 0
function #gm4_relocators:pick_up/get_block_state
-execute if score $found_block gm4_rl_data matches 0 store success score $found_block gm4_rl_data if block ~ ~ ~ dropper run data modify storage gm4_relocators:temp gm4_relocation merge value {block_state:{id:"dropper"},lore:'{"translate":"block.minecraft.dropper","color":"gray","italic":true}'}
-execute if score $found_block gm4_rl_data matches 0 store success score $found_block gm4_rl_data if block ~ ~ ~ hopper run data modify storage gm4_relocators:temp gm4_relocation merge value {block_state:{id:"hopper"},lore:'{"translate":"block.minecraft.hopper","color":"gray","italic":true}'}
-execute if score $found_block gm4_rl_data matches 0 store success score $found_block gm4_rl_data if block ~ ~ ~ chest run data modify storage gm4_relocators:temp gm4_relocation merge value {block_state:{id:"chest"},lore:'{"translate":"block.minecraft.chest","color":"gray","italic":true}'}
-execute if score $found_block gm4_rl_data matches 0 store success score $found_block gm4_rl_data if block ~ ~ ~ crafter run data modify storage gm4_relocators:temp gm4_relocation merge value {block_state:{id:"crafter"},lore:'{"translate":"block.minecraft.crafter","color":"gray","italic":true}'}
-execute if score $found_block gm4_rl_data matches 0 store success score $found_block gm4_rl_data if block ~ ~ ~ barrel run data modify storage gm4_relocators:temp gm4_relocation merge value {block_state:{id:"barrel"},lore:'{"translate":"block.minecraft.barrel","color":"gray","italic":true}'}
-execute if score $found_block gm4_rl_data matches 0 store success score $found_block gm4_rl_data if block ~ ~ ~ dispenser run data modify storage gm4_relocators:temp gm4_relocation merge value {block_state:{id:"dispenser"},lore:'{"translate":"block.minecraft.dispenser","color":"gray","italic":true}'}
-execute if score $found_block gm4_rl_data matches 0 store success score $found_block gm4_rl_data if block ~ ~ ~ furnace run data modify storage gm4_relocators:temp gm4_relocation merge value {block_state:{id:"furnace",lit:1},lore:'{"translate":"block.minecraft.furnace","color":"gray","italic":true}'}
-execute if score $found_block gm4_rl_data matches 0 store success score $found_block gm4_rl_data if block ~ ~ ~ blast_furnace run data modify storage gm4_relocators:temp gm4_relocation merge value {block_state:{id:"blast_furnace",lit:1},lore:'{"translate":"block.minecraft.blast_furnace","color":"gray","italic":true}'}
-execute if score $found_block gm4_rl_data matches 0 store success score $found_block gm4_rl_data if block ~ ~ ~ smoker run data modify storage gm4_relocators:temp gm4_relocation merge value {block_state:{id:"smoker",lit:1},lore:'{"translate":"block.minecraft.smoker","color":"gray","italic":true}'}
-execute if score $found_block gm4_rl_data matches 0 store success score $found_block gm4_rl_data if block ~ ~ ~ trapped_chest run data modify storage gm4_relocators:temp gm4_relocation merge value {block_state:{id:"trapped_chest"},lore:'{"translate":"block.minecraft.trapped_chest","color":"gray","italic":true}'}
-execute if score $found_block gm4_rl_data matches 0 store success score $found_block gm4_rl_data if block ~ ~ ~ brewing_stand run data modify storage gm4_relocators:temp gm4_relocation merge value {block_state:{id:"brewing_stand"},lore:'{"translate":"block.minecraft.brewing_stand","color":"gray","italic":true}'}
+execute if score $found_block gm4_rl_data matches 0 store success score $found_block gm4_rl_data if block ~ ~ ~ dropper run data modify storage gm4_relocators:temp gm4_relocation merge value {block_state:{id:"dropper"},lore:{"translate":"block.minecraft.dropper","color":"gray","italic":true}}
+execute if score $found_block gm4_rl_data matches 0 store success score $found_block gm4_rl_data if block ~ ~ ~ hopper run data modify storage gm4_relocators:temp gm4_relocation merge value {block_state:{id:"hopper"},lore:{"translate":"block.minecraft.hopper","color":"gray","italic":true}}
+execute if score $found_block gm4_rl_data matches 0 store success score $found_block gm4_rl_data if block ~ ~ ~ chest run data modify storage gm4_relocators:temp gm4_relocation merge value {block_state:{id:"chest"},lore:{"translate":"block.minecraft.chest","color":"gray","italic":true}}
+execute if score $found_block gm4_rl_data matches 0 store success score $found_block gm4_rl_data if block ~ ~ ~ crafter run data modify storage gm4_relocators:temp gm4_relocation merge value {block_state:{id:"crafter"},lore:{"translate":"block.minecraft.crafter","color":"gray","italic":true}}
+execute if score $found_block gm4_rl_data matches 0 store success score $found_block gm4_rl_data if block ~ ~ ~ barrel run data modify storage gm4_relocators:temp gm4_relocation merge value {block_state:{id:"barrel"},lore:{"translate":"block.minecraft.barrel","color":"gray","italic":true}}
+execute if score $found_block gm4_rl_data matches 0 store success score $found_block gm4_rl_data if block ~ ~ ~ dispenser run data modify storage gm4_relocators:temp gm4_relocation merge value {block_state:{id:"dispenser"},lore:{"translate":"block.minecraft.dispenser","color":"gray","italic":true}}
+execute if score $found_block gm4_rl_data matches 0 store success score $found_block gm4_rl_data if block ~ ~ ~ furnace run data modify storage gm4_relocators:temp gm4_relocation merge value {block_state:{id:"furnace",lit:1},lore:{"translate":"block.minecraft.furnace","color":"gray","italic":true}}
+execute if score $found_block gm4_rl_data matches 0 store success score $found_block gm4_rl_data if block ~ ~ ~ blast_furnace run data modify storage gm4_relocators:temp gm4_relocation merge value {block_state:{id:"blast_furnace",lit:1},lore:{"translate":"block.minecraft.blast_furnace","color":"gray","italic":true}}
+execute if score $found_block gm4_rl_data matches 0 store success score $found_block gm4_rl_data if block ~ ~ ~ smoker run data modify storage gm4_relocators:temp gm4_relocation merge value {block_state:{id:"smoker",lit:1},lore:{"translate":"block.minecraft.smoker","color":"gray","italic":true}}
+execute if score $found_block gm4_rl_data matches 0 store success score $found_block gm4_rl_data if block ~ ~ ~ trapped_chest run data modify storage gm4_relocators:temp gm4_relocation merge value {block_state:{id:"trapped_chest"},lore:{"translate":"block.minecraft.trapped_chest","color":"gray","italic":true}}
+execute if score $found_block gm4_rl_data matches 0 store success score $found_block gm4_rl_data if block ~ ~ ~ brewing_stand run data modify storage gm4_relocators:temp gm4_relocation merge value {block_state:{id:"brewing_stand"},lore:{"translate":"block.minecraft.brewing_stand","color":"gray","italic":true}}
execute if score $found_block gm4_rl_data matches 0 if block ~ ~ ~ #minecraft:shulker_boxes run function gm4_relocators:pick_up/get_data_shulker_boxes
execute if score $found_rotation gm4_rl_data matches 0 store success score $found_rotation gm4_rl_data if block ~ ~ ~ #gm4_relocators:relocatable_block[facing=up] run data modify storage gm4_relocators:temp gm4_relocation.block_state.facing set value 0
diff --git a/gm4_relocators/data/gm4_relocators/function/pick_up/get_data_shulker_boxes.mcfunction b/gm4_relocators/data/gm4_relocators/function/pick_up/get_data_shulker_boxes.mcfunction
index d8151fa5e1..7c2d5f715e 100644
--- a/gm4_relocators/data/gm4_relocators/function/pick_up/get_data_shulker_boxes.mcfunction
+++ b/gm4_relocators/data/gm4_relocators/function/pick_up/get_data_shulker_boxes.mcfunction
@@ -3,20 +3,20 @@
# located at the center of the block to be picked up
# run from gm4_relocators:pick_up/get_data
-execute if score $found_block gm4_rl_data matches 0 store success score $found_block gm4_rl_data if block ~ ~ ~ shulker_box run data modify storage gm4_relocators:temp gm4_relocation merge value {block_state:{id:"shulker_box"},lore:'{"translate":"block.minecraft.shulker_box","color":"gray","italic":true}'}
-execute if score $found_block gm4_rl_data matches 0 store success score $found_block gm4_rl_data if block ~ ~ ~ white_shulker_box run data modify storage gm4_relocators:temp gm4_relocation merge value {block_state:{id:"white_shulker_box"},lore:'{"translate":"block.minecraft.white_shulker_box","color":"gray","italic":true}'}
-execute if score $found_block gm4_rl_data matches 0 store success score $found_block gm4_rl_data if block ~ ~ ~ orange_shulker_box run data modify storage gm4_relocators:temp gm4_relocation merge value {block_state:{id:"orange_shulker_box"},lore:'{"translate":"block.minecraft.orange_shulker_box","color":"gray","italic":true}'}
-execute if score $found_block gm4_rl_data matches 0 store success score $found_block gm4_rl_data if block ~ ~ ~ magenta_shulker_box run data modify storage gm4_relocators:temp gm4_relocation merge value {block_state:{id:"magenta_shulker_box"},lore:'{"translate":"block.minecraft.magenta_shulker_box","color":"gray","italic":true}'}
-execute if score $found_block gm4_rl_data matches 0 store success score $found_block gm4_rl_data if block ~ ~ ~ light_blue_shulker_box run data modify storage gm4_relocators:temp gm4_relocation merge value {block_state:{id:"light_blue_shulker_box"},lore:'{"translate":"block.minecraft.light_blue_shulker_box","color":"gray","italic":true}'}
-execute if score $found_block gm4_rl_data matches 0 store success score $found_block gm4_rl_data if block ~ ~ ~ yellow_shulker_box run data modify storage gm4_relocators:temp gm4_relocation merge value {block_state:{id:"yellow_shulker_box"},lore:'{"translate":"block.minecraft.yellow_shulker_box","color":"gray","italic":true}'}
-execute if score $found_block gm4_rl_data matches 0 store success score $found_block gm4_rl_data if block ~ ~ ~ lime_shulker_box run data modify storage gm4_relocators:temp gm4_relocation merge value {block_state:{id:"lime_shulker_box"},lore:'{"translate":"block.minecraft.lime_shulker_box","color":"gray","italic":true}'}
-execute if score $found_block gm4_rl_data matches 0 store success score $found_block gm4_rl_data if block ~ ~ ~ pink_shulker_box run data modify storage gm4_relocators:temp gm4_relocation merge value {block_state:{id:"pink_shulker_box"},lore:'{"translate":"block.minecraft.pink_shulker_box","color":"gray","italic":true}'}
-execute if score $found_block gm4_rl_data matches 0 store success score $found_block gm4_rl_data if block ~ ~ ~ gray_shulker_box run data modify storage gm4_relocators:temp gm4_relocation merge value {block_state:{id:"gray_shulker_box"},lore:'{"translate":"block.minecraft.gray_shulker_box","color":"gray","italic":true}'}
-execute if score $found_block gm4_rl_data matches 0 store success score $found_block gm4_rl_data if block ~ ~ ~ light_gray_shulker_box run data modify storage gm4_relocators:temp gm4_relocation merge value {block_state:{id:"light_gray_shulker_box"},lore:'{"translate":"block.minecraft.light_gray_shulker_box","color":"gray","italic":true}'}
-execute if score $found_block gm4_rl_data matches 0 store success score $found_block gm4_rl_data if block ~ ~ ~ cyan_shulker_box run data modify storage gm4_relocators:temp gm4_relocation merge value {block_state:{id:"cyan_shulker_box"},lore:'{"translate":"block.minecraft.cyan_shulker_box","color":"gray","italic":true}'}
-execute if score $found_block gm4_rl_data matches 0 store success score $found_block gm4_rl_data if block ~ ~ ~ purple_shulker_box run data modify storage gm4_relocators:temp gm4_relocation merge value {block_state:{id:"purple_shulker_box"},lore:'{"translate":"block.minecraft.purple_shulker_box","color":"gray","italic":true}'}
-execute if score $found_block gm4_rl_data matches 0 store success score $found_block gm4_rl_data if block ~ ~ ~ blue_shulker_box run data modify storage gm4_relocators:temp gm4_relocation merge value {block_state:{id:"blue_shulker_box"},lore:'{"translate":"block.minecraft.blue_shulker_box","color":"gray","italic":true}'}
-execute if score $found_block gm4_rl_data matches 0 store success score $found_block gm4_rl_data if block ~ ~ ~ brown_shulker_box run data modify storage gm4_relocators:temp gm4_relocation merge value {block_state:{id:"brown_shulker_box"},lore:'{"translate":"block.minecraft.brown_shulker_box","color":"gray","italic":true}'}
-execute if score $found_block gm4_rl_data matches 0 store success score $found_block gm4_rl_data if block ~ ~ ~ green_shulker_box run data modify storage gm4_relocators:temp gm4_relocation merge value {block_state:{id:"green_shulker_box"},lore:'{"translate":"block.minecraft.green_shulker_box","color":"gray","italic":true}'}
-execute if score $found_block gm4_rl_data matches 0 store success score $found_block gm4_rl_data if block ~ ~ ~ red_shulker_box run data modify storage gm4_relocators:temp gm4_relocation merge value {block_state:{id:"red_shulker_box"},lore:'{"translate":"block.minecraft.red_shulker_box","color":"gray","italic":true}'}
-execute if score $found_block gm4_rl_data matches 0 store success score $found_block gm4_rl_data if block ~ ~ ~ black_shulker_box run data modify storage gm4_relocators:temp gm4_relocation merge value {block_state:{id:"black_shulker_box"},lore:'{"translate":"block.minecraft.black_shulker_box","color":"gray","italic":true}'}
+execute if score $found_block gm4_rl_data matches 0 store success score $found_block gm4_rl_data if block ~ ~ ~ shulker_box run data modify storage gm4_relocators:temp gm4_relocation merge value {block_state:{id:"shulker_box"},lore:{"translate":"block.minecraft.shulker_box","color":"gray","italic":true}}
+execute if score $found_block gm4_rl_data matches 0 store success score $found_block gm4_rl_data if block ~ ~ ~ white_shulker_box run data modify storage gm4_relocators:temp gm4_relocation merge value {block_state:{id:"white_shulker_box"},lore:{"translate":"block.minecraft.white_shulker_box","color":"gray","italic":true}}
+execute if score $found_block gm4_rl_data matches 0 store success score $found_block gm4_rl_data if block ~ ~ ~ orange_shulker_box run data modify storage gm4_relocators:temp gm4_relocation merge value {block_state:{id:"orange_shulker_box"},lore:{"translate":"block.minecraft.orange_shulker_box","color":"gray","italic":true}}
+execute if score $found_block gm4_rl_data matches 0 store success score $found_block gm4_rl_data if block ~ ~ ~ magenta_shulker_box run data modify storage gm4_relocators:temp gm4_relocation merge value {block_state:{id:"magenta_shulker_box"},lore:{"translate":"block.minecraft.magenta_shulker_box","color":"gray","italic":true}}
+execute if score $found_block gm4_rl_data matches 0 store success score $found_block gm4_rl_data if block ~ ~ ~ light_blue_shulker_box run data modify storage gm4_relocators:temp gm4_relocation merge value {block_state:{id:"light_blue_shulker_box"},lore:{"translate":"block.minecraft.light_blue_shulker_box","color":"gray","italic":true}}
+execute if score $found_block gm4_rl_data matches 0 store success score $found_block gm4_rl_data if block ~ ~ ~ yellow_shulker_box run data modify storage gm4_relocators:temp gm4_relocation merge value {block_state:{id:"yellow_shulker_box"},lore:{"translate":"block.minecraft.yellow_shulker_box","color":"gray","italic":true}}
+execute if score $found_block gm4_rl_data matches 0 store success score $found_block gm4_rl_data if block ~ ~ ~ lime_shulker_box run data modify storage gm4_relocators:temp gm4_relocation merge value {block_state:{id:"lime_shulker_box"},lore:{"translate":"block.minecraft.lime_shulker_box","color":"gray","italic":true}}
+execute if score $found_block gm4_rl_data matches 0 store success score $found_block gm4_rl_data if block ~ ~ ~ pink_shulker_box run data modify storage gm4_relocators:temp gm4_relocation merge value {block_state:{id:"pink_shulker_box"},lore:{"translate":"block.minecraft.pink_shulker_box","color":"gray","italic":true}}
+execute if score $found_block gm4_rl_data matches 0 store success score $found_block gm4_rl_data if block ~ ~ ~ gray_shulker_box run data modify storage gm4_relocators:temp gm4_relocation merge value {block_state:{id:"gray_shulker_box"},lore:{"translate":"block.minecraft.gray_shulker_box","color":"gray","italic":true}}
+execute if score $found_block gm4_rl_data matches 0 store success score $found_block gm4_rl_data if block ~ ~ ~ light_gray_shulker_box run data modify storage gm4_relocators:temp gm4_relocation merge value {block_state:{id:"light_gray_shulker_box"},lore:{"translate":"block.minecraft.light_gray_shulker_box","color":"gray","italic":true}}
+execute if score $found_block gm4_rl_data matches 0 store success score $found_block gm4_rl_data if block ~ ~ ~ cyan_shulker_box run data modify storage gm4_relocators:temp gm4_relocation merge value {block_state:{id:"cyan_shulker_box"},lore:{"translate":"block.minecraft.cyan_shulker_box","color":"gray","italic":true}}
+execute if score $found_block gm4_rl_data matches 0 store success score $found_block gm4_rl_data if block ~ ~ ~ purple_shulker_box run data modify storage gm4_relocators:temp gm4_relocation merge value {block_state:{id:"purple_shulker_box"},lore:{"translate":"block.minecraft.purple_shulker_box","color":"gray","italic":true}}
+execute if score $found_block gm4_rl_data matches 0 store success score $found_block gm4_rl_data if block ~ ~ ~ blue_shulker_box run data modify storage gm4_relocators:temp gm4_relocation merge value {block_state:{id:"blue_shulker_box"},lore:{"translate":"block.minecraft.blue_shulker_box","color":"gray","italic":true}}
+execute if score $found_block gm4_rl_data matches 0 store success score $found_block gm4_rl_data if block ~ ~ ~ brown_shulker_box run data modify storage gm4_relocators:temp gm4_relocation merge value {block_state:{id:"brown_shulker_box"},lore:{"translate":"block.minecraft.brown_shulker_box","color":"gray","italic":true}}
+execute if score $found_block gm4_rl_data matches 0 store success score $found_block gm4_rl_data if block ~ ~ ~ green_shulker_box run data modify storage gm4_relocators:temp gm4_relocation merge value {block_state:{id:"green_shulker_box"},lore:{"translate":"block.minecraft.green_shulker_box","color":"gray","italic":true}}
+execute if score $found_block gm4_rl_data matches 0 store success score $found_block gm4_rl_data if block ~ ~ ~ red_shulker_box run data modify storage gm4_relocators:temp gm4_relocation merge value {block_state:{id:"red_shulker_box"},lore:{"translate":"block.minecraft.red_shulker_box","color":"gray","italic":true}}
+execute if score $found_block gm4_rl_data matches 0 store success score $found_block gm4_rl_data if block ~ ~ ~ black_shulker_box run data modify storage gm4_relocators:temp gm4_relocation merge value {block_state:{id:"black_shulker_box"},lore:{"translate":"block.minecraft.black_shulker_box","color":"gray","italic":true}}
diff --git a/gm4_relocators/data/gm4_relocators/guidebook/relocators.json b/gm4_relocators/data/gm4_relocators/guidebook/relocators.json
index b50d6aa72c..a5f066eef9 100644
--- a/gm4_relocators/data/gm4_relocators/guidebook/relocators.json
+++ b/gm4_relocators/data/gm4_relocators/guidebook/relocators.json
@@ -17,7 +17,7 @@
"blocks": [
"minecraft:dropper"
],
- "nbt": "{CustomName:'{\"translate\":\"gm4.second\",\"fallback\":\"%1$s\",\"with\":[{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\"},{\"text\":\" \",\"extra\":[{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:offscreen\"},{\"translate\":\"gui.gm4.custom_crafter\",\"fallback\":\"\",\"font\":\"gm4:container_gui\",\"color\":\"white\"},{\"text\":\" \",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:default\",\"color\":\"#404040\"}],\"font\":\"gm4:half_invert\"}]}'}"
+ "nbt": "{CustomName:{\"translate\":\"gm4.second\",\"fallback\":\"%1$s\",\"with\":[{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\"},{\"text\":\" \",\"extra\":[{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:offscreen\"},{\"translate\":\"gui.gm4.custom_crafter\",\"fallback\":\"\",\"font\":\"gm4:container_gui\",\"color\":\"white\"},{\"text\":\" \",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:default\",\"color\":\"#404040\"}],\"font\":\"gm4:half_invert\"}]}}"
}
}
}
diff --git a/gm4_relocators/mod.mcdoc b/gm4_relocators/mod.mcdoc
new file mode 100644
index 0000000000..40e56f36c4
--- /dev/null
+++ b/gm4_relocators/mod.mcdoc
@@ -0,0 +1,20 @@
+use ::java::util::text::Text
+use ::java::world::entity::AnyEntity
+
+dispatch minecraft:storage[gm4_relocators:temp] to struct RelocatorsTemp {
+ merge_data?: struct MergeData {
+ custom_block: string,
+ lore: Text,
+ entity_data?: AnyEntity
+ },
+ gm4_relocation?: struct Gm4Relocation {
+ custom_block?: string,
+ block_state?: struct {
+ id: #[id=block] string,
+ [string]: any,
+ },
+ lore?: Text,
+ data?: any,
+ },
+ lore?: Text,
+}
diff --git a/gm4_rope_ladders/beet.yaml b/gm4_rope_ladders/beet.yaml
index 7fdcc31e2d..63ac79896b 100644
--- a/gm4_rope_ladders/beet.yaml
+++ b/gm4_rope_ladders/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_rope_ladders
name: Rope Ladders
-version: 1.4.X
+version: 1.5.X
data_pack:
load: .
diff --git a/gm4_scuba_gear/beet.yaml b/gm4_scuba_gear/beet.yaml
index 48027a7fb3..f76d2457f8 100644
--- a/gm4_scuba_gear/beet.yaml
+++ b/gm4_scuba_gear/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_scuba_gear
name: SCUBA Gear
-version: 1.5.X
+version: 1.6.X
data_pack:
load: .
@@ -16,7 +16,7 @@ meta:
gm4:
versioning:
required:
- lib_custom_crafters: 3.2.0
+ lib_custom_crafters: 3.4.0
schedule_loops: [main]
website:
description: Ease ocean exploration with craftable scuba gear!
diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/loot_table/items/flippers.json b/gm4_scuba_gear/data/gm4_scuba_gear/loot_table/items/flippers.json
index b77ad0e39d..a00523ea6c 100644
--- a/gm4_scuba_gear/data/gm4_scuba_gear/loot_table/items/flippers.json
+++ b/gm4_scuba_gear/data/gm4_scuba_gear/loot_table/items/flippers.json
@@ -10,9 +10,11 @@
{
"function": "minecraft:set_components",
"components": {
- "minecraft:dyed_color": {
- "rgb": 11009871,
- "show_in_tooltip": false
+ "minecraft:dyed_color": 11009871,
+ "minecraft:tooltip_display": {
+ "hidden_components": [
+ "minecraft:dyed_color"
+ ]
},
"minecraft:attribute_modifiers": [
{
diff --git a/gm4_shapeless_portals/beet.yaml b/gm4_shapeless_portals/beet.yaml
index 9afb86d7b4..7ce9990fcb 100644
--- a/gm4_shapeless_portals/beet.yaml
+++ b/gm4_shapeless_portals/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_shapeless_portals
name: Shapeless Portals
-version: 1.2.X
+version: 1.3.X
data_pack:
load: .
diff --git a/gm4_shapeless_portals/data/gm4_shapeless_portals/test/create_1x2_portal.mcfunction b/gm4_shapeless_portals/data/gm4_shapeless_portals/test/create_1x2_portal.mcfunction
index 5834b983ff..3eea0b048d 100644
--- a/gm4_shapeless_portals/data/gm4_shapeless_portals/test/create_1x2_portal.mcfunction
+++ b/gm4_shapeless_portals/data/gm4_shapeless_portals/test/create_1x2_portal.mcfunction
@@ -1,5 +1,6 @@
# @template gm4:test_platform
# @dummy ~1.5 ~1 ~0.5
+# @optional
fill ~ ~ ~1 ~2 ~3 ~1 obsidian
fill ~1 ~1 ~1 ~1 ~2 ~1 air
diff --git a/gm4_shroomites/beet.yaml b/gm4_shroomites/beet.yaml
index 4efa2bc70d..1cb746a3f1 100644
--- a/gm4_shroomites/beet.yaml
+++ b/gm4_shroomites/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_shroomites
name: Shroomites
-version: 1.5.X
+version: 1.6.X
data_pack:
load: .
diff --git a/gm4_shroomites/data/gm4_shroomites/function/shroom/check_structure.mcfunction b/gm4_shroomites/data/gm4_shroomites/function/shroom/check_structure.mcfunction
index 53d04e772d..fe06cd0abf 100644
--- a/gm4_shroomites/data/gm4_shroomites/function/shroom/check_structure.mcfunction
+++ b/gm4_shroomites/data/gm4_shroomites/function/shroom/check_structure.mcfunction
@@ -9,4 +9,3 @@ execute if entity @s[tag=gm4_red_shroomite] unless block ~ ~ ~ red_mushroom run
# process this shroom
execute if block ~ ~ ~ #gm4_shroomites:mushrooms run function gm4_shroomites:shroom/process
-
diff --git a/gm4_shroomites/data/gm4_shroomites/function/shroom/place/brown.mcfunction b/gm4_shroomites/data/gm4_shroomites/function/shroom/place/brown.mcfunction
index c9344f9240..7303d24d03 100644
--- a/gm4_shroomites/data/gm4_shroomites/function/shroom/place/brown.mcfunction
+++ b/gm4_shroomites/data/gm4_shroomites/function/shroom/place/brown.mcfunction
@@ -7,7 +7,7 @@
execute unless block ~ ~ ~ #gm4_shroomites:mushrooms run setblock ~ ~ ~ brown_mushroom destroy
# place marker entity unless there is already a shroomite_shroom in this location. Do not place a marker if the global shroom cap was reached.
-execute align xyz positioned ~.5 ~.5 ~.5 unless entity @e[type=marker,tag=gm4_shroomite_shroom,distance=..0.1] run summon marker ~ ~ ~ {Tags:["gm4_shroomite_shroom","gm4_brown_shroomite","smithed.entity","smithed.strict","smithed.block"],CustomName:'"gm4_shroomite_shroom"'}
+execute align xyz positioned ~.5 ~.5 ~.5 unless entity @e[type=marker,tag=gm4_shroomite_shroom,distance=..0.1] run summon marker ~ ~ ~ {Tags:["gm4_shroomite_shroom","gm4_brown_shroomite","smithed.entity","smithed.strict","smithed.block"],CustomName:"gm4_shroomite_shroom"}
execute align xyz positioned ~.5 ~.5 ~.5 run scoreboard players set @e[type=marker,tag=gm4_shroomite_shroom,distance=..0.1] gm4_entity_version 1
# particles
diff --git a/gm4_shroomites/data/gm4_shroomites/function/shroom/place/red.mcfunction b/gm4_shroomites/data/gm4_shroomites/function/shroom/place/red.mcfunction
index c5876642d6..4d2c15df2f 100644
--- a/gm4_shroomites/data/gm4_shroomites/function/shroom/place/red.mcfunction
+++ b/gm4_shroomites/data/gm4_shroomites/function/shroom/place/red.mcfunction
@@ -7,7 +7,7 @@
execute unless block ~ ~ ~ #gm4_shroomites:mushrooms run setblock ~ ~ ~ red_mushroom destroy
# place marker entity unless there is already a shroomite_shroom in this location. Do not place a marker if the global shroom cap was reached.
-execute align xyz positioned ~.5 ~.5 ~.5 unless entity @e[type=marker,tag=gm4_shroomite_shroom,distance=..0.1] run summon marker ~ ~ ~ {Tags:["gm4_shroomite_shroom","gm4_red_shroomite","smithed.entity","smithed.strict","smithed.block"],CustomName:'"gm4_shroomite_shroom"'}
+execute align xyz positioned ~.5 ~.5 ~.5 unless entity @e[type=marker,tag=gm4_shroomite_shroom,distance=..0.1] run summon marker ~ ~ ~ {Tags:["gm4_shroomite_shroom","gm4_red_shroomite","smithed.entity","smithed.strict","smithed.block"],CustomName:"gm4_shroomite_shroom"}
execute align xyz positioned ~.5 ~.5 ~.5 run scoreboard players set @e[type=marker,tag=gm4_shroomite_shroom,distance=..0.1] gm4_entity_version 1
# particles
diff --git a/gm4_shroomites/data/gm4_shroomites/function/slow_clock.mcfunction b/gm4_shroomites/data/gm4_shroomites/function/slow_clock.mcfunction
index 20a11efc7f..3cb6f5ab28 100644
--- a/gm4_shroomites/data/gm4_shroomites/function/slow_clock.mcfunction
+++ b/gm4_shroomites/data/gm4_shroomites/function/slow_clock.mcfunction
@@ -8,7 +8,6 @@ scoreboard players set $slow_clock gm4_shroom_data 0
# handle shrooms
scoreboard players set $global_shroom_count gm4_shroom_data 0
-execute as @e[type=marker,tag=gm4_shroomite_shroom,tag=!smithed.entity] run function gm4_shroomites:upgrade_path/smithed_compat
execute as @e[type=marker,tag=gm4_shroomite_shroom] at @s run function gm4_shroomites:shroom/check_structure
# handle mooshrooms placing shrooms
diff --git a/gm4_shroomites/data/gm4_shroomites/function/spore/initialize.mcfunction b/gm4_shroomites/data/gm4_shroomites/function/spore/initialize.mcfunction
index 94e9e0db6b..5e378467e7 100644
--- a/gm4_shroomites/data/gm4_shroomites/function/spore/initialize.mcfunction
+++ b/gm4_shroomites/data/gm4_shroomites/function/spore/initialize.mcfunction
@@ -4,6 +4,6 @@
# run from gm4_shroomites:spore/spawn
# place correct marker depending on spore color
-execute store success score $success gm4_shroom_data if entity @s[tag=gm4_brown_shroomite] run summon marker ~ ~ ~ {Tags:["gm4_shroomite_spore","gm4_brown_shroomite"],CustomName:'"gm4_shroomite_spore"'}
-execute unless score $success gm4_shroom_data matches 1.. run summon marker ~ ~ ~ {Tags:["gm4_shroomite_spore","gm4_red_shroomite"],CustomName:'"gm4_shroomite_spore"'}
+execute store success score $success gm4_shroom_data if entity @s[tag=gm4_brown_shroomite] run summon marker ~ ~ ~ {Tags:["gm4_shroomite_spore","gm4_brown_shroomite"],CustomName:"gm4_shroomite_spore"}
+execute unless score $success gm4_shroom_data matches 1.. run summon marker ~ ~ ~ {Tags:["gm4_shroomite_spore","gm4_red_shroomite"],CustomName:"gm4_shroomite_spore"}
scoreboard players reset $success gm4_shroom_data
diff --git a/gm4_shroomites/data/gm4_shroomites/function/spore/move/horizontal.mcfunction b/gm4_shroomites/data/gm4_shroomites/function/spore/move/horizontal.mcfunction
index a6f225af1f..fdb7b34c42 100644
--- a/gm4_shroomites/data/gm4_shroomites/function/spore/move/horizontal.mcfunction
+++ b/gm4_shroomites/data/gm4_shroomites/function/spore/move/horizontal.mcfunction
@@ -4,10 +4,10 @@
# run from gm4_shroomites:spore/move/vertical
# select valid directions
-summon marker ~1 ~ ~ {Tags:["gm4_shroomite_path"],CustomName:'"gm4_shroomite_path"'}
-summon marker ~-1 ~ ~ {Tags:["gm4_shroomite_path"],CustomName:'"gm4_shroomite_path"'}
-summon marker ~ ~ ~1 {Tags:["gm4_shroomite_path"],CustomName:'"gm4_shroomite_path"'}
-summon marker ~ ~ ~-1 {Tags:["gm4_shroomite_path"],CustomName:'"gm4_shroomite_path"'}
+summon marker ~1 ~ ~ {Tags:["gm4_shroomite_path"],CustomName:"gm4_shroomite_path"}
+summon marker ~-1 ~ ~ {Tags:["gm4_shroomite_path"],CustomName:"gm4_shroomite_path"}
+summon marker ~ ~ ~1 {Tags:["gm4_shroomite_path"],CustomName:"gm4_shroomite_path"}
+summon marker ~ ~ ~-1 {Tags:["gm4_shroomite_path"],CustomName:"gm4_shroomite_path"}
execute as @e[type=marker,tag=gm4_shroomite_path] at @s if block ~ ~ ~ #gm4:full_collision run function gm4_shroomites:spore/move/step_up
# move in random valid direction
diff --git a/gm4_shroomites/data/gm4_shroomites/function/upgrade_path/smithed_compat.mcfunction b/gm4_shroomites/data/gm4_shroomites/function/upgrade_path/smithed_compat.mcfunction
deleted file mode 100644
index 745b677568..0000000000
--- a/gm4_shroomites/data/gm4_shroomites/function/upgrade_path/smithed_compat.mcfunction
+++ /dev/null
@@ -1,9 +0,0 @@
-# updates entities with smithed tags and entity version
-# @s = old shroomite shroom
-# located at world spawn
-# run from gm4_shroomites:slow_clock
-
-tag @s add smithed.block
-tag @s add smithed.entity
-tag @s add smithed.strict
-scoreboard players set @s gm4_entity_version 1
diff --git a/gm4_smelteries/beet.yaml b/gm4_smelteries/beet.yaml
index fbf1c3d4b4..f421372911 100644
--- a/gm4_smelteries/beet.yaml
+++ b/gm4_smelteries/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_smelteries
name: Smelteries
-version: 1.7.X
+version: 1.8.X
data_pack:
load: .
@@ -18,8 +18,8 @@ meta:
gm4:
versioning:
required:
- lib_custom_crafters: 3.2.0
- lib_machines: 1.3.0
+ lib_custom_crafters: 3.4.0
+ lib_machines: 1.4.0
schedule_loops: [main]
gui_fonts:
diff --git a/gm4_smelteries/data/gm4_smelteries/function/check_ore.mcfunction b/gm4_smelteries/data/gm4_smelteries/function/check_ore.mcfunction
index 6306f8521b..b9e5148f9a 100644
--- a/gm4_smelteries/data/gm4_smelteries/function/check_ore.mcfunction
+++ b/gm4_smelteries/data/gm4_smelteries/function/check_ore.mcfunction
@@ -3,8 +3,8 @@
# located at the smeltery block (furnace)
# run from verify_furnace
-# check if item is doubable by setting the head item of the stand
-data modify entity @s HandItems[0] set from block ~ ~ ~ Items[{Slot:0b}]
+# check if item is double-able by setting the head item of the stand
+data modify entity @s equipment.mainhand set from block ~ ~ ~ Items[{Slot:0b}]
item replace entity @s armor.head with air
execute store result score $double gm4_smelt_data run loot replace entity @s armor.head fish gm4_smelteries:technical/smeltable_display ~ ~ ~ mainhand
item replace entity @s weapon with air
diff --git a/gm4_smelteries/data/gm4_smelteries/function/machine/rotate/east.mcfunction b/gm4_smelteries/data/gm4_smelteries/function/machine/rotate/east.mcfunction
index 12a756630c..9063308375 100644
--- a/gm4_smelteries/data/gm4_smelteries/function/machine/rotate/east.mcfunction
+++ b/gm4_smelteries/data/gm4_smelteries/function/machine/rotate/east.mcfunction
@@ -4,11 +4,11 @@
# run from gm4_smelteries:machine/create
# place furnace
-setblock ~ ~ ~ furnace[facing=east]{CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.smeltery","fallback":"Smeltery"},[{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.smeltery","fallback":"Smeltery","font":"gm4:half_invert"},{"translate":"container.gm4.smeltery","fallback":"Smeltery","font":"gm4:offscreen"},{"translate":"gui.gm4.smeltery","fallback":"","font":"gm4:container_gui","color":"white"},{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.smeltery","fallback":"Smeltery","font":"gm4:half_invert"},{"translate":"container.gm4.smeltery","fallback":"Smeltery","font":"gm4:default","color":"#404040"}]]}'}
+setblock ~ ~ ~ furnace[facing=east]{CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.smeltery","fallback":"Smeltery"},[{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.smeltery","fallback":"Smeltery","font":"gm4:half_invert"},{"translate":"container.gm4.smeltery","fallback":"Smeltery","font":"gm4:offscreen"},{"translate":"gui.gm4.smeltery","fallback":"","font":"gm4:container_gui","color":"white"},{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.smeltery","fallback":"Smeltery","font":"gm4:half_invert"},{"translate":"container.gm4.smeltery","fallback":"Smeltery","font":"gm4:default","color":"#404040"}]]}}
# summon cauldron display armor stand
-summon armor_stand ~-1 ~-1.5 ~ {NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_smeltery_cauldron","gm4_machine_display","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:'"gm4_smeltery_cauldron"',ArmorItems:[{},{},{},{}],Rotation:[-90.0f,0.0f]}
+summon armor_stand ~-1 ~-1.5 ~ {NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_smeltery_cauldron","gm4_machine_display","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:"gm4_smeltery_cauldron",Rotation:[-90.0f,0.0f]}
# summon display armor stand and marker entity
-summon armor_stand ~ ~-0.3 ~ {Small:1b,NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_smeltery_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:'"gm4_smeltery_stand"',ArmorItems:[{},{},{},{id:"minecraft:iron_block",count:1,components:{"minecraft:custom_model_data":"block/smeltery_unlit"}}],Rotation:[-90.0f,0.0f]}
-summon marker ~ ~ ~ {Tags:["gm4_smeltery","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_smeltery"',Rotation:[-90.0f,0.0f]}
+summon armor_stand ~ ~-0.3 ~ {Small:1b,NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_smeltery_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:"gm4_smeltery_stand",equipment:{head:{id:"minecraft:iron_block",count:1,components:{"minecraft:custom_model_data":"block/smeltery_unlit"}}},Rotation:[-90.0f,0.0f]}
+summon marker ~ ~ ~ {Tags:["gm4_smeltery","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:"gm4_smeltery",Rotation:[-90.0f,0.0f]}
diff --git a/gm4_smelteries/data/gm4_smelteries/function/machine/rotate/north.mcfunction b/gm4_smelteries/data/gm4_smelteries/function/machine/rotate/north.mcfunction
index 882edaa64d..5cbfe40006 100644
--- a/gm4_smelteries/data/gm4_smelteries/function/machine/rotate/north.mcfunction
+++ b/gm4_smelteries/data/gm4_smelteries/function/machine/rotate/north.mcfunction
@@ -4,11 +4,11 @@
# run from gm4_smelteries:machine/create
# place furnace
-setblock ~ ~ ~ furnace[facing=north]{CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.smeltery","fallback":"Smeltery"},[{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.smeltery","fallback":"Smeltery","font":"gm4:half_invert"},{"translate":"container.gm4.smeltery","fallback":"Smeltery","font":"gm4:offscreen"},{"translate":"gui.gm4.smeltery","fallback":"","font":"gm4:container_gui","color":"white"},{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.smeltery","fallback":"Smeltery","font":"gm4:half_invert"},{"translate":"container.gm4.smeltery","fallback":"Smeltery","font":"gm4:default","color":"#404040"}]]}'}
+setblock ~ ~ ~ furnace[facing=north]{CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.smeltery","fallback":"Smeltery"},[{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.smeltery","fallback":"Smeltery","font":"gm4:half_invert"},{"translate":"container.gm4.smeltery","fallback":"Smeltery","font":"gm4:offscreen"},{"translate":"gui.gm4.smeltery","fallback":"","font":"gm4:container_gui","color":"white"},{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.smeltery","fallback":"Smeltery","font":"gm4:half_invert"},{"translate":"container.gm4.smeltery","fallback":"Smeltery","font":"gm4:default","color":"#404040"}]]}}
# summon cauldron display armor stand
-summon armor_stand ~ ~-1.5 ~1 {NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_smeltery_cauldron","gm4_machine_display","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:'"gm4_smeltery_cauldron"',ArmorItems:[{},{},{},{}],Rotation:[180.0f,0.0f]}
+summon armor_stand ~ ~-1.5 ~1 {NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_smeltery_cauldron","gm4_machine_display","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:"gm4_smeltery_cauldron",Rotation:[180.0f,0.0f]}
# summon display armor stand and marker entity
-summon armor_stand ~ ~-0.3 ~ {Small:1b,NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_smeltery_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:'"gm4_smeltery_stand"',ArmorItems:[{},{},{},{id:"minecraft:iron_block",count:1,components:{"minecraft:custom_model_data":"block/smeltery_unlit"}}],Rotation:[180.0f,0.0f]}
-summon marker ~ ~ ~ {Tags:["gm4_smeltery","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_smeltery"',Rotation:[180.0f,0.0f]}
+summon armor_stand ~ ~-0.3 ~ {Small:1b,NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_smeltery_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:"gm4_smeltery_stand",equipment:{head:{id:"minecraft:iron_block",count:1,components:{"minecraft:custom_model_data":"block/smeltery_unlit"}}},Rotation:[180.0f,0.0f]}
+summon marker ~ ~ ~ {Tags:["gm4_smeltery","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:"gm4_smeltery",Rotation:[180.0f,0.0f]}
diff --git a/gm4_smelteries/data/gm4_smelteries/function/machine/rotate/south.mcfunction b/gm4_smelteries/data/gm4_smelteries/function/machine/rotate/south.mcfunction
index e07502cde2..222fe4826c 100644
--- a/gm4_smelteries/data/gm4_smelteries/function/machine/rotate/south.mcfunction
+++ b/gm4_smelteries/data/gm4_smelteries/function/machine/rotate/south.mcfunction
@@ -4,11 +4,11 @@
# run from gm4_smelteries:machine/create
# place furnace
-setblock ~ ~ ~ furnace[facing=south]{CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.smeltery","fallback":"Smeltery"},[{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.smeltery","fallback":"Smeltery","font":"gm4:half_invert"},{"translate":"container.gm4.smeltery","fallback":"Smeltery","font":"gm4:offscreen"},{"translate":"gui.gm4.smeltery","fallback":"","font":"gm4:container_gui","color":"white"},{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.smeltery","fallback":"Smeltery","font":"gm4:half_invert"},{"translate":"container.gm4.smeltery","fallback":"Smeltery","font":"gm4:default","color":"#404040"}]]}'}
+setblock ~ ~ ~ furnace[facing=south]{CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.smeltery","fallback":"Smeltery"},[{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.smeltery","fallback":"Smeltery","font":"gm4:half_invert"},{"translate":"container.gm4.smeltery","fallback":"Smeltery","font":"gm4:offscreen"},{"translate":"gui.gm4.smeltery","fallback":"","font":"gm4:container_gui","color":"white"},{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.smeltery","fallback":"Smeltery","font":"gm4:half_invert"},{"translate":"container.gm4.smeltery","fallback":"Smeltery","font":"gm4:default","color":"#404040"}]]}}
# summon cauldron display armor stand
-summon armor_stand ~ ~-1.5 ~-1 {NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_smeltery_cauldron","gm4_machine_display","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:'"gm4_smeltery_cauldron"',ArmorItems:[{},{},{},{}],Rotation:[0.0f,0.0f]}
+summon armor_stand ~ ~-1.5 ~-1 {NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_smeltery_cauldron","gm4_machine_display","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:"gm4_smeltery_cauldron",Rotation:[0.0f,0.0f]}
# summon display armor stand and marker entity
-summon armor_stand ~ ~-0.3 ~ {Small:1b,NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_smeltery_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:'"gm4_smeltery_stand"',ArmorItems:[{},{},{},{id:"minecraft:iron_block",count:1,components:{"minecraft:custom_model_data":"block/smeltery_unlit"}}],Rotation:[0.0f,0.0f]}
-summon marker ~ ~ ~ {Tags:["gm4_smeltery","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_smeltery"',Rotation:[0.0f,0.0f]}
+summon armor_stand ~ ~-0.3 ~ {Small:1b,NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_smeltery_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:"gm4_smeltery_stand",equipment:{head:{id:"minecraft:iron_block",count:1,components:{"minecraft:custom_model_data":"block/smeltery_unlit"}}},Rotation:[0.0f,0.0f]}
+summon marker ~ ~ ~ {Tags:["gm4_smeltery","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:"gm4_smeltery",Rotation:[0.0f,0.0f]}
diff --git a/gm4_smelteries/data/gm4_smelteries/function/machine/rotate/west.mcfunction b/gm4_smelteries/data/gm4_smelteries/function/machine/rotate/west.mcfunction
index cc36ea2f30..97fb982fdf 100644
--- a/gm4_smelteries/data/gm4_smelteries/function/machine/rotate/west.mcfunction
+++ b/gm4_smelteries/data/gm4_smelteries/function/machine/rotate/west.mcfunction
@@ -4,11 +4,11 @@
# run from gm4_smelteries:machine/create
# place furnace
-setblock ~ ~ ~ furnace[facing=west]{CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.smeltery","fallback":"Smeltery"},[{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.smeltery","fallback":"Smeltery","font":"gm4:half_invert"},{"translate":"container.gm4.smeltery","fallback":"Smeltery","font":"gm4:offscreen"},{"translate":"gui.gm4.smeltery","fallback":"","font":"gm4:container_gui","color":"white"},{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.smeltery","fallback":"Smeltery","font":"gm4:half_invert"},{"translate":"container.gm4.smeltery","fallback":"Smeltery","font":"gm4:default","color":"#404040"}]]}'}
+setblock ~ ~ ~ furnace[facing=west]{CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.smeltery","fallback":"Smeltery"},[{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.smeltery","fallback":"Smeltery","font":"gm4:half_invert"},{"translate":"container.gm4.smeltery","fallback":"Smeltery","font":"gm4:offscreen"},{"translate":"gui.gm4.smeltery","fallback":"","font":"gm4:container_gui","color":"white"},{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.smeltery","fallback":"Smeltery","font":"gm4:half_invert"},{"translate":"container.gm4.smeltery","fallback":"Smeltery","font":"gm4:default","color":"#404040"}]]}}
# summon cauldron display armor stand
-summon armor_stand ~1 ~-1.5 ~ {NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_smeltery_cauldron","gm4_machine_display","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:'"gm4_smeltery_cauldron"',ArmorItems:[{},{},{},{}],Rotation:[90.0f,0.0f]}
+summon armor_stand ~1 ~-1.5 ~ {NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_smeltery_cauldron","gm4_machine_display","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:"gm4_smeltery_cauldron",Rotation:[90.0f,0.0f]}
# summon display armor stand and marker entity
-summon armor_stand ~ ~-0.3 ~ {Small:1b,NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_smeltery_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:'"gm4_smeltery_stand"',ArmorItems:[{},{},{},{id:"minecraft:iron_block",count:1,components:{"minecraft:custom_model_data":"block/smeltery_unlit"}}],Rotation:[90.0f,0.0f]}
-summon marker ~ ~ ~ {Tags:["gm4_smeltery","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_smeltery"',Rotation:[90.0f,0.0f]}
+summon armor_stand ~ ~-0.3 ~ {Small:1b,NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_smeltery_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:"gm4_smeltery_stand",equipment:{head:{id:"minecraft:iron_block",count:1,components:{"minecraft:custom_model_data":"block/smeltery_unlit"}}},Rotation:[90.0f,0.0f]}
+summon marker ~ ~ ~ {Tags:["gm4_smeltery","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:"gm4_smeltery",Rotation:[90.0f,0.0f]}
diff --git a/gm4_smelteries/data/gm4_smelteries/function/relocate/place_down.mcfunction b/gm4_smelteries/data/gm4_smelteries/function/relocate/place_down.mcfunction
index 7fa5bb6d4d..e4dde5a79d 100644
--- a/gm4_smelteries/data/gm4_smelteries/function/relocate/place_down.mcfunction
+++ b/gm4_smelteries/data/gm4_smelteries/function/relocate/place_down.mcfunction
@@ -7,6 +7,6 @@ execute if block ~ ~ ~ command_block[facing=south] run setblock ~ ~ ~ hopper[fac
execute if block ~ ~ ~ command_block[facing=north] run setblock ~ ~ ~ hopper[facing=north]
execute if block ~ ~ ~ command_block[facing=down] run setblock ~ ~ ~ hopper[facing=down]
-data merge block ~ ~ ~ {CustomName:'{"translate":"container.gm4.smeltery","fallback":"Smeltery"}'}
-summon armor_stand ~ ~-.4 ~ {Silent:1b,Small:1b,NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,DisabledSlots:2039552,Tags:["gm4_smeltery","gm4_no_edit","gm4_machine"],Rotation:[45f,0f],HasVisualFire:1b,CustomName:'"gm4_smeltery"',ArmorItems:[{},{},{},{id:"minecraft:gray_stained_glass",count:1,components:{"minecraft:custom_model_data":3420001}}],HandItems:[{},{id:"minecraft:stone_button",count:1,components:{"minecraft:custom_model_data":3420005}}],Pose:{LeftArm:[0f, 0f, 0f]}}
+data merge block ~ ~ ~ {CustomName:{"translate":"container.gm4.smeltery","fallback":"Smeltery"}}
+summon armor_stand ~ ~-.4 ~ {Silent:1b,Small:1b,NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,DisabledSlots:2039552,Tags:["gm4_smeltery","gm4_no_edit","gm4_machine"],Rotation:[45f,0f],HasVisualFire:1b,CustomName:"gm4_smeltery",equipment:{head:{id:"minecraft:gray_stained_glass",count:1,components:{"minecraft:custom_model_data":{floats:[3420001]}}},offhand:{id:"minecraft:stone_button",count:1,components:{"minecraft:custom_model_data":{floats:[3420005]}}}},Pose:{LeftArm:[0f, 0f, 0f]}}
playsound block.anvil.use block @a[distance=..4] ~ ~ ~ 1 0.8 1
diff --git a/gm4_smelteries/data/gm4_smelteries/function/relocate/set_pick_up_data.mcfunction b/gm4_smelteries/data/gm4_smelteries/function/relocate/set_pick_up_data.mcfunction
index 5f26e4f1bd..d5bcf746bc 100644
--- a/gm4_smelteries/data/gm4_smelteries/function/relocate/set_pick_up_data.mcfunction
+++ b/gm4_smelteries/data/gm4_smelteries/function/relocate/set_pick_up_data.mcfunction
@@ -3,9 +3,9 @@
# located at the center of the block to be picked up
# run from gm4_smelteries:relocate/pick_up_check
-data modify storage gm4_relocators:temp merge_data set value {custom_block:"gm4_smeltery",lore:'{"translate":"block.gm4.smeltery","fallback":"Smeltery","color":"gray","italic":true}'}
+data modify storage gm4_relocators:temp merge_data set value {custom_block:"gm4_smeltery",lore:{"translate":"block.gm4.smeltery","fallback":"Smeltery","color":"gray","italic":true}}
data modify storage gm4_relocators:temp merge_data.entity_data.Rotation set from entity @s Rotation
-data modify storage gm4_relocators:temp merge_data.entity_data.ArmorItems set from entity @e[type=armor_stand,tag=gm4_smeltery_stand,distance=..0.6,limit=1] ArmorItems
+data modify storage gm4_relocators:temp merge_data.entity_data.equipment set from entity @e[type=armor_stand,tag=gm4_smeltery_stand,distance=..0.6,limit=1] equipment
kill @e[type=armor_stand,tag=gm4_smeltery_stand,limit=1,distance=..0.6]
scoreboard players operation $current gm4_smelt_id = @s gm4_smelt_id
diff --git a/gm4_smelteries/data/gm4_smelteries/function/relocate/summon_block_markers.mcfunction b/gm4_smelteries/data/gm4_smelteries/function/relocate/summon_block_markers.mcfunction
index 78d358d19b..c4fb1a6102 100644
--- a/gm4_smelteries/data/gm4_smelteries/function/relocate/summon_block_markers.mcfunction
+++ b/gm4_smelteries/data/gm4_smelteries/function/relocate/summon_block_markers.mcfunction
@@ -5,12 +5,12 @@
scoreboard players set $placed_block gm4_rl_data 1
-summon armor_stand ~ ~-0.3 ~ {Small:1b,NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_smeltery_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:'"gm4_smeltery_stand"',ArmorItems:[{},{},{},{id:"minecraft:iron_block",count:1,components:{"minecraft:custom_model_data":"block/smeltery_unlit"}}],Rotation:[180.0f,0.0f]}
-summon marker ~ ~ ~ {Tags:["gm4_smeltery","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_smeltery"',Rotation:[180.0f,0.0f]}
+summon armor_stand ~ ~-0.3 ~ {Small:1b,NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_smeltery_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:"gm4_smeltery_stand",equipment:{head:{id:"minecraft:iron_block",count:1,components:{"minecraft:custom_model_data":"block/smeltery_unlit"}}},Rotation:[180.0f,0.0f]}
+summon marker ~ ~ ~ {Tags:["gm4_smeltery","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:"gm4_smeltery",Rotation:[180.0f,0.0f]}
execute as @e[tag=gm4_new_machine,distance=..2] run data modify entity @s Rotation set from storage gm4_relocators:temp gm4_relocation.entity_data.Rotation
-execute as @e[type=armor_stand,tag=gm4_new_machine,distance=..2] run data modify entity @s ArmorItems set from storage gm4_relocators:temp gm4_relocation.entity_data.ArmorItems
+execute as @e[type=armor_stand,tag=gm4_new_machine,distance=..2] run data modify entity @s equipment set from storage gm4_relocators:temp gm4_relocation.entity_data.equipment
-execute rotated as @e[type=marker,tag=gm4_new_machine,distance=..2,limit=1] run summon armor_stand ^ ^-1.5 ^-1 {NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_smeltery_cauldron","gm4_machine_display","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:'"gm4_smeltery_cauldron"',ArmorItems:[{},{},{},{}],Rotation:[180.0f,0.0f]}
+execute rotated as @e[type=marker,tag=gm4_new_machine,distance=..2,limit=1] run summon armor_stand ^ ^-1.5 ^-1 {NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,Silent:1b,DisabledSlots:4144959,Tags:["gm4_no_edit","gm4_smeltery_cauldron","gm4_machine_display","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:"gm4_smeltery_cauldron",Rotation:[180.0f,0.0f]}
execute store result score $new gm4_smelt_id run data get entity @e[type=marker,distance=..0.1,tag=gm4_new_machine,limit=1] UUID[3]
scoreboard players operation @e[distance=..3,tag=gm4_new_machine] gm4_smelt_id = $new gm4_smelt_id
diff --git a/gm4_smelteries/data/gm4_smelteries/function/smelt/smelting.mcfunction b/gm4_smelteries/data/gm4_smelteries/function/smelt/smelting.mcfunction
index 0918306d6c..34dedaddf0 100644
--- a/gm4_smelteries/data/gm4_smelteries/function/smelt/smelting.mcfunction
+++ b/gm4_smelteries/data/gm4_smelteries/function/smelt/smelting.mcfunction
@@ -4,7 +4,7 @@
# run from smelt/check_cook_time
# check if item is doubable by setting the head item of the stand
-data modify entity @s HandItems[0] set from block ~ ~ ~ Items[{Slot:0b}]
+data modify entity @s equipment.mainhand set from block ~ ~ ~ Items[{Slot:0b}]
item replace entity @s armor.head with air
execute store result score $double gm4_smelt_data run loot replace entity @s armor.head fish gm4_smelteries:technical/smeltable_display ~ ~ ~ mainhand
item replace entity @s weapon with air
diff --git a/gm4_smelteries/data/gm4_smelteries/guidebook/smelteries.json b/gm4_smelteries/data/gm4_smelteries/guidebook/smelteries.json
index d3b4165942..216e805cea 100644
--- a/gm4_smelteries/data/gm4_smelteries/guidebook/smelteries.json
+++ b/gm4_smelteries/data/gm4_smelteries/guidebook/smelteries.json
@@ -17,7 +17,7 @@
"blocks": [
"minecraft:dropper"
],
- "nbt": "{CustomName:'{\"translate\":\"gm4.second\",\"fallback\":\"%1$s\",\"with\":[{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\"},{\"text\":\" \",\"extra\":[{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:offscreen\"},{\"translate\":\"gui.gm4.custom_crafter\",\"fallback\":\"\",\"font\":\"gm4:container_gui\",\"color\":\"white\"},{\"text\":\" \",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:default\",\"color\":\"#404040\"}],\"font\":\"gm4:half_invert\"}]}'}"
+ "nbt": "{CustomName:{\"translate\":\"gm4.second\",\"fallback\":\"%1$s\",\"with\":[{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\"},{\"text\":\" \",\"extra\":[{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:offscreen\"},{\"translate\":\"gui.gm4.custom_crafter\",\"fallback\":\"\",\"font\":\"gm4:container_gui\",\"color\":\"white\"},{\"text\":\" \",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:default\",\"color\":\"#404040\"}],\"font\":\"gm4:half_invert\"}]}}"
}
}
}
@@ -59,7 +59,7 @@
"blocks": [
"minecraft:furnace"
],
- "nbt": "{CustomName:'{\"translate\":\"gm4.second\",\"fallback\":\"%1$s\",\"with\":[{\"translate\":\"container.gm4.smeltery\",\"fallback\":\"Smeltery\"},{\"text\":\" \",\"extra\":[{\"translate\":\"container.gm4.smeltery\",\"fallback\":\"Smeltery\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.smeltery\",\"fallback\":\"Smeltery\",\"font\":\"gm4:offscreen\"},{\"translate\":\"gui.gm4.smeltery\",\"fallback\":\"\",\"font\":\"gm4:container_gui\",\"color\":\"white\"},{\"text\":\" \",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.smeltery\",\"fallback\":\"Smeltery\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.smeltery\",\"fallback\":\"Smeltery\",\"font\":\"gm4:default\",\"color\":\"#404040\"}],\"font\":\"gm4:half_invert\"}]}'}"
+ "nbt": "{CustomName:{\"translate\":\"gm4.second\",\"fallback\":\"%1$s\",\"with\":[{\"translate\":\"container.gm4.smeltery\",\"fallback\":\"Smeltery\"},{\"text\":\" \",\"extra\":[{\"translate\":\"container.gm4.smeltery\",\"fallback\":\"Smeltery\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.smeltery\",\"fallback\":\"Smeltery\",\"font\":\"gm4:offscreen\"},{\"translate\":\"gui.gm4.smeltery\",\"fallback\":\"\",\"font\":\"gm4:container_gui\",\"color\":\"white\"},{\"text\":\" \",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.smeltery\",\"fallback\":\"Smeltery\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.smeltery\",\"fallback\":\"Smeltery\",\"font\":\"gm4:default\",\"color\":\"#404040\"}],\"font\":\"gm4:half_invert\"}]}}"
}
}
}
diff --git a/gm4_smelteries/data/gm4_smelteries/recipe/smeltery.json b/gm4_smelteries/data/gm4_smelteries/recipe/smeltery.json
index 3942609544..c9dc6ec599 100644
--- a/gm4_smelteries/data/gm4_smelteries/recipe/smeltery.json
+++ b/gm4_smelteries/data/gm4_smelteries/recipe/smeltery.json
@@ -18,7 +18,7 @@
"minecraft:custom_model_data": "item/smeltery",
"minecraft:profile": "$smeltery",
"minecraft:custom_data": "{gm4_machines:{id:'smeltery'}}",
- "minecraft:custom_name": "{\"translate\":\"block.gm4.smeltery\",\"fallback\":\"Smeltery\",\"color\":\"white\",\"italic\":false}"
+ "minecraft:custom_name": {"translate":"block.gm4.smeltery","fallback":"Smeltery","color":"white","italic":false}
}
}
}
diff --git a/gm4_smelteries/ore_display.py b/gm4_smelteries/ore_display.py
index 46c63aa09e..76d0646d26 100644
--- a/gm4_smelteries/ore_display.py
+++ b/gm4_smelteries/ore_display.py
@@ -14,7 +14,7 @@ class OreDisplayTemplate(TemplateOptions):
)
]
- def process(self, config: ModelData, models_container: NamespaceProxy[Model]):
+ def create_models(self, config: ModelData, models_container: NamespaceProxy[Model]):
model_name = ensure_single_model_config(self.name, config)
reference = config.reference.split('/')[-1]
m = models_container[model_name] = Model({
diff --git a/gm4_soul_glass/beet.yaml b/gm4_soul_glass/beet.yaml
index e148021626..27daf32dea 100644
--- a/gm4_soul_glass/beet.yaml
+++ b/gm4_soul_glass/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_soul_glass
name: Soul Glass
-version: 1.4.X
+version: 1.5.X
data_pack:
load: .
@@ -13,7 +13,7 @@ meta:
gm4:
versioning:
required:
- lib_machines: 1.3.0
+ lib_machines: 1.4.0
schedule_loops:
- main
- beacon_clock
diff --git a/gm4_soul_glass/data/gm4_soul_glass/function/destroy.mcfunction b/gm4_soul_glass/data/gm4_soul_glass/function/destroy.mcfunction
deleted file mode 100644
index 5b29d5ee9d..0000000000
--- a/gm4_soul_glass/data/gm4_soul_glass/function/destroy.mcfunction
+++ /dev/null
@@ -1,8 +0,0 @@
-#@s = soul glass AEC
-#run from process
-
-setblock ~ ~ ~ air
-summon item ~ ~ ~ {Motion:[0.0,0.2,0.0],PickupDelay:10s,Item:{id:"minecraft:brown_stained_glass",count:1,components:{"minecraft:custom_model_data":"item/soul_glass","minecraft:custom_data":{gm4_soul_glass:1b},"minecraft:enchantment_glint_override":true,"minecraft:custom_name":'{"translate":"item.gm4.soul_glass","fallback":"Soul Glass","italic":false}'}}}
-playsound minecraft:block.fire.extinguish block @a[distance=..10] ~ ~ ~ .4
-
-kill @s
diff --git a/gm4_soul_glass/data/gm4_soul_glass/function/machine/destroy.mcfunction b/gm4_soul_glass/data/gm4_soul_glass/function/machine/destroy.mcfunction
index 8905dd47e8..864ba7a135 100644
--- a/gm4_soul_glass/data/gm4_soul_glass/function/machine/destroy.mcfunction
+++ b/gm4_soul_glass/data/gm4_soul_glass/function/machine/destroy.mcfunction
@@ -3,6 +3,20 @@
# located at @s
# run from gm4_smelteries:machine/verify_destroy
+# restore beacon effect
+execute if score @s gm4_sg_primary matches 1 run data modify block ~ ~-1 ~ primary_effect set value "minecraft:speed"
+execute if score @s gm4_sg_primary matches 3 run data modify block ~ ~-1 ~ primary_effect set value "minecraft:haste"
+execute if score @s gm4_sg_primary matches 5 run data modify block ~ ~-1 ~ primary_effect set value "minecraft:strength"
+execute if score @s gm4_sg_primary matches 8 run data modify block ~ ~-1 ~ primary_effect set value "minecraft:jump_boost"
+execute if score @s gm4_sg_primary matches 11 run data modify block ~ ~-1 ~ primary_effect set value "minecraft:resistance"
+
+execute if score @s gm4_sg_secondary matches 1 run data modify block ~ ~-1 ~ secondary_effect set value "minecraft:speed"
+execute if score @s gm4_sg_secondary matches 3 run data modify block ~ ~-1 ~ secondary_effect set value "minecraft:haste"
+execute if score @s gm4_sg_secondary matches 5 run data modify block ~ ~-1 ~ secondary_effect set value "minecraft:strength"
+execute if score @s gm4_sg_secondary matches 8 run data modify block ~ ~-1 ~ secondary_effect set value "minecraft:jump_boost"
+execute if score @s gm4_sg_secondary matches 10 run data modify block ~ ~-1 ~ secondary_effect set value "minecraft:regeneration"
+execute if score @s gm4_sg_secondary matches 11 run data modify block ~ ~-1 ~ secondary_effect set value "minecraft:resistance"
+
# kill entities related to machine block
execute store result score $dropped_item gm4_machine_data run kill @e[type=item,distance=..1,nbt={Age:0s,Item:{id:"minecraft:brown_stained_glass",count:1}},nbt=!{Item:{components:{}}},limit=1,sort=nearest]
kill @s
diff --git a/gm4_soul_glass/data/gm4_soul_glass/function/place_soul_glass.mcfunction b/gm4_soul_glass/data/gm4_soul_glass/function/place_soul_glass.mcfunction
index 29398061cc..0f31097491 100644
--- a/gm4_soul_glass/data/gm4_soul_glass/function/place_soul_glass.mcfunction
+++ b/gm4_soul_glass/data/gm4_soul_glass/function/place_soul_glass.mcfunction
@@ -6,7 +6,7 @@ summon marker ~ ~ ~ {Tags:["gm4_soul_glass_ray"]}
execute anchored eyes positioned ^ ^ ^ anchored feet run tp @e[tag=gm4_soul_glass_ray] ^ ^ ^ ~ ~
scoreboard players set gm4_ray_counter gm4_count 0
execute as @e[tag=gm4_soul_glass_ray] at @s run function gm4_soul_glass:ray
-execute at @e[tag=gm4_soul_glass_ray] align xyz positioned ~0.5 ~0.5 ~0.5 unless entity @e[type=marker,distance=..0.1,tag=gm4_soul_glass,limit=1] run summon marker ~ ~ ~ {CustomName:'"gm4_soul_glass"',Tags:["gm4_soul_glass","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"]}
+execute at @e[tag=gm4_soul_glass_ray] align xyz positioned ~0.5 ~0.5 ~0.5 unless entity @e[type=marker,distance=..0.1,tag=gm4_soul_glass,limit=1] run summon marker ~ ~ ~ {CustomName:"gm4_soul_glass",Tags:["gm4_soul_glass","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"]}
scoreboard players set @e[type=marker,tag=gm4_new_machine,distance=..6] gm4_entity_version 1
tag @e[type=marker,distance=..6] remove gm4_new_machine
kill @e[tag=gm4_soul_glass_ray]
diff --git a/gm4_soul_glass/data/gm4_soul_glass/recipe/soul_glass.json b/gm4_soul_glass/data/gm4_soul_glass/recipe/soul_glass.json
index 005a38aa66..85837046c8 100644
--- a/gm4_soul_glass/data/gm4_soul_glass/recipe/soul_glass.json
+++ b/gm4_soul_glass/data/gm4_soul_glass/recipe/soul_glass.json
@@ -7,7 +7,7 @@
"minecraft:custom_model_data": "item/soul_glass",
"minecraft:custom_data": "{gm4_soul_glass:1b}",
"minecraft:enchantment_glint_override": true,
- "minecraft:custom_name": "{\"translate\":\"item.gm4.soul_glass\",\"fallback\":\"Soul Glass\",\"italic\":false}"
+ "minecraft:custom_name": {"translate":"item.gm4.soul_glass","fallback":"Soul Glass","italic":false}
}
},
"experience": 1.0,
diff --git a/gm4_spawner_minecarts/beet.yaml b/gm4_spawner_minecarts/beet.yaml
index 64021cc9cc..1e16ffbea5 100644
--- a/gm4_spawner_minecarts/beet.yaml
+++ b/gm4_spawner_minecarts/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_spawner_minecarts
name: Spawner Minecarts
-version: 2.6.X
+version: 2.7.X
data_pack:
load: .
diff --git a/gm4_spawner_minecarts/data/gm4_spawner_minecarts/function/fuel/active_regeneration.mcfunction b/gm4_spawner_minecarts/data/gm4_spawner_minecarts/function/fuel/active_regeneration.mcfunction
index f3540a6b9b..565db41924 100644
--- a/gm4_spawner_minecarts/data/gm4_spawner_minecarts/function/fuel/active_regeneration.mcfunction
+++ b/gm4_spawner_minecarts/data/gm4_spawner_minecarts/function/fuel/active_regeneration.mcfunction
@@ -2,7 +2,7 @@
#run from process
tag @s add gm4_processing_spawner
-summon area_effect_cloud ~-4 ~ ~-4 {Duration:10,CustomName:'"gm4_spawner_flower_checker"',Tags:["gm4_spawner_flower_checker"]}
+summon area_effect_cloud ~-4 ~ ~-4 {Radius:0.0f,Particle:{type:"minecraft:block",block_state:"minecraft:air"},Duration:10,CustomName:"gm4_spawner_flower_checker",Tags:["gm4_spawner_flower_checker"]}
#calculate random position
execute store result score randomX gm4_spawner_fuel run data get entity @e[tag=gm4_spawner_flower_checker,limit=1] UUID[0]
diff --git a/gm4_spawner_minecarts/data/gm4_spawner_minecarts/function/fuel/consume_flower.mcfunction b/gm4_spawner_minecarts/data/gm4_spawner_minecarts/function/fuel/consume_flower.mcfunction
index 64e77f4cc9..745aa304cd 100644
--- a/gm4_spawner_minecarts/data/gm4_spawner_minecarts/function/fuel/consume_flower.mcfunction
+++ b/gm4_spawner_minecarts/data/gm4_spawner_minecarts/function/fuel/consume_flower.mcfunction
@@ -27,7 +27,7 @@ execute if block ~ ~ ~ lily_of_the_valley if score lily_of_the_valley gm4_sm_flo
execute if block ~ ~ ~ lily_of_the_valley if score lily_of_the_valley gm4_sm_flowers matches 0 run function gm4_spawner_minecarts:fuel/consume_normal_flower
#summon pretty entity line
-summon area_effect_cloud ~ ~ ~ {Tags:["gm4_spawner_minecart_decorative_particle","gm4_unrotated_particle_cloud"],Duration:200,Particle:{type:"minecraft:block",block_state:"minecraft:air"},CustomName:'"Spawner Minecart Decorative Particle"'}
+summon area_effect_cloud ~ ~ ~ {Radius:0.0f,Tags:["gm4_spawner_minecart_decorative_particle","gm4_unrotated_particle_cloud"],Duration:200,Particle:{type:"minecraft:block",block_state:"minecraft:air"},CustomName:"Spawner Minecart Decorative Particle"}
teleport @e[type=area_effect_cloud,tag=gm4_unrotated_particle_cloud,limit=1] ~ ~ ~ facing entity @e[type=spawner_minecart,tag=gm4_processing_spawner,limit=1] eyes
tag @e[type=area_effect_cloud,tag=gm4_unrotated_particle_cloud] remove gm4_unrotated_particle_cloud
diff --git a/gm4_speed_paths/beet.yaml b/gm4_speed_paths/beet.yaml
index b90a82d295..84017599a5 100644
--- a/gm4_speed_paths/beet.yaml
+++ b/gm4_speed_paths/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_speed_paths
name: Speed Paths
-version: 1.5.X
+version: 1.6.X
data_pack:
load: .
diff --git a/gm4_standard_crafting/beet.yaml b/gm4_standard_crafting/beet.yaml
index 27981d9216..011cd3300a 100644
--- a/gm4_standard_crafting/beet.yaml
+++ b/gm4_standard_crafting/beet.yaml
@@ -1,14 +1,9 @@
id: gm4_standard_crafting
name: Standard Crafting
-version: 1.5.X
+version: 1.6.X
data_pack:
load: .
- overlays:
- - formats:
- min_inclusive: 61
- max_inclusive: 61
- directory: since_61
pipeline:
- generate_recipes
@@ -19,7 +14,7 @@ meta:
gm4:
versioning:
required:
- lib_custom_crafters: 3.2.0
+ lib_custom_crafters: 3.4.0
website:
description: A crafting recipe pack that adds some nifty new recipes to the game.
recommended: []
diff --git a/gm4_standard_crafting/data/gm4_standard_crafting/guidebook/standard_crafting.json b/gm4_standard_crafting/data/gm4_standard_crafting/guidebook/standard_crafting.json
index 875ed4ffe0..2b3dc54034 100644
--- a/gm4_standard_crafting/data/gm4_standard_crafting/guidebook/standard_crafting.json
+++ b/gm4_standard_crafting/data/gm4_standard_crafting/guidebook/standard_crafting.json
@@ -18,7 +18,7 @@
"blocks": [
"minecraft:dropper"
],
- "nbt": "{CustomName:'{\"translate\":\"gm4.second\",\"fallback\":\"%1$s\",\"with\":[{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\"},{\"text\":\" \",\"extra\":[{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:offscreen\"},{\"translate\":\"gui.gm4.custom_crafter\",\"fallback\":\"\",\"font\":\"gm4:container_gui\",\"color\":\"white\"},{\"text\":\" \",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:default\",\"color\":\"#404040\"}],\"font\":\"gm4:half_invert\"}]}'}"
+ "nbt": "{CustomName:{\"translate\":\"gm4.second\",\"fallback\":\"%1$s\",\"with\":[{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\"},{\"text\":\" \",\"extra\":[{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:offscreen\"},{\"translate\":\"gui.gm4.custom_crafter\",\"fallback\":\"\",\"font\":\"gm4:container_gui\",\"color\":\"white\"},{\"text\":\" \",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:default\",\"color\":\"#404040\"}],\"font\":\"gm4:half_invert\"}]}}"
}
}
}
diff --git a/gm4_standard_crafting/generate_recipes.py b/gm4_standard_crafting/generate_recipes.py
index 74ab3e11c0..888323fe11 100644
--- a/gm4_standard_crafting/generate_recipes.py
+++ b/gm4_standard_crafting/generate_recipes.py
@@ -10,14 +10,14 @@ def beet_default(ctx: Context):
NOTE: Function definitions for custom crafters is explicitly set to a 2x2"""
vanilla = ctx.inject(Vanilla)
- vanilla.minecraft_version = '1.21.4'
+ vanilla.minecraft_version = '1.21.5'
item_tags = vanilla.mount("data/minecraft/tags/item").data.item_tags
recipes = vanilla.mount("data/minecraft/recipe").data.recipes
- def recursive_apply(items: list[str], dir: str, shape: list[str], output_count: int, function: Function, since_61_function: Function):
+ def recursive_apply(items: list[str], dir: str, shape: list[str], output_count: int, function: Function):
for item in items:
if "#" in item:
- recursive_apply(item_tags[item.lstrip("#")].data["values"], dir, shape, output_count, function, since_61_function)
+ recursive_apply(item_tags[item.lstrip("#")].data["values"], dir, shape, output_count, function)
continue
# get full block id from the vanilla stair recipe
@@ -33,9 +33,6 @@ def recursive_apply(items: list[str], dir: str, shape: list[str], output_count:
recipe_path = f"gm4_standard_crafting:{dir}/{item.removeprefix('minecraft:')}"
- since_61 = "pale_oak" in item or "resin" in item
- output_pack = ctx.data.overlays["since_61"] if since_61 else ctx.data
-
output_recipe = recipes.get(output)
if output_recipe is None:
group: str = output.removeprefix('minecraft:')
@@ -56,9 +53,9 @@ def recursive_apply(items: list[str], dir: str, shape: list[str], output_count:
}
]
}
- output_pack[output] = Recipe(output_recipe.data)
+ ctx.data[output] = Recipe(output_recipe.data)
- output_pack[recipe_path] = Recipe({
+ ctx.data[recipe_path] = Recipe({
"type": "minecraft:crafting_shaped",
"category": "building",
"group": group,
@@ -72,7 +69,7 @@ def recursive_apply(items: list[str], dir: str, shape: list[str], output_count:
}
})
- output_pack[f"gm4_standard_crafting:recipes/{dir}/{item.removeprefix('minecraft:')}"] = Advancement({
+ ctx.data[f"gm4_standard_crafting:recipes/{dir}/{item.removeprefix('minecraft:')}"] = Advancement({
"parent": "minecraft:recipes/root",
"criteria": {
"has_the_recipe": {
@@ -108,7 +105,7 @@ def recursive_apply(items: list[str], dir: str, shape: list[str], output_count:
})
ctx.data[recipe_path] = CustomCrafterRecipe({
- "name": f"gm4_standard_crafting:{dir}/{item}",
+ "name": f"gm4_standard_crafting:{dir}/{item.removeprefix('minecraft:')}",
"input": {
"type": "shaped",
"recipe": shape,
@@ -127,7 +124,7 @@ def recursive_apply(items: list[str], dir: str, shape: list[str], output_count:
}
})
- output_pack[f"gm4_standard_crafting:crafting/{dir}/{output.removeprefix('minecraft:')}"] = LootTable({
+ ctx.data[f"gm4_standard_crafting:crafting/{dir}/{output.removeprefix('minecraft:')}"] = LootTable({
"type": "minecraft:generic",
"pools": [
{
@@ -158,17 +155,12 @@ def recursive_apply(items: list[str], dir: str, shape: list[str], output_count:
})
command: str = "execute if score $crafted gm4_crafting matches 0 store success score $crafted gm4_crafting if data storage gm4_custom_crafters:temp/crafter {Items:[{Slot:0b,id:\"" + item + "\"},{Slot:1b,id:\"" + item + "\"},{Slot:3b,id:\"" + item + "\"},{Slot:4b,id:\"" + item + "\"}]} run loot replace block ~ ~ ~ container.0 loot " + f"gm4_standard_crafting:crafting/{dir}/{output.removeprefix('minecraft:')}"
- since_61_function.append(command)
- if since_61:
- continue
function.append(command)
stairs_recipes = ctx.data[f"gm4_standard_crafting:stairs_recipes"] = Function(["##stairs"])
- since_61_stairs_recipes = ctx.data.overlays["since_61"][f"gm4_standard_crafting:stairs_recipes"] = Function(["##stairs"])
stairs: list[str] = item_tags["minecraft:stairs"].data['values']
- recursive_apply(stairs, "stairs_decraft", ["##", "##"], 4, stairs_recipes,since_61_stairs_recipes)
+ recursive_apply(stairs, "stairs_decraft", ["##", "##"], 3, stairs_recipes)
slabs_recipes = ctx.data[f"gm4_standard_crafting:slabs_recipes"] = Function(["##slabs"])
- since_61_slabs_recipes = ctx.data.overlays["since_61"][f"gm4_standard_crafting:slabs_recipes"] = Function(["##slabs"])
slabs: list[str] = item_tags["minecraft:slabs"].data['values']
- recursive_apply(slabs, "slab_decraft", ["##","##"], 2, slabs_recipes,since_61_slabs_recipes)
+ recursive_apply(slabs, "slab_decraft", ["##","##"], 2, slabs_recipes)
diff --git a/gm4_sunken_treasure/beet.yaml b/gm4_sunken_treasure/beet.yaml
index d6cd4ba3a1..272aff0058 100644
--- a/gm4_sunken_treasure/beet.yaml
+++ b/gm4_sunken_treasure/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_sunken_treasure
name: Sunken Treasure
-version: 1.6.X
+version: 1.7.X
data_pack:
load: .
diff --git a/gm4_sweethearts/beet.yaml b/gm4_sweethearts/beet.yaml
index 506fdf4619..95162e8287 100644
--- a/gm4_sweethearts/beet.yaml
+++ b/gm4_sweethearts/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_sweethearts
name: Sweethearts
-version: 1.5.X
+version: 1.6.X
data_pack:
load: .
diff --git a/gm4_teleportation_anchors/beet.yaml b/gm4_teleportation_anchors/beet.yaml
index 201d861b12..da77b193c7 100644
--- a/gm4_teleportation_anchors/beet.yaml
+++ b/gm4_teleportation_anchors/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_teleportation_anchors
name: Teleportation Anchors
-version: 1.5.X
+version: 1.6.X
data_pack:
load: .
@@ -17,8 +17,8 @@ meta:
gm4:
versioning:
required:
- lib_custom_crafters: 3.2.0
- lib_machines: 1.3.0
+ lib_custom_crafters: 3.4.0
+ lib_machines: 1.4.0
schedule_loops:
- main
- tick
diff --git a/gm4_teleportation_anchors/data/gm4_teleportation_anchors/function/blocks/anchor/create.mcfunction b/gm4_teleportation_anchors/data/gm4_teleportation_anchors/function/blocks/anchor/create.mcfunction
index 69afbe4e7a..3c7a92af31 100644
--- a/gm4_teleportation_anchors/data/gm4_teleportation_anchors/function/blocks/anchor/create.mcfunction
+++ b/gm4_teleportation_anchors/data/gm4_teleportation_anchors/function/blocks/anchor/create.mcfunction
@@ -2,7 +2,7 @@
# run from recipe_check
setblock ~ ~ ~ lodestone
-data merge entity @s {CustomName:'"gm4_teleportation_anchor"',ArmorItems:[{},{},{},{id:"end_portal_frame",count:1,components:{"minecraft:custom_model_data":'block/teleportation_anchor'}}]}
+data merge entity @s {CustomName:"gm4_teleportation_anchor",equipment:{head:{id:"end_portal_frame",count:1,components:{"minecraft:custom_model_data":"block/teleportation_anchor"}}}}
playsound minecraft:block.end_portal.spawn block @a[distance=..8] ~ ~ ~ 0.3 1.8
tag @s add gm4_teleportation_anchor
tag @s remove gm4_custom_crafter
diff --git a/gm4_teleportation_anchors/data/gm4_teleportation_anchors/function/blocks/anchor/search.mcfunction b/gm4_teleportation_anchors/data/gm4_teleportation_anchors/function/blocks/anchor/search.mcfunction
index 10140c4b4f..baf0d7816d 100644
--- a/gm4_teleportation_anchors/data/gm4_teleportation_anchors/function/blocks/anchor/search.mcfunction
+++ b/gm4_teleportation_anchors/data/gm4_teleportation_anchors/function/blocks/anchor/search.mcfunction
@@ -1,7 +1,7 @@
# @s = teleportation jammer that just jammed an entity
# run from both player/jam_player and mob/move_mob
-summon marker ~ ~-1 ~ {CustomName:'"gm4_ta_anchor_finder"',Rotation:[0f,90f],Tags:["gm4_ta_anchor_finder"]}
+summon marker ~ ~-1 ~ {CustomName:"gm4_ta_anchor_finder",Rotation:[0f,90f],Tags:["gm4_ta_anchor_finder"]}
scoreboard players reset scan_count gm4_ta_data
tag @s add gm4_ta_selected_jammer
diff --git a/gm4_teleportation_anchors/data/gm4_teleportation_anchors/function/blocks/jammer/create.mcfunction b/gm4_teleportation_anchors/data/gm4_teleportation_anchors/function/blocks/jammer/create.mcfunction
index 1c3d6b248f..a76b711725 100644
--- a/gm4_teleportation_anchors/data/gm4_teleportation_anchors/function/blocks/jammer/create.mcfunction
+++ b/gm4_teleportation_anchors/data/gm4_teleportation_anchors/function/blocks/jammer/create.mcfunction
@@ -1,8 +1,8 @@
# @s = custom crafter with teleportation jammer recipe
# run from recipe_check
-data merge storage gm4_custom_crafters:temp/crafter {Items:[],CustomName:'{"color":"dark_purple","translate":"block.gm4.teleportation_jammer","fallback":"Teleportation Jammer"}'}
-data merge entity @s {CustomName:'"gm4_teleportation_jammer"',ArmorItems:[{},{},{},{id:"purpur_pillar",count:1,components:{"minecraft:custom_model_data":"block/teleportation_jammer"}}]}
+data merge storage gm4_custom_crafters:temp/crafter {Items:[],CustomName:{"color":"dark_purple","translate":"block.gm4.teleportation_jammer","fallback":"Teleportation Jammer"}}
+data merge entity @s {CustomName:"gm4_teleportation_jammer",equipment:{head:{id:"purpur_pillar",count:1,components:{"minecraft:custom_model_data":"block/teleportation_jammer"}}}}
playsound minecraft:block.chorus_flower.death block @a[distance=..8] ~ ~ ~ 100 1.3
playsound minecraft:block.beacon.power_select block @a[distance=..8] ~ ~ ~ 0.3 0.3
tag @s add gm4_teleportation_jammer
diff --git a/gm4_teleportation_anchors/data/gm4_teleportation_anchors/function/machine/create_anchor.mcfunction b/gm4_teleportation_anchors/data/gm4_teleportation_anchors/function/machine/create_anchor.mcfunction
index 976908116b..6c26d2a0e4 100644
--- a/gm4_teleportation_anchors/data/gm4_teleportation_anchors/function/machine/create_anchor.mcfunction
+++ b/gm4_teleportation_anchors/data/gm4_teleportation_anchors/function/machine/create_anchor.mcfunction
@@ -7,8 +7,8 @@
setblock ~ ~ ~ lodestone
# summon display armor stand and marker entity
-summon armor_stand ~ ~-0.4 ~ {Small:1b,NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,DisabledSlots:2039552,Tags:["gm4_no_edit","gm4_teleportation_anchor_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:'"gm4_teleportation_anchor_stand"',ArmorItems:[{},{},{},{id:"end_portal_frame",count:1,components:{"minecraft:custom_model_data":"block/teleportation_anchor"}}],Rotation:[0.0f,0.0f]}
-summon marker ~ ~ ~ {Tags:["gm4_teleportation_anchor","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_teleportation_anchor"',Rotation:[0.0f,0.0f]}
+summon armor_stand ~ ~-0.4 ~ {Small:1b,NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,DisabledSlots:2039552,Tags:["gm4_no_edit","gm4_teleportation_anchor_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:"gm4_teleportation_anchor_stand",equipment:{head:{id:"end_portal_frame",count:1,components:{"minecraft:custom_model_data":"block/teleportation_anchor"}}},Rotation:[0.0f,0.0f]}
+summon marker ~ ~ ~ {Tags:["gm4_teleportation_anchor","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:"gm4_teleportation_anchor",Rotation:[0.0f,0.0f]}
# mark block as placed
playsound minecraft:block.end_portal.spawn block @a[distance=..8] ~ ~ ~ 0.3 1.8
diff --git a/gm4_teleportation_anchors/data/gm4_teleportation_anchors/function/machine/create_jammer.mcfunction b/gm4_teleportation_anchors/data/gm4_teleportation_anchors/function/machine/create_jammer.mcfunction
index 3cd434cf19..212cc10929 100644
--- a/gm4_teleportation_anchors/data/gm4_teleportation_anchors/function/machine/create_jammer.mcfunction
+++ b/gm4_teleportation_anchors/data/gm4_teleportation_anchors/function/machine/create_jammer.mcfunction
@@ -4,11 +4,11 @@
# run from gm4_teleportation_anchors:machine/verify_place_down
# place dropper
-setblock ~ ~ ~ dropper[facing=up]{CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.teleportation_jammer","fallback":"Teleportation Jammer"},[{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.teleportation_jammer","fallback":"Teleportation Jammer","font":"gm4:half_invert"},{"translate":"container.gm4.teleportation_jammer","fallback":"Teleportation Jammer","font":"gm4:offscreen"},{"translate":"gui.gm4.teleportation_jammer","fallback":"","font":"gm4:container_gui","color":"white"},{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.teleportation_jammer","fallback":"Teleportation Jammer","font":"gm4:half_invert"},{"translate":"container.gm4.teleportation_jammer","fallback":"Teleportation Jammer","font":"gm4:default","color":"#404040"}]]}'}
+setblock ~ ~ ~ dropper[facing=up]{CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.teleportation_jammer","fallback":"Teleportation Jammer"},[{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.teleportation_jammer","fallback":"Teleportation Jammer","font":"gm4:half_invert"},{"translate":"container.gm4.teleportation_jammer","fallback":"Teleportation Jammer","font":"gm4:offscreen"},{"translate":"gui.gm4.teleportation_jammer","fallback":"","font":"gm4:container_gui","color":"white"},{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.teleportation_jammer","fallback":"Teleportation Jammer","font":"gm4:half_invert"},{"translate":"container.gm4.teleportation_jammer","fallback":"Teleportation Jammer","font":"gm4:default","color":"#404040"}]]}}
# summon display armor stand and marker entity
-summon armor_stand ~ ~-0.4 ~ {Small:1b,NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,DisabledSlots:2039552,Tags:["gm4_no_edit","gm4_teleportation_jammer_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:'"gm4_teleportation_jammer_stand"',ArmorItems:[{},{},{},{id:"purpur_pillar",count:1,components:{"minecraft:custom_model_data":"block/teleportation_jammer"}}],Rotation:[0.0f,0.0f]}
-summon marker ~ ~ ~ {Tags:["gm4_teleportation_jammer","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_teleportation_jammer"',Rotation:[0.0f,0.0f]}
+summon armor_stand ~ ~-0.4 ~ {Small:1b,NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,DisabledSlots:2039552,Tags:["gm4_no_edit","gm4_teleportation_jammer_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:"gm4_teleportation_jammer_stand",equipment:{head:{id:"purpur_pillar",count:1,components:{"minecraft:custom_model_data":"block/teleportation_jammer"}}},Rotation:[0.0f,0.0f]}
+summon marker ~ ~ ~ {Tags:["gm4_teleportation_jammer","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:"gm4_teleportation_jammer",Rotation:[0.0f,0.0f]}
# set id
execute store result score @e[type=marker,tag=gm4_new_machine,limit=1,distance=..0.01] gm4_ta_jam_id run data get entity @e[type=marker,tag=gm4_new_machine,limit=1,distance=..0.01] UUID[3]
diff --git a/gm4_teleportation_anchors/data/gm4_teleportation_anchors/function/mob/track_movement/check_enderman_falling.mcfunction b/gm4_teleportation_anchors/data/gm4_teleportation_anchors/function/mob/track_movement/check_enderman_falling.mcfunction
index a764f06922..707a7c3a6b 100644
--- a/gm4_teleportation_anchors/data/gm4_teleportation_anchors/function/mob/track_movement/check_enderman_falling.mcfunction
+++ b/gm4_teleportation_anchors/data/gm4_teleportation_anchors/function/mob/track_movement/check_enderman_falling.mcfunction
@@ -1,7 +1,7 @@
# @s = endermen near a teleporation jammer
# run from mob/track_movement/check_dy
-execute store result score fall gm4_ta_pos_y run data get entity @s FallDistance 100
+execute store result score fall gm4_ta_pos_y run data get entity @s fall_distance 100
execute if score fall gm4_ta_pos_y matches 0..90 run tag @s add gm4_ta_teleported
execute if score fall gm4_ta_pos_y matches 91.. run tag @s add gm4_ta_falling
diff --git a/gm4_teleportation_anchors/data/gm4_teleportation_anchors/function/player/enter_end_gateway.mcfunction b/gm4_teleportation_anchors/data/gm4_teleportation_anchors/function/player/enter_end_gateway.mcfunction
index d83630d398..5ff9735afe 100644
--- a/gm4_teleportation_anchors/data/gm4_teleportation_anchors/function/player/enter_end_gateway.mcfunction
+++ b/gm4_teleportation_anchors/data/gm4_teleportation_anchors/function/player/enter_end_gateway.mcfunction
@@ -4,20 +4,20 @@
advancement revoke @s only gm4_teleportation_anchors:enter_end_gateway
# spawn end gateway markers
-execute positioned ~.3 ~256 ~.3 if block ~ ~-256 ~ minecraft:end_gateway align xyz unless entity @e[type=marker,tag=gm4_ta_end_gateway,dx=0] run summon marker ~0.5 ~ ~0.5 {CustomName:'"End Gateway"',Tags:["gm4_ta_end_gateway"]}
-execute positioned ~.3 ~256 ~-.3 if block ~ ~-256 ~ minecraft:end_gateway align xyz unless entity @e[type=marker,tag=gm4_ta_end_gateway,dx=0] run summon marker ~0.5 ~ ~0.5 {CustomName:'"End Gateway"',Tags:["gm4_ta_end_gateway"]}
-execute positioned ~-.3 ~256 ~.3 if block ~ ~-256 ~ minecraft:end_gateway align xyz unless entity @e[type=marker,tag=gm4_ta_end_gateway,dx=0] run summon marker ~0.5 ~ ~0.5 {CustomName:'"End Gateway"',Tags:["gm4_ta_end_gateway"]}
-execute positioned ~-.3 ~256 ~-.3 if block ~ ~-256 ~ minecraft:end_gateway align xyz unless entity @e[type=marker,tag=gm4_ta_end_gateway,dx=0] run summon marker ~0.5 ~ ~0.5 {CustomName:'"End Gateway"',Tags:["gm4_ta_end_gateway"]}
+execute positioned ~.3 ~256 ~.3 if block ~ ~-256 ~ minecraft:end_gateway align xyz unless entity @e[type=marker,tag=gm4_ta_end_gateway,dx=0] run summon marker ~0.5 ~ ~0.5 {CustomName:"End Gateway",Tags:["gm4_ta_end_gateway"]}
+execute positioned ~.3 ~256 ~-.3 if block ~ ~-256 ~ minecraft:end_gateway align xyz unless entity @e[type=marker,tag=gm4_ta_end_gateway,dx=0] run summon marker ~0.5 ~ ~0.5 {CustomName:"End Gateway",Tags:["gm4_ta_end_gateway"]}
+execute positioned ~-.3 ~256 ~.3 if block ~ ~-256 ~ minecraft:end_gateway align xyz unless entity @e[type=marker,tag=gm4_ta_end_gateway,dx=0] run summon marker ~0.5 ~ ~0.5 {CustomName:"End Gateway",Tags:["gm4_ta_end_gateway"]}
+execute positioned ~-.3 ~256 ~-.3 if block ~ ~-256 ~ minecraft:end_gateway align xyz unless entity @e[type=marker,tag=gm4_ta_end_gateway,dx=0] run summon marker ~0.5 ~ ~0.5 {CustomName:"End Gateway",Tags:["gm4_ta_end_gateway"]}
-execute positioned ~.3 ~256 ~.3 if block ~ ~-255 ~ minecraft:end_gateway align xyz unless entity @e[type=marker,tag=gm4_ta_end_gateway,dx=0] run summon marker ~0.5 ~1 ~0.5 {CustomName:'"End Gateway"',Tags:["gm4_ta_end_gateway"]}
-execute positioned ~.3 ~256 ~-.3 if block ~ ~-255 ~ minecraft:end_gateway align xyz unless entity @e[type=marker,tag=gm4_ta_end_gateway,dx=0] run summon marker ~0.5 ~1 ~0.5 {CustomName:'"End Gateway"',Tags:["gm4_ta_end_gateway"]}
-execute positioned ~-.3 ~256 ~.3 if block ~ ~-255 ~ minecraft:end_gateway align xyz unless entity @e[type=marker,tag=gm4_ta_end_gateway,dx=0] run summon marker ~0.5 ~1 ~0.5 {CustomName:'"End Gateway"',Tags:["gm4_ta_end_gateway"]}
-execute positioned ~-.3 ~256 ~-.3 if block ~ ~-255 ~ minecraft:end_gateway align xyz unless entity @e[type=marker,tag=gm4_ta_end_gateway,dx=0] run summon marker ~0.5 ~1 ~0.5 {CustomName:'"End Gateway"',Tags:["gm4_ta_end_gateway"]}
+execute positioned ~.3 ~256 ~.3 if block ~ ~-255 ~ minecraft:end_gateway align xyz unless entity @e[type=marker,tag=gm4_ta_end_gateway,dx=0] run summon marker ~0.5 ~1 ~0.5 {CustomName:"End Gateway",Tags:["gm4_ta_end_gateway"]}
+execute positioned ~.3 ~256 ~-.3 if block ~ ~-255 ~ minecraft:end_gateway align xyz unless entity @e[type=marker,tag=gm4_ta_end_gateway,dx=0] run summon marker ~0.5 ~1 ~0.5 {CustomName:"End Gateway",Tags:["gm4_ta_end_gateway"]}
+execute positioned ~-.3 ~256 ~.3 if block ~ ~-255 ~ minecraft:end_gateway align xyz unless entity @e[type=marker,tag=gm4_ta_end_gateway,dx=0] run summon marker ~0.5 ~1 ~0.5 {CustomName:"End Gateway",Tags:["gm4_ta_end_gateway"]}
+execute positioned ~-.3 ~256 ~-.3 if block ~ ~-255 ~ minecraft:end_gateway align xyz unless entity @e[type=marker,tag=gm4_ta_end_gateway,dx=0] run summon marker ~0.5 ~1 ~0.5 {CustomName:"End Gateway",Tags:["gm4_ta_end_gateway"]}
-execute positioned ~.3 ~256 ~.3 if block ~ ~-254.25 ~ minecraft:end_gateway align xyz unless entity @e[type=marker,tag=gm4_ta_end_gateway,dx=0] run summon marker ~0.5 ~1 ~0.5 {CustomName:'"End Gateway"',Tags:["gm4_ta_end_gateway"]}
-execute positioned ~.3 ~256 ~-.3 if block ~ ~-254.25 ~ minecraft:end_gateway align xyz unless entity @e[type=marker,tag=gm4_ta_end_gateway,dx=0] run summon marker ~0.5 ~1 ~0.5 {CustomName:'"End Gateway"',Tags:["gm4_ta_end_gateway"]}
-execute positioned ~-.3 ~256 ~.3 if block ~ ~-254.25 ~ minecraft:end_gateway align xyz unless entity @e[type=marker,tag=gm4_ta_end_gateway,dx=0] run summon marker ~0.5 ~1 ~0.5 {CustomName:'"End Gateway"',Tags:["gm4_ta_end_gateway"]}
-execute positioned ~-.3 ~256 ~-.3 if block ~ ~-254.25 ~ minecraft:end_gateway align xyz unless entity @e[type=marker,tag=gm4_ta_end_gateway,dx=0] run summon marker ~0.5 ~1 ~0.5 {CustomName:'"End Gateway"',Tags:["gm4_ta_end_gateway"]}
+execute positioned ~.3 ~256 ~.3 if block ~ ~-254.25 ~ minecraft:end_gateway align xyz unless entity @e[type=marker,tag=gm4_ta_end_gateway,dx=0] run summon marker ~0.5 ~1 ~0.5 {CustomName:"End Gateway",Tags:["gm4_ta_end_gateway"]}
+execute positioned ~.3 ~256 ~-.3 if block ~ ~-254.25 ~ minecraft:end_gateway align xyz unless entity @e[type=marker,tag=gm4_ta_end_gateway,dx=0] run summon marker ~0.5 ~1 ~0.5 {CustomName:"End Gateway",Tags:["gm4_ta_end_gateway"]}
+execute positioned ~-.3 ~256 ~.3 if block ~ ~-254.25 ~ minecraft:end_gateway align xyz unless entity @e[type=marker,tag=gm4_ta_end_gateway,dx=0] run summon marker ~0.5 ~1 ~0.5 {CustomName:"End Gateway",Tags:["gm4_ta_end_gateway"]}
+execute positioned ~-.3 ~256 ~-.3 if block ~ ~-254.25 ~ minecraft:end_gateway align xyz unless entity @e[type=marker,tag=gm4_ta_end_gateway,dx=0] run summon marker ~0.5 ~1 ~0.5 {CustomName:"End Gateway",Tags:["gm4_ta_end_gateway"]}
tag @s[tag=gm4_ta_jammed,tag=!gm4_ta_teleported_player] add gm4_ta_gateway
execute if entity @s[tag=gm4_ta_jammed,tag=!gm4_ta_teleported_player] run function gm4_teleportation_anchors:player/jam_player
diff --git a/gm4_teleportation_anchors/data/gm4_teleportation_anchors/function/player/jam_player.mcfunction b/gm4_teleportation_anchors/data/gm4_teleportation_anchors/function/player/jam_player.mcfunction
index bd9c15c3e4..4961122856 100644
--- a/gm4_teleportation_anchors/data/gm4_teleportation_anchors/function/player/jam_player.mcfunction
+++ b/gm4_teleportation_anchors/data/gm4_teleportation_anchors/function/player/jam_player.mcfunction
@@ -3,7 +3,7 @@
tag @s add gm4_ta_teleported_player
tag @s add gm4_ta_store_pos
-summon marker ~ ~ ~ {CustomName:'"gm4_ta_player_pos"',Tags:["gm4_ta_player_pos","gm4_ta_new_player_pos"]}
+summon marker ~ ~ ~ {CustomName:"gm4_ta_player_pos",Tags:["gm4_ta_player_pos","gm4_ta_new_player_pos"]}
execute if entity @s[type=!player] store result score @s gm4_ta_id run data get entity @s UUID[3]
diff --git a/gm4_teleportation_anchors/data/gm4_teleportation_anchors/function/relocate/set_pick_up_data_anchor.mcfunction b/gm4_teleportation_anchors/data/gm4_teleportation_anchors/function/relocate/set_pick_up_data_anchor.mcfunction
index 633b3e93ba..6543aa49e7 100644
--- a/gm4_teleportation_anchors/data/gm4_teleportation_anchors/function/relocate/set_pick_up_data_anchor.mcfunction
+++ b/gm4_teleportation_anchors/data/gm4_teleportation_anchors/function/relocate/set_pick_up_data_anchor.mcfunction
@@ -3,7 +3,7 @@
# located at the center of the block to be picked up
# run from gm4_teleportation_anchors:relocate/pick_up_check
-data modify storage gm4_relocators:temp merge_data set value {custom_block:"gm4_teleportation_anchor",lore:'{"translate":"block.gm4.teleportation_anchor","fallback":"Teleportation Anchor","color":"gray","italic":true}'}
+data modify storage gm4_relocators:temp merge_data set value {custom_block:"gm4_teleportation_anchor",lore:{"translate":"block.gm4.teleportation_anchor","fallback":"Teleportation Anchor","color":"gray","italic":true}}
execute positioned ~ ~-0.4 ~ run kill @e[type=armor_stand,tag=gm4_teleportation_anchor_stand,limit=1,distance=..0.1]
kill @s
diff --git a/gm4_teleportation_anchors/data/gm4_teleportation_anchors/function/relocate/set_pick_up_data_jammer.mcfunction b/gm4_teleportation_anchors/data/gm4_teleportation_anchors/function/relocate/set_pick_up_data_jammer.mcfunction
index dc05683c5d..8d73afedaf 100644
--- a/gm4_teleportation_anchors/data/gm4_teleportation_anchors/function/relocate/set_pick_up_data_jammer.mcfunction
+++ b/gm4_teleportation_anchors/data/gm4_teleportation_anchors/function/relocate/set_pick_up_data_jammer.mcfunction
@@ -3,7 +3,7 @@
# located at the center of the block to be picked up
# run from gm4_teleportation_anchors:relocate/pick_up_check
-data modify storage gm4_relocators:temp merge_data set value {custom_block:"gm4_teleportation_jammer",lore:'{"translate":"block.gm4.teleportation_jammer","fallback":"Teleportation Jammer","color":"gray","italic":true}'}
+data modify storage gm4_relocators:temp merge_data set value {custom_block:"gm4_teleportation_jammer",lore:{"translate":"block.gm4.teleportation_jammer","fallback":"Teleportation Jammer","color":"gray","italic":true}}
execute positioned ~ ~-0.4 ~ run kill @e[type=armor_stand,tag=gm4_teleportation_jammer_stand,limit=1,distance=..0.1]
kill @s
diff --git a/gm4_teleportation_anchors/data/gm4_teleportation_anchors/function/relocate/summon_block_markers_jammer.mcfunction b/gm4_teleportation_anchors/data/gm4_teleportation_anchors/function/relocate/summon_block_markers_jammer.mcfunction
index 8fd5e88519..b7d039c6c7 100644
--- a/gm4_teleportation_anchors/data/gm4_teleportation_anchors/function/relocate/summon_block_markers_jammer.mcfunction
+++ b/gm4_teleportation_anchors/data/gm4_teleportation_anchors/function/relocate/summon_block_markers_jammer.mcfunction
@@ -6,8 +6,8 @@
scoreboard players set $placed_block gm4_rl_data 1
# summon entities
-summon armor_stand ~ ~-0.4 ~ {Small:1b,NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,DisabledSlots:2039552,Tags:["gm4_no_edit","gm4_teleportation_jammer_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:'"gm4_teleportation_jammer_stand"',ArmorItems:[{},{},{},{id:"purpur_pillar",count:1,components:{"minecraft:custom_model_data":"block/teleportation_jammer"}}],Rotation:[0.0f,0.0f]}
-summon marker ~ ~ ~ {Tags:["gm4_teleportation_jammer","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_teleportation_jammer"',Rotation:[0.0f,0.0f]}
+summon armor_stand ~ ~-0.4 ~ {Small:1b,NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,DisabledSlots:2039552,Tags:["gm4_no_edit","gm4_teleportation_jammer_stand","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],HasVisualFire:1b,CustomName:"gm4_teleportation_jammer_stand",equipment:{head:{id:"purpur_pillar",count:1,components:{"minecraft:custom_model_data":"block/teleportation_jammer"}}},Rotation:[0.0f,0.0f]}
+summon marker ~ ~ ~ {Tags:["gm4_teleportation_jammer","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:"gm4_teleportation_jammer",Rotation:[0.0f,0.0f]}
# set id
execute store result score @e[type=marker,tag=gm4_new_machine,limit=1,distance=..0.01] gm4_ta_jam_id run data get entity @e[type=marker,tag=gm4_new_machine,limit=1,distance=..0.01] UUID[3]
diff --git a/gm4_teleportation_anchors/data/gm4_teleportation_anchors/guidebook/teleportation_anchors.json b/gm4_teleportation_anchors/data/gm4_teleportation_anchors/guidebook/teleportation_anchors.json
index b3e1c74d20..72a8fe7e84 100644
--- a/gm4_teleportation_anchors/data/gm4_teleportation_anchors/guidebook/teleportation_anchors.json
+++ b/gm4_teleportation_anchors/data/gm4_teleportation_anchors/guidebook/teleportation_anchors.json
@@ -17,7 +17,7 @@
"blocks": [
"minecraft:dropper"
],
- "nbt": "{CustomName:'{\"translate\":\"gm4.second\",\"fallback\":\"%1$s\",\"with\":[{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\"},{\"text\":\" \",\"extra\":[{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:offscreen\"},{\"translate\":\"gui.gm4.custom_crafter\",\"fallback\":\"\",\"font\":\"gm4:container_gui\",\"color\":\"white\"},{\"text\":\" \",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:default\",\"color\":\"#404040\"}],\"font\":\"gm4:half_invert\"}]}'}"
+ "nbt": "{CustomName:{\"translate\":\"gm4.second\",\"fallback\":\"%1$s\",\"with\":[{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\"},{\"text\":\" \",\"extra\":[{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:offscreen\"},{\"translate\":\"gui.gm4.custom_crafter\",\"fallback\":\"\",\"font\":\"gm4:container_gui\",\"color\":\"white\"},{\"text\":\" \",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:default\",\"color\":\"#404040\"}],\"font\":\"gm4:half_invert\"}]}}"
}
}
}
@@ -79,7 +79,7 @@
"blocks": [
"minecraft:dropper"
],
- "nbt": "{CustomName:'{\"translate\":\"gm4.second\",\"fallback\":\"%1$s\",\"with\":[{\"translate\":\"container.gm4.teleportation_jammer\",\"fallback\":\"Teleportation Jammer\"},{\"text\":\" \",\"extra\":[{\"translate\":\"container.gm4.teleportation_jammer\",\"fallback\":\"Teleportation Jammer\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.teleportation_jammer\",\"fallback\":\"Teleportation Jammer\",\"font\":\"gm4:offscreen\"},{\"translate\":\"gui.gm4.teleportation_jammer\",\"fallback\":\"\",\"font\":\"gm4:container_gui\",\"color\":\"white\"},{\"text\":\" \",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.teleportation_jammer\",\"fallback\":\"Teleportation Jammer\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.teleportation_jammer\",\"fallback\":\"Teleportation Jammer\",\"font\":\"gm4:default\",\"color\":\"#404040\"}],\"font\":\"gm4:half_invert\"}]}'}"
+ "nbt": "{CustomName:{\"translate\":\"gm4.second\",\"fallback\":\"%1$s\",\"with\":[{\"translate\":\"container.gm4.teleportation_jammer\",\"fallback\":\"Teleportation Jammer\"},{\"text\":\" \",\"extra\":[{\"translate\":\"container.gm4.teleportation_jammer\",\"fallback\":\"Teleportation Jammer\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.teleportation_jammer\",\"fallback\":\"Teleportation Jammer\",\"font\":\"gm4:offscreen\"},{\"translate\":\"gui.gm4.teleportation_jammer\",\"fallback\":\"\",\"font\":\"gm4:container_gui\",\"color\":\"white\"},{\"text\":\" \",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.teleportation_jammer\",\"fallback\":\"Teleportation Jammer\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.teleportation_jammer\",\"fallback\":\"Teleportation Jammer\",\"font\":\"gm4:default\",\"color\":\"#404040\"}],\"font\":\"gm4:half_invert\"}]}}"
}
}
}
diff --git a/gm4_teleportation_anchors/data/gm4_teleportation_anchors/recipe/teleportation_anchor.json b/gm4_teleportation_anchors/data/gm4_teleportation_anchors/recipe/teleportation_anchor.json
index 60e5f9a34f..4cc04f51dd 100644
--- a/gm4_teleportation_anchors/data/gm4_teleportation_anchors/recipe/teleportation_anchor.json
+++ b/gm4_teleportation_anchors/data/gm4_teleportation_anchors/recipe/teleportation_anchor.json
@@ -19,7 +19,7 @@
"minecraft:custom_model_data": "item/teleportation_anchor",
"minecraft:profile": "$teleportation_anchor",
"minecraft:custom_data": "{gm4_machines:{id:'teleportation_anchor'}}",
- "minecraft:custom_name": "{\"translate\":\"block.gm4.teleportation_anchor\",\"fallback\":\"Teleportation Anchor\",\"color\":\"white\",\"italic\":false}"
+ "minecraft:custom_name": {"translate":"block.gm4.teleportation_anchor","fallback":"Teleportation Anchor","color":"white","italic":false}
}
}
}
diff --git a/gm4_teleportation_anchors/data/gm4_teleportation_anchors/recipe/teleportation_jammer.json b/gm4_teleportation_anchors/data/gm4_teleportation_anchors/recipe/teleportation_jammer.json
index 19c9215084..90852fa794 100644
--- a/gm4_teleportation_anchors/data/gm4_teleportation_anchors/recipe/teleportation_jammer.json
+++ b/gm4_teleportation_anchors/data/gm4_teleportation_anchors/recipe/teleportation_jammer.json
@@ -22,7 +22,7 @@
"minecraft:custom_model_data": "item/teleportation_jammer",
"minecraft:profile": "$teleportation_jammer",
"minecraft:custom_data": "{gm4_machines:{id:'teleportation_jammer'}}",
- "minecraft:custom_name": "{\"translate\":\"block.gm4.teleportation_jammer\",\"fallback\":\"Teleportation Jammer\",\"color\":\"white\",\"italic\":false}"
+ "minecraft:custom_name": {"translate":"block.gm4.teleportation_jammer","fallback":"Teleportation Jammer","color":"white","italic":false}
}
}
}
diff --git a/gm4_tinkering_compressors/README.md b/gm4_tinkering_compressors/README.md
deleted file mode 100644
index ee5cb12d1a..0000000000
--- a/gm4_tinkering_compressors/README.md
+++ /dev/null
@@ -1,10 +0,0 @@
-# Tinkering Compressors
-
-Automatically compress stacks of items into their block form.
-
-### Features
-- Requires the [Block Compressors]($dynamicLink:gm4_block_compressors) and [Metallurgy]($dynamicLink:gm4_metallurgy) data packs
-- Takes items in and out of their block form if it exists
-- Adds a block to automate the process in storage systems
-
-A full list of recipes can be read on the [Wiki](https://wiki.gm4.co/Standard_Crafting).
diff --git a/gm4_tinkering_compressors/assets/gm4_tinkering_compressors/models/block/tinkering_compressor_full.json b/gm4_tinkering_compressors/assets/gm4_tinkering_compressors/models/block/tinkering_compressor_full.json
deleted file mode 100644
index 57a56482aa..0000000000
--- a/gm4_tinkering_compressors/assets/gm4_tinkering_compressors/models/block/tinkering_compressor_full.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "parent": "gm4:block/cube_with_plate",
- "textures": {
- "particle": "gm4_tinkering_compressors:block/tinkering_compressor_side",
- "side": "gm4_tinkering_compressors:block/tinkering_compressor_side",
- "bottom": "minecraft:block/furnace_top",
- "top": "gm4_tinkering_compressors:block/tinkering_compressor_top",
- "front": "gm4_tinkering_compressors:block/tinkering_compressor_side",
- "plate": "gm4_tinkering_compressors:block/tinkering_compressor_plate"
- }
-}
diff --git a/gm4_tinkering_compressors/assets/gm4_tinkering_compressors/models/block/tinkering_compressor_plate.json b/gm4_tinkering_compressors/assets/gm4_tinkering_compressors/models/block/tinkering_compressor_plate.json
deleted file mode 100644
index 62d8e62048..0000000000
--- a/gm4_tinkering_compressors/assets/gm4_tinkering_compressors/models/block/tinkering_compressor_plate.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "parent": "gm4:block/plate",
- "textures": {
- "top": "gm4_tinkering_compressors:block/tinkering_compressor_plate"
- }
-}
diff --git a/gm4_tinkering_compressors/assets/gm4_tinkering_compressors/textures/block/tinkering_compressor_plate.png b/gm4_tinkering_compressors/assets/gm4_tinkering_compressors/textures/block/tinkering_compressor_plate.png
deleted file mode 100644
index 4cf415cd12..0000000000
Binary files a/gm4_tinkering_compressors/assets/gm4_tinkering_compressors/textures/block/tinkering_compressor_plate.png and /dev/null differ
diff --git a/gm4_tinkering_compressors/assets/gm4_tinkering_compressors/textures/block/tinkering_compressor_side.png b/gm4_tinkering_compressors/assets/gm4_tinkering_compressors/textures/block/tinkering_compressor_side.png
deleted file mode 100644
index 140b2f85e4..0000000000
Binary files a/gm4_tinkering_compressors/assets/gm4_tinkering_compressors/textures/block/tinkering_compressor_side.png and /dev/null differ
diff --git a/gm4_tinkering_compressors/assets/gm4_tinkering_compressors/textures/block/tinkering_compressor_top.png b/gm4_tinkering_compressors/assets/gm4_tinkering_compressors/textures/block/tinkering_compressor_top.png
deleted file mode 100644
index be13fee4c5..0000000000
Binary files a/gm4_tinkering_compressors/assets/gm4_tinkering_compressors/textures/block/tinkering_compressor_top.png and /dev/null differ
diff --git a/gm4_tinkering_compressors/assets/gm4_tinkering_compressors/textures/gui/container/tinkering_compressor.png b/gm4_tinkering_compressors/assets/gm4_tinkering_compressors/textures/gui/container/tinkering_compressor.png
deleted file mode 100644
index 48fae33a84..0000000000
Binary files a/gm4_tinkering_compressors/assets/gm4_tinkering_compressors/textures/gui/container/tinkering_compressor.png and /dev/null differ
diff --git a/gm4_tinkering_compressors/assets/translations.csv b/gm4_tinkering_compressors/assets/translations.csv
deleted file mode 100644
index e90f9e709e..0000000000
--- a/gm4_tinkering_compressors/assets/translations.csv
+++ /dev/null
@@ -1,8 +0,0 @@
-key,en_us
-block.gm4.tinkering_compressor,Tinkering Compressor
-container.gm4.tinkering_compressor,Tinker Amount
-advancement.gm4.tinkering_compressors.title,Automatic Tinkering
-advancement.gm4.tinkering_compressors.description,Make yourself a Tinkering Compressor
-text.gm4.guidebook.module_desc.tinkering_compressors,"Automatically compress stacks of items into their block form with a tinker shamir as a machine block, and back."
-text.gm4.guidebook.tinkering_compressors.creation,A Block Compressor can be upgraded to a Tinkering Compressor.\n\nThis is done by dropping a Tinker Shamir on top of a Compressor and smooshing it with a downwards piston.
-text.gm4.guidebook.tinkering_compressors.usage,"A Tinkering Compressor with 64 items inside will tinker compress items on top of it, transforming them into their block form. It supports the all tinkering.\n\nPlacing 1 item inside will instead detinker any items on top of it."
diff --git a/gm4_tinkering_compressors/beet.yaml b/gm4_tinkering_compressors/beet.yaml
deleted file mode 100644
index 3bb3734a4c..0000000000
--- a/gm4_tinkering_compressors/beet.yaml
+++ /dev/null
@@ -1,76 +0,0 @@
-id: gm4_tinkering_compressors
-name: Tinkering Compressors
-version: 1.5.X
-
-data_pack:
- load: .
-
-resource_pack:
- load: .
-
-pipeline:
- - gm4.plugins.extend.module
- - gm4.plugins.include.lib_machines
-
-meta:
- gm4:
- versioning:
- required:
- gm4_block_compressors: 1.5.0
- gm4_metallurgy: 1.4.0
- lib_machines: 1.3.0
- schedule_loops:
- - main
- - tick
- model_data:
- - item: oxidized_cut_copper
- reference: block/tinkering_compressor_plate
- transforms:
- - name: item_display
- origin: [0.5, 0.5, 0.5]
- scale: [0.625, 0.625, 0.625]
- translation: [0, -0.225, 0]
- rotation: [180, 0, 0]
- - item: stone
- reference: block/tinkering_compressor
- template: block
- textures:
- top: gm4_tinkering_compressors:block/tinkering_compressor_top
- bottom: minecraft:block/furnace_top
- front: gm4_tinkering_compressors:block/tinkering_compressor_side
- side: gm4_tinkering_compressors:block/tinkering_compressor_side
- transforms:
- - name: item_display
- origin: [0.5, 0.5, 0.5]
- scale: [0.5, 0.5, 0.5]
- - item: player_head
- reference: item/tinkering_compressor
- model: block/tinkering_compressor_full
- - item: player_head
- reference: gui/advancement/tinkering_compressors
- template:
- name: advancement
- forward: block/tinkering_compressor_full
- gui_fonts:
- - translation: gui.gm4.tinkering_compressor
- container: dropper
- texture: gui/container/tinkering_compressor
- website:
- description: Automatically compress stacks of items into their block form with a tinker shamir as a machine block, and back.
- recommended:
- - gm4_relocators
- notes: []
- modrinth:
- project_id: EnojYUEm
- video: null
- wiki: https://wiki.gm4.co/wiki/Tinkering_Compressors
- credits:
- Creator:
- - SirSheepe
- Updated by:
- - Modulorium
- - BPR
- Textures by:
- - Kyrius
- Icon Design:
- - Sparks
diff --git a/gm4_tinkering_compressors/data/gm4/advancement/tinkering_compressors.json b/gm4_tinkering_compressors/data/gm4/advancement/tinkering_compressors.json
deleted file mode 100644
index a5b76f9a89..0000000000
--- a/gm4_tinkering_compressors/data/gm4/advancement/tinkering_compressors.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "display": {
- "icon": {
- "id": "player_head",
- "components": {
- "minecraft:custom_model_data": "gui/advancement/tinkering_compressors",
- "minecraft:profile": "$gm4_metallurgy:band/curies_bismium"
- }
- },
- "title": {
- "translate": "advancement.gm4.tinkering_compressors.title",
- "fallback": "Automatic Tinkering"
- },
- "description": {
- "translate": "advancement.gm4.tinkering_compressors.description",
- "fallback": "Make yourself a Tinkering Compressor",
- "color": "gray"
- }
- },
- "parent": "gm4:block_compressors",
- "criteria": {
- "obtain_tinkering_compressor": {
- "trigger": "minecraft:inventory_changed",
- "conditions": {
- "items": [
- {
- "items": [
- "minecraft:player_head"
- ],
- "predicates": {
- "minecraft:custom_data": "{gm4_machines:{id:\"tinkering_compressor\"}}"
- }
- }
- ]
- }
- }
- }
-}
diff --git a/gm4_tinkering_compressors/data/gm4_machines/tags/function/destroy.json b/gm4_tinkering_compressors/data/gm4_machines/tags/function/destroy.json
deleted file mode 100644
index 58253988b4..0000000000
--- a/gm4_tinkering_compressors/data/gm4_machines/tags/function/destroy.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "values": [
- "gm4_tinkering_compressors:machine/verify_destroy"
- ]
-}
diff --git a/gm4_tinkering_compressors/data/gm4_machines/tags/function/place_down.json b/gm4_tinkering_compressors/data/gm4_machines/tags/function/place_down.json
deleted file mode 100644
index 150ca4dcbd..0000000000
--- a/gm4_tinkering_compressors/data/gm4_machines/tags/function/place_down.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "values": [
- "gm4_tinkering_compressors:machine/verify_place_down"
- ]
-}
diff --git a/gm4_tinkering_compressors/data/gm4_relocators/tags/function/pick_up_check.json b/gm4_tinkering_compressors/data/gm4_relocators/tags/function/pick_up_check.json
deleted file mode 100644
index c9a9fd92ec..0000000000
--- a/gm4_tinkering_compressors/data/gm4_relocators/tags/function/pick_up_check.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "values": [
- "gm4_tinkering_compressors:relocate/pick_up_check"
- ]
-}
diff --git a/gm4_tinkering_compressors/data/gm4_relocators/tags/function/place_down_check.json b/gm4_tinkering_compressors/data/gm4_relocators/tags/function/place_down_check.json
deleted file mode 100644
index 29c61f9124..0000000000
--- a/gm4_tinkering_compressors/data/gm4_relocators/tags/function/place_down_check.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "values": [
- "gm4_tinkering_compressors:relocate/place_down_check"
- ]
-}
diff --git a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/compress/clay_ball.mcfunction b/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/compress/clay_ball.mcfunction
deleted file mode 100644
index 44524ae47a..0000000000
--- a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/compress/clay_ball.mcfunction
+++ /dev/null
@@ -1,24 +0,0 @@
-# @s = a clay ball item stack on a tinkering compressor
-# at @tinkering compressor positioned ~ ~0.9 ~
-# run from tinkering_compressors:mode/compress
-
-# set fake player flag
-scoreboard players set $ran_compressor gm4_tc_data 1
-
-# tinker operation
-execute store result score #item_count gm4_tc_data run data get entity @s Item.count 1
-
-scoreboard players operation #stack gm4_tc_data = #item_count gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data = #item_count gm4_tc_data
-
-scoreboard players operation #stack gm4_tc_data /= #4stack gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data %= #4stack gm4_tc_data
-
-execute if score #stack gm4_tc_data matches 1.. at @s run summon item ~ ~ ~ {Item:{id:"minecraft:clay",count:1},Tags:["gm4_tc_stack","gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 1.. store result entity @e[type=item,tag=gm4_tc_stack,limit=1] Item.count byte 1 run scoreboard players get #stack gm4_tc_data
-execute if score #stack gm4_tc_data matches 1.. run playsound minecraft:block.piston.contract block @a[distance=..5] ~ ~ ~
-tag @e[type=item,tag=gm4_tc_stack] remove gm4_tc_stack
-
-execute if score #remainder gm4_tc_data matches 1.. store result entity @s Item.count byte 1 run scoreboard players get #remainder gm4_tc_data
-execute if score #remainder gm4_tc_data matches 1.. run data merge entity @s {Tags:["gm4_tc_locked"],PickupDelay:0s}
-execute if score #remainder gm4_tc_data matches 0 run kill @s
diff --git a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/compress/coal.mcfunction b/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/compress/coal.mcfunction
deleted file mode 100644
index 77f9b6f037..0000000000
--- a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/compress/coal.mcfunction
+++ /dev/null
@@ -1,24 +0,0 @@
-# @s = a coal item stack on a tinkering compressor
-# at @tinkering compressor positioned ~ ~0.9 ~
-# run from tinkering_compressors:mode/compress
-
-# set fake player flag
-scoreboard players set $ran_compressor gm4_tc_data 1
-
-# tinker operation
-execute store result score #item_count gm4_tc_data run data get entity @s Item.count 1
-
-scoreboard players operation #stack gm4_tc_data = #item_count gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data = #item_count gm4_tc_data
-
-scoreboard players operation #stack gm4_tc_data /= #9stack gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data %= #9stack gm4_tc_data
-
-execute if score #stack gm4_tc_data matches 1.. at @s run summon item ~ ~ ~ {Item:{id:"minecraft:coal_block",count:1},Tags:["gm4_tc_stack","gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 1.. store result entity @e[type=item,tag=gm4_tc_stack,limit=1] Item.count byte 1 run scoreboard players get #stack gm4_tc_data
-execute if score #stack gm4_tc_data matches 1.. run playsound minecraft:block.piston.contract block @a[distance=..5] ~ ~ ~
-tag @e[type=item,tag=gm4_tc_stack] remove gm4_tc_stack
-
-execute if score #remainder gm4_tc_data matches 1.. store result entity @s Item.count byte 1 run scoreboard players get #remainder gm4_tc_data
-execute if score #remainder gm4_tc_data matches 1.. run data merge entity @s {Tags:["gm4_tc_locked"],PickupDelay:0s}
-execute if score #remainder gm4_tc_data matches 0 run kill @s
diff --git a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/compress/copper_ingot.mcfunction b/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/compress/copper_ingot.mcfunction
deleted file mode 100644
index e5ba1e033e..0000000000
--- a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/compress/copper_ingot.mcfunction
+++ /dev/null
@@ -1,24 +0,0 @@
-# @s = a copper ingot item stack on a tinkering compressor
-# at @tinkering compressor positioned ~ ~0.9 ~
-# run from tinkering_compressors:mode/compress
-
-# set fake player flag
-scoreboard players set $ran_compressor gm4_tc_data 1
-
-# tinker operation
-execute store result score #item_count gm4_tc_data run data get entity @s Item.count 1
-
-scoreboard players operation #stack gm4_tc_data = #item_count gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data = #item_count gm4_tc_data
-
-scoreboard players operation #stack gm4_tc_data /= #9stack gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data %= #9stack gm4_tc_data
-
-execute if score #stack gm4_tc_data matches 1.. at @s run summon item ~ ~ ~ {Item:{id:"minecraft:copper_block",count:1},Tags:["gm4_tc_stack","gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 1.. store result entity @e[type=item,tag=gm4_tc_stack,limit=1] Item.count byte 1 run scoreboard players get #stack gm4_tc_data
-execute if score #stack gm4_tc_data matches 1.. run playsound minecraft:block.piston.contract block @a[distance=..5] ~ ~ ~
-tag @e[type=item,tag=gm4_tc_stack] remove gm4_tc_stack
-
-execute if score #remainder gm4_tc_data matches 1.. store result entity @s Item.count byte 1 run scoreboard players get #remainder gm4_tc_data
-execute if score #remainder gm4_tc_data matches 1.. run data merge entity @s {Tags:["gm4_tc_locked"],PickupDelay:0s}
-execute if score #remainder gm4_tc_data matches 0 run kill @s
diff --git a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/compress/diamond.mcfunction b/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/compress/diamond.mcfunction
deleted file mode 100644
index f7d1953358..0000000000
--- a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/compress/diamond.mcfunction
+++ /dev/null
@@ -1,24 +0,0 @@
-# @s = a diamond item stack on a tinkering compressor
-# at @tinkering compressor positioned ~ ~0.9 ~
-# run from tinkering_compressors:mode/compress
-
-# set fake player flag
-scoreboard players set $ran_compressor gm4_tc_data 1
-
-# tinker operation
-execute store result score #item_count gm4_tc_data run data get entity @s Item.count 1
-
-scoreboard players operation #stack gm4_tc_data = #item_count gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data = #item_count gm4_tc_data
-
-scoreboard players operation #stack gm4_tc_data /= #9stack gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data %= #9stack gm4_tc_data
-
-execute if score #stack gm4_tc_data matches 1.. at @s run summon item ~ ~ ~ {Item:{id:"minecraft:diamond_block",count:1},Tags:["gm4_tc_stack","gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 1.. store result entity @e[type=item,tag=gm4_tc_stack,limit=1] Item.count byte 1 run scoreboard players get #stack gm4_tc_data
-execute if score #stack gm4_tc_data matches 1.. run playsound minecraft:block.piston.contract block @a[distance=..5] ~ ~ ~
-tag @e[type=item,tag=gm4_tc_stack] remove gm4_tc_stack
-
-execute if score #remainder gm4_tc_data matches 1.. store result entity @s Item.count byte 1 run scoreboard players get #remainder gm4_tc_data
-execute if score #remainder gm4_tc_data matches 1.. run data merge entity @s {Tags:["gm4_tc_locked"],PickupDelay:0s}
-execute if score #remainder gm4_tc_data matches 0 run kill @s
diff --git a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/compress/emerald.mcfunction b/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/compress/emerald.mcfunction
deleted file mode 100644
index 219b8eae1d..0000000000
--- a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/compress/emerald.mcfunction
+++ /dev/null
@@ -1,24 +0,0 @@
-# @s = an emerald item stack on a tinkering compressor
-# at @tinkering compressor positioned ~ ~0.9 ~
-# run from tinkering_compressors:mode/compress
-
-# set fake player flag
-scoreboard players set $ran_compressor gm4_tc_data 1
-
-# tinker operation
-execute store result score #item_count gm4_tc_data run data get entity @s Item.count 1
-
-scoreboard players operation #stack gm4_tc_data = #item_count gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data = #item_count gm4_tc_data
-
-scoreboard players operation #stack gm4_tc_data /= #9stack gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data %= #9stack gm4_tc_data
-
-execute if score #stack gm4_tc_data matches 1.. at @s run summon item ~ ~ ~ {Item:{id:"minecraft:emerald_block",count:1},Tags:["gm4_tc_stack","gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 1.. store result entity @e[type=item,tag=gm4_tc_stack,limit=1] Item.count byte 1 run scoreboard players get #stack gm4_tc_data
-execute if score #stack gm4_tc_data matches 1.. run playsound minecraft:block.piston.contract block @a[distance=..5] ~ ~ ~
-tag @e[type=item,tag=gm4_tc_stack] remove gm4_tc_stack
-
-execute if score #remainder gm4_tc_data matches 1.. store result entity @s Item.count byte 1 run scoreboard players get #remainder gm4_tc_data
-execute if score #remainder gm4_tc_data matches 1.. run data merge entity @s {Tags:["gm4_tc_locked"],PickupDelay:0s}
-execute if score #remainder gm4_tc_data matches 0 run kill @s
diff --git a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/compress/gold_ingot.mcfunction b/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/compress/gold_ingot.mcfunction
deleted file mode 100644
index 689f377e09..0000000000
--- a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/compress/gold_ingot.mcfunction
+++ /dev/null
@@ -1,24 +0,0 @@
-# @s = a gold ingot item stack on a tinkering compressor
-# at @tinkering compressor positioned ~ ~0.9 ~
-# run from tinkering_compressors:mode/compress
-
-# set fake player flag
-scoreboard players set $ran_compressor gm4_tc_data 1
-
-# tinker operation
-execute store result score #item_count gm4_tc_data run data get entity @s Item.count 1
-
-scoreboard players operation #stack gm4_tc_data = #item_count gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data = #item_count gm4_tc_data
-
-scoreboard players operation #stack gm4_tc_data /= #9stack gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data %= #9stack gm4_tc_data
-
-execute if score #stack gm4_tc_data matches 1.. at @s run summon item ~ ~ ~ {Item:{id:"minecraft:gold_block",count:1},Tags:["gm4_tc_stack","gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 1.. store result entity @e[type=item,tag=gm4_tc_stack,limit=1] Item.count byte 1 run scoreboard players get #stack gm4_tc_data
-execute if score #stack gm4_tc_data matches 1.. run playsound minecraft:block.piston.contract block @a[distance=..5] ~ ~ ~
-tag @e[type=item,tag=gm4_tc_stack] remove gm4_tc_stack
-
-execute if score #remainder gm4_tc_data matches 1.. store result entity @s Item.count byte 1 run scoreboard players get #remainder gm4_tc_data
-execute if score #remainder gm4_tc_data matches 1.. run data merge entity @s {Tags:["gm4_tc_locked"],PickupDelay:0s}
-execute if score #remainder gm4_tc_data matches 0 run kill @s
diff --git a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/compress/gold_nugget.mcfunction b/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/compress/gold_nugget.mcfunction
deleted file mode 100644
index b7eac69fa4..0000000000
--- a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/compress/gold_nugget.mcfunction
+++ /dev/null
@@ -1,24 +0,0 @@
-# @s = a gold nugget item stack on a tinkering compressor
-# at @tinkering compressor positioned ~ ~0.9 ~
-# run from tinkering_compressors:mode/compress
-
-# set fake player flag
-scoreboard players set $ran_compressor gm4_tc_data 1
-
-# tinker operation
-execute store result score #item_count gm4_tc_data run data get entity @s Item.count 1
-
-scoreboard players operation #stack gm4_tc_data = #item_count gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data = #item_count gm4_tc_data
-
-scoreboard players operation #stack gm4_tc_data /= #9stack gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data %= #9stack gm4_tc_data
-
-execute if score #stack gm4_tc_data matches 1.. at @s run summon item ~ ~ ~ {Item:{id:"minecraft:gold_ingot",count:1},Tags:["gm4_tc_stack","gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 1.. store result entity @e[type=item,tag=gm4_tc_stack,limit=1] Item.count byte 1 run scoreboard players get #stack gm4_tc_data
-execute if score #stack gm4_tc_data matches 1.. run playsound minecraft:block.piston.contract block @a[distance=..5] ~ ~ ~
-tag @e[type=item,tag=gm4_tc_stack] remove gm4_tc_stack
-
-execute if score #remainder gm4_tc_data matches 1.. store result entity @s Item.count byte 1 run scoreboard players get #remainder gm4_tc_data
-execute if score #remainder gm4_tc_data matches 1.. run data merge entity @s {Tags:["gm4_tc_locked"],PickupDelay:0s}
-execute if score #remainder gm4_tc_data matches 0 run kill @s
diff --git a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/compress/iron_ingot.mcfunction b/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/compress/iron_ingot.mcfunction
deleted file mode 100644
index a744f4ecb4..0000000000
--- a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/compress/iron_ingot.mcfunction
+++ /dev/null
@@ -1,24 +0,0 @@
-# @s = an iron ingot item stack on a tinkering compressor
-# at @tinkering compressor positioned ~ ~0.9 ~
-# run from tinkering_compressors:mode/compress
-
-# set fake player flag
-scoreboard players set $ran_compressor gm4_tc_data 1
-
-# tinker operation
-execute store result score #item_count gm4_tc_data run data get entity @s Item.count 1
-
-scoreboard players operation #stack gm4_tc_data = #item_count gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data = #item_count gm4_tc_data
-
-scoreboard players operation #stack gm4_tc_data /= #9stack gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data %= #9stack gm4_tc_data
-
-execute if score #stack gm4_tc_data matches 1.. at @s run summon item ~ ~ ~ {Item:{id:"minecraft:iron_block",count:1},Tags:["gm4_tc_stack","gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 1.. store result entity @e[type=item,tag=gm4_tc_stack,limit=1] Item.count byte 1 run scoreboard players get #stack gm4_tc_data
-execute if score #stack gm4_tc_data matches 1.. run playsound minecraft:block.piston.contract block @a[distance=..5] ~ ~ ~
-tag @e[type=item,tag=gm4_tc_stack] remove gm4_tc_stack
-
-execute if score #remainder gm4_tc_data matches 1.. store result entity @s Item.count byte 1 run scoreboard players get #remainder gm4_tc_data
-execute if score #remainder gm4_tc_data matches 1.. run data merge entity @s {Tags:["gm4_tc_locked"],PickupDelay:0s}
-execute if score #remainder gm4_tc_data matches 0 run kill @s
diff --git a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/compress/iron_nugget.mcfunction b/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/compress/iron_nugget.mcfunction
deleted file mode 100644
index e09ad66d8c..0000000000
--- a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/compress/iron_nugget.mcfunction
+++ /dev/null
@@ -1,24 +0,0 @@
-# @s = an iron nugget item stack on a tinkering compressor
-# at @tinkering compressor positioned ~ ~0.9 ~
-# run from tinkering_compressors:mode/compress
-
-# set fake player flag
-scoreboard players set $ran_compressor gm4_tc_data 1
-
-# tinker operation
-execute store result score #item_count gm4_tc_data run data get entity @s Item.count 1
-
-scoreboard players operation #stack gm4_tc_data = #item_count gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data = #item_count gm4_tc_data
-
-scoreboard players operation #stack gm4_tc_data /= #9stack gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data %= #9stack gm4_tc_data
-
-execute if score #stack gm4_tc_data matches 1.. at @s run summon item ~ ~ ~ {Item:{id:"minecraft:iron_ingot",count:1},Tags:["gm4_tc_stack","gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 1.. store result entity @e[type=item,tag=gm4_tc_stack,limit=1] Item.count byte 1 run scoreboard players get #stack gm4_tc_data
-execute if score #stack gm4_tc_data matches 1.. run playsound minecraft:block.piston.contract block @a[distance=..5] ~ ~ ~
-tag @e[type=item,tag=gm4_tc_stack] remove gm4_tc_stack
-
-execute if score #remainder gm4_tc_data matches 1.. store result entity @s Item.count byte 1 run scoreboard players get #remainder gm4_tc_data
-execute if score #remainder gm4_tc_data matches 1.. run data merge entity @s {Tags:["gm4_tc_locked"],PickupDelay:0s}
-execute if score #remainder gm4_tc_data matches 0 run kill @s
diff --git a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/compress/lapis_lazuli.mcfunction b/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/compress/lapis_lazuli.mcfunction
deleted file mode 100644
index bde607d47c..0000000000
--- a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/compress/lapis_lazuli.mcfunction
+++ /dev/null
@@ -1,24 +0,0 @@
-# @s = a lapis lazuli item stack on a tinkering compressor
-# at @tinkering compressor positioned ~ ~0.9 ~
-# run from tinkering_compressors:mode/compress
-
-# set fake player flag
-scoreboard players set $ran_compressor gm4_tc_data 1
-
-# tinker operation
-execute store result score #item_count gm4_tc_data run data get entity @s Item.count 1
-
-scoreboard players operation #stack gm4_tc_data = #item_count gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data = #item_count gm4_tc_data
-
-scoreboard players operation #stack gm4_tc_data /= #9stack gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data %= #9stack gm4_tc_data
-
-execute if score #stack gm4_tc_data matches 1.. at @s run summon item ~ ~ ~ {Item:{id:"minecraft:lapis_block",count:1},Tags:["gm4_tc_stack","gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 1.. store result entity @e[type=item,tag=gm4_tc_stack,limit=1] Item.count byte 1 run scoreboard players get #stack gm4_tc_data
-execute if score #stack gm4_tc_data matches 1.. run playsound minecraft:block.piston.contract block @a[distance=..5] ~ ~ ~
-tag @e[type=item,tag=gm4_tc_stack] remove gm4_tc_stack
-
-execute if score #remainder gm4_tc_data matches 1.. store result entity @s Item.count byte 1 run scoreboard players get #remainder gm4_tc_data
-execute if score #remainder gm4_tc_data matches 1.. run data merge entity @s {Tags:["gm4_tc_locked"],PickupDelay:0s}
-execute if score #remainder gm4_tc_data matches 0 run kill @s
diff --git a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/compress/melon_slice.mcfunction b/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/compress/melon_slice.mcfunction
deleted file mode 100644
index 8afee419e0..0000000000
--- a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/compress/melon_slice.mcfunction
+++ /dev/null
@@ -1,24 +0,0 @@
-# @s = a melon slice item stack on a tinkering compressor
-# at @tinkering compressor positioned ~ ~0.9 ~
-# run from tinkering_compressors:mode/compress
-
-# set fake player flag
-scoreboard players set $ran_compressor gm4_tc_data 1
-
-# tinker operation
-execute store result score #item_count gm4_tc_data run data get entity @s Item.count 1
-
-scoreboard players operation #stack gm4_tc_data = #item_count gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data = #item_count gm4_tc_data
-
-scoreboard players operation #stack gm4_tc_data /= #9stack gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data %= #9stack gm4_tc_data
-
-execute if score #stack gm4_tc_data matches 1.. at @s run summon item ~ ~ ~ {Item:{id:"minecraft:melon",count:1},Tags:["gm4_tc_stack","gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 1.. store result entity @e[type=item,tag=gm4_tc_stack,limit=1] Item.count byte 1 run scoreboard players get #stack gm4_tc_data
-execute if score #stack gm4_tc_data matches 1.. run playsound minecraft:block.piston.contract block @a[distance=..5] ~ ~ ~
-tag @e[type=item,tag=gm4_tc_stack] remove gm4_tc_stack
-
-execute if score #remainder gm4_tc_data matches 1.. store result entity @s Item.count byte 1 run scoreboard players get #remainder gm4_tc_data
-execute if score #remainder gm4_tc_data matches 1.. run data merge entity @s {Tags:["gm4_tc_locked"],PickupDelay:0s}
-execute if score #remainder gm4_tc_data matches 0 run kill @s
diff --git a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/compress/netherite_ingot.mcfunction b/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/compress/netherite_ingot.mcfunction
deleted file mode 100644
index 6ccb96f45c..0000000000
--- a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/compress/netherite_ingot.mcfunction
+++ /dev/null
@@ -1,24 +0,0 @@
-# @s = a wheat item stack on a tinkering compressor
-# at @tinkering compressor positioned ~ ~0.9 ~
-# run from tinkering_compressors:mode/compress
-
-# set fake player flag
-scoreboard players set $ran_compressor gm4_tc_data 1
-
-# tinker operation
-execute store result score #item_count gm4_tc_data run data get entity @s Item.count 1
-
-scoreboard players operation #stack gm4_tc_data = #item_count gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data = #item_count gm4_tc_data
-
-scoreboard players operation #stack gm4_tc_data /= #9stack gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data %= #9stack gm4_tc_data
-
-execute if score #stack gm4_tc_data matches 1.. at @s run summon item ~ ~ ~ {Item:{id:"minecraft:netherite_block",count:1},Tags:["gm4_tc_stack","gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 1.. store result entity @e[type=item,tag=gm4_tc_stack,limit=1] Item.count byte 1 run scoreboard players get #stack gm4_tc_data
-execute if score #stack gm4_tc_data matches 1.. run playsound minecraft:block.piston.contract block @a[distance=..5] ~ ~ ~
-tag @e[type=item,tag=gm4_tc_stack] remove gm4_tc_stack
-
-execute if score #remainder gm4_tc_data matches 1.. store result entity @s Item.count byte 1 run scoreboard players get #remainder gm4_tc_data
-execute if score #remainder gm4_tc_data matches 1.. run data merge entity @s {Tags:["gm4_tc_locked"],PickupDelay:0s}
-execute if score #remainder gm4_tc_data matches 0 run kill @s
diff --git a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/compress/raw_copper.mcfunction b/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/compress/raw_copper.mcfunction
deleted file mode 100644
index a3db0f2f11..0000000000
--- a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/compress/raw_copper.mcfunction
+++ /dev/null
@@ -1,24 +0,0 @@
-# @s = a raw copper item stack on a tinkering compressor
-# at @tinkering compressor positioned ~ ~0.9 ~
-# run from tinkering_compressors:mode/compress
-
-# set fake player flag
-scoreboard players set $ran_compressor gm4_tc_data 1
-
-# tinker operation
-execute store result score #item_count gm4_tc_data run data get entity @s Item.count 1
-
-scoreboard players operation #stack gm4_tc_data = #item_count gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data = #item_count gm4_tc_data
-
-scoreboard players operation #stack gm4_tc_data /= #9stack gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data %= #9stack gm4_tc_data
-
-execute if score #stack gm4_tc_data matches 1.. at @s run summon item ~ ~ ~ {Item:{id:"minecraft:raw_copper_block",count:1},Tags:["gm4_tc_stack","gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 1.. store result entity @e[type=item,tag=gm4_tc_stack,limit=1] Item.count byte 1 run scoreboard players get #stack gm4_tc_data
-execute if score #stack gm4_tc_data matches 1.. run playsound minecraft:block.piston.contract block @a[distance=..5] ~ ~ ~
-tag @e[type=item,tag=gm4_tc_stack] remove gm4_tc_stack
-
-execute if score #remainder gm4_tc_data matches 1.. store result entity @s Item.count byte 1 run scoreboard players get #remainder gm4_tc_data
-execute if score #remainder gm4_tc_data matches 1.. run data merge entity @s {Tags:["gm4_tc_locked"],PickupDelay:0s}
-execute if score #remainder gm4_tc_data matches 0 run kill @s
diff --git a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/compress/raw_gold.mcfunction b/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/compress/raw_gold.mcfunction
deleted file mode 100644
index 9ab06864ce..0000000000
--- a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/compress/raw_gold.mcfunction
+++ /dev/null
@@ -1,24 +0,0 @@
-# @s = a raw gold item stack on a tinkering compressor
-# at @tinkering compressor positioned ~ ~0.9 ~
-# run from tinkering_compressors:mode/compress
-
-# set fake player flag
-scoreboard players set $ran_compressor gm4_tc_data 1
-
-# tinker operation
-execute store result score #item_count gm4_tc_data run data get entity @s Item.count 1
-
-scoreboard players operation #stack gm4_tc_data = #item_count gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data = #item_count gm4_tc_data
-
-scoreboard players operation #stack gm4_tc_data /= #9stack gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data %= #9stack gm4_tc_data
-
-execute if score #stack gm4_tc_data matches 1.. at @s run summon item ~ ~ ~ {Item:{id:"minecraft:raw_gold_block",count:1},Tags:["gm4_tc_stack","gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 1.. store result entity @e[type=item,tag=gm4_tc_stack,limit=1] Item.count byte 1 run scoreboard players get #stack gm4_tc_data
-execute if score #stack gm4_tc_data matches 1.. run playsound minecraft:block.piston.contract block @a[distance=..5] ~ ~ ~
-tag @e[type=item,tag=gm4_tc_stack] remove gm4_tc_stack
-
-execute if score #remainder gm4_tc_data matches 1.. store result entity @s Item.count byte 1 run scoreboard players get #remainder gm4_tc_data
-execute if score #remainder gm4_tc_data matches 1.. run data merge entity @s {Tags:["gm4_tc_locked"],PickupDelay:0s}
-execute if score #remainder gm4_tc_data matches 0 run kill @s
diff --git a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/compress/raw_iron.mcfunction b/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/compress/raw_iron.mcfunction
deleted file mode 100644
index ddfc341459..0000000000
--- a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/compress/raw_iron.mcfunction
+++ /dev/null
@@ -1,24 +0,0 @@
-# @s = a raw iron item stack on a tinkering compressor
-# at @tinkering compressor positioned ~ ~0.9 ~
-# run from tinkering_compressors:mode/compress
-
-# set fake player flag
-scoreboard players set $ran_compressor gm4_tc_data 1
-
-# tinker operation
-execute store result score #item_count gm4_tc_data run data get entity @s Item.count 1
-
-scoreboard players operation #stack gm4_tc_data = #item_count gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data = #item_count gm4_tc_data
-
-scoreboard players operation #stack gm4_tc_data /= #9stack gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data %= #9stack gm4_tc_data
-
-execute if score #stack gm4_tc_data matches 1.. at @s run summon item ~ ~ ~ {Item:{id:"minecraft:raw_iron_block",count:1},Tags:["gm4_tc_stack","gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 1.. store result entity @e[type=item,tag=gm4_tc_stack,limit=1] Item.count byte 1 run scoreboard players get #stack gm4_tc_data
-execute if score #stack gm4_tc_data matches 1.. run playsound minecraft:block.piston.contract block @a[distance=..5] ~ ~ ~
-tag @e[type=item,tag=gm4_tc_stack] remove gm4_tc_stack
-
-execute if score #remainder gm4_tc_data matches 1.. store result entity @s Item.count byte 1 run scoreboard players get #remainder gm4_tc_data
-execute if score #remainder gm4_tc_data matches 1.. run data merge entity @s {Tags:["gm4_tc_locked"],PickupDelay:0s}
-execute if score #remainder gm4_tc_data matches 0 run kill @s
diff --git a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/compress/redstone.mcfunction b/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/compress/redstone.mcfunction
deleted file mode 100644
index 5c6f2a52ce..0000000000
--- a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/compress/redstone.mcfunction
+++ /dev/null
@@ -1,24 +0,0 @@
-# @s = a redstone item stack on a tinkering compressor
-# at @tinkering compressor positioned ~ ~0.9 ~
-# run from tinkering_compressors:mode/compress
-
-# set fake player flag
-scoreboard players set $ran_compressor gm4_tc_data 1
-
-# tinker operation
-execute store result score #item_count gm4_tc_data run data get entity @s Item.count 1
-
-scoreboard players operation #stack gm4_tc_data = #item_count gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data = #item_count gm4_tc_data
-
-scoreboard players operation #stack gm4_tc_data /= #9stack gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data %= #9stack gm4_tc_data
-
-execute if score #stack gm4_tc_data matches 1.. at @s run summon item ~ ~ ~ {Item:{id:"minecraft:redstone_block",count:1},Tags:["gm4_tc_stack","gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 1.. store result entity @e[type=item,tag=gm4_tc_stack,limit=1] Item.count byte 1 run scoreboard players get #stack gm4_tc_data
-execute if score #stack gm4_tc_data matches 1.. run playsound minecraft:block.piston.contract block @a[distance=..5] ~ ~ ~
-tag @e[type=item,tag=gm4_tc_stack] remove gm4_tc_stack
-
-execute if score #remainder gm4_tc_data matches 1.. store result entity @s Item.count byte 1 run scoreboard players get #remainder gm4_tc_data
-execute if score #remainder gm4_tc_data matches 1.. run data merge entity @s {Tags:["gm4_tc_locked"],PickupDelay:0s}
-execute if score #remainder gm4_tc_data matches 0 run kill @s
diff --git a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/compress/slime_ball.mcfunction b/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/compress/slime_ball.mcfunction
deleted file mode 100644
index 84b1719cd9..0000000000
--- a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/compress/slime_ball.mcfunction
+++ /dev/null
@@ -1,24 +0,0 @@
-# @s = a wheat item stack on a tinkering compressor
-# at @tinkering compressor positioned ~ ~0.9 ~
-# run from tinkering_compressors:mode/compress
-
-# set fake player flag
-scoreboard players set $ran_compressor gm4_tc_data 1
-
-# tinker operation
-execute store result score #item_count gm4_tc_data run data get entity @s Item.count 1
-
-scoreboard players operation #stack gm4_tc_data = #item_count gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data = #item_count gm4_tc_data
-
-scoreboard players operation #stack gm4_tc_data /= #9stack gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data %= #9stack gm4_tc_data
-
-execute if score #stack gm4_tc_data matches 1.. at @s run summon item ~ ~ ~ {Item:{id:"minecraft:slime_block",count:1},Tags:["gm4_tc_stack","gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 1.. store result entity @e[type=item,tag=gm4_tc_stack,limit=1] Item.count byte 1 run scoreboard players get #stack gm4_tc_data
-execute if score #stack gm4_tc_data matches 1.. run playsound minecraft:block.piston.contract block @a[distance=..5] ~ ~ ~
-tag @e[type=item,tag=gm4_tc_stack] remove gm4_tc_stack
-
-execute if score #remainder gm4_tc_data matches 1.. store result entity @s Item.count byte 1 run scoreboard players get #remainder gm4_tc_data
-execute if score #remainder gm4_tc_data matches 1.. run data merge entity @s {Tags:["gm4_tc_locked"],PickupDelay:0s}
-execute if score #remainder gm4_tc_data matches 0 run kill @s
diff --git a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/compress/snowball.mcfunction b/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/compress/snowball.mcfunction
deleted file mode 100644
index e4ff2f6886..0000000000
--- a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/compress/snowball.mcfunction
+++ /dev/null
@@ -1,24 +0,0 @@
-# @s = a snowball item stack on a tinkering compressor
-# at @tinkering compressor positioned ~ ~0.9 ~
-# run from tinkering_compressors:mode/compress
-
-# set fake player flag
-scoreboard players set $ran_compressor gm4_tc_data 1
-
-# tinker operation
-execute store result score #item_count gm4_tc_data run data get entity @s Item.count 1
-
-scoreboard players operation #stack gm4_tc_data = #item_count gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data = #item_count gm4_tc_data
-
-scoreboard players operation #stack gm4_tc_data /= #4stack gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data %= #4stack gm4_tc_data
-
-execute if score #stack gm4_tc_data matches 1.. at @s run summon item ~ ~ ~ {Item:{id:"minecraft:snow_block",count:1},Tags:["gm4_tc_stack","gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 1.. store result entity @e[type=item,tag=gm4_tc_stack,limit=1] Item.count byte 1 run scoreboard players get #stack gm4_tc_data
-execute if score #stack gm4_tc_data matches 1.. run playsound minecraft:block.piston.contract block @a[distance=..5] ~ ~ ~
-tag @e[type=item,tag=gm4_tc_stack] remove gm4_tc_stack
-
-execute if score #remainder gm4_tc_data matches 1.. store result entity @s Item.count byte 1 run scoreboard players get #remainder gm4_tc_data
-execute if score #remainder gm4_tc_data matches 1.. run data merge entity @s {Tags:["gm4_tc_locked"],PickupDelay:0s}
-execute if score #remainder gm4_tc_data matches 0 run kill @s
diff --git a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/compress/wheat.mcfunction b/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/compress/wheat.mcfunction
deleted file mode 100644
index 455bad1bf4..0000000000
--- a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/compress/wheat.mcfunction
+++ /dev/null
@@ -1,24 +0,0 @@
-# @s = a wheat item stack on a tinkering compressor
-# at @tinkering compressor positioned ~ ~0.9 ~
-# run from tinkering_compressors:mode/compress
-
-# set fake player flag
-scoreboard players set $ran_compressor gm4_tc_data 1
-
-# tinker operation
-execute store result score #item_count gm4_tc_data run data get entity @s Item.count 1
-
-scoreboard players operation #stack gm4_tc_data = #item_count gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data = #item_count gm4_tc_data
-
-scoreboard players operation #stack gm4_tc_data /= #9stack gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data %= #9stack gm4_tc_data
-
-execute if score #stack gm4_tc_data matches 1.. at @s run summon item ~ ~ ~ {Item:{id:"minecraft:hay_block",count:1},Tags:["gm4_tc_stack","gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 1.. store result entity @e[type=item,tag=gm4_tc_stack,limit=1] Item.count byte 1 run scoreboard players get #stack gm4_tc_data
-execute if score #stack gm4_tc_data matches 1.. run playsound minecraft:block.piston.contract block @a[distance=..5] ~ ~ ~
-tag @e[type=item,tag=gm4_tc_stack] remove gm4_tc_stack
-
-execute if score #remainder gm4_tc_data matches 1.. store result entity @s Item.count byte 1 run scoreboard players get #remainder gm4_tc_data
-execute if score #remainder gm4_tc_data matches 1.. run data merge entity @s {Tags:["gm4_tc_locked"],PickupDelay:0s}
-execute if score #remainder gm4_tc_data matches 0 run kill @s
diff --git a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/decompress/clay.mcfunction b/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/decompress/clay.mcfunction
deleted file mode 100644
index d6d9455409..0000000000
--- a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/decompress/clay.mcfunction
+++ /dev/null
@@ -1,31 +0,0 @@
-# @s = a clay item stack on a tinkering compressor
-# at @tinkering compressor positioned ~ ~0.9 ~
-# run from tinkering_compressors:mode/decompress
-
-# set fake player flag
-scoreboard players set $ran_compressor gm4_tc_data 1
-
-# tinker operation
-execute store result score #item_count gm4_tc_data run data get entity @s Item.count 1
-
-scoreboard players operation #items gm4_tc_data = #item_count gm4_tc_data
-scoreboard players operation #items gm4_tc_data *= #4stack gm4_tc_data
-
-scoreboard players operation #stack gm4_tc_data = #items gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data = #items gm4_tc_data
-
-scoreboard players operation #stack gm4_tc_data /= #64stack gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data %= #64stack gm4_tc_data
-
-execute if score #stack gm4_tc_data matches 1..4 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:clay_ball",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 2..4 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:clay_ball",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 3..4 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:clay_ball",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 4 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:clay_ball",count:64},Tags:["gm4_tc_locked"]}
-
-execute if score #remainder gm4_tc_data matches 1.. run summon item ~ ~ ~ {Item:{id:"minecraft:clay_ball",count:1},Tags:["gm4_tc_remainder","gm4_tc_locked"]}
-execute if score #remainder gm4_tc_data matches 1.. store result entity @e[type=item,tag=gm4_tc_remainder,limit=1] Item.count byte 1 run scoreboard players get #remainder gm4_tc_data
-tag @e[type=item,tag=gm4_tc_remainder] remove gm4_tc_remainder
-
-execute if score #items gm4_tc_data matches 1.. run playsound minecraft:block.piston.extend block @a[distance=..5] ~ ~ ~
-
-kill @s
diff --git a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/decompress/coal_block.mcfunction b/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/decompress/coal_block.mcfunction
deleted file mode 100644
index 1ae313e8bb..0000000000
--- a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/decompress/coal_block.mcfunction
+++ /dev/null
@@ -1,36 +0,0 @@
-# @s = a coal block item stack on a tinkering compressor
-# at @tinkering compressor positioned ~ ~0.9 ~
-# run from tinkering_compressors:mode/decompress
-
-# set fake player flag
-scoreboard players set $ran_compressor gm4_tc_data 1
-
-# tinker operation
-execute store result score #item_count gm4_tc_data run data get entity @s Item.count 1
-
-scoreboard players operation #items gm4_tc_data = #item_count gm4_tc_data
-scoreboard players operation #items gm4_tc_data *= #9stack gm4_tc_data
-
-scoreboard players operation #stack gm4_tc_data = #items gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data = #items gm4_tc_data
-
-scoreboard players operation #stack gm4_tc_data /= #64stack gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data %= #64stack gm4_tc_data
-
-execute if score #stack gm4_tc_data matches 1..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:coal",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 2..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:coal",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 3..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:coal",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 4..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:coal",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 5..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:coal",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 6..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:coal",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 7..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:coal",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 8..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:coal",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:coal",count:64},Tags:["gm4_tc_locked"]}
-
-execute if score #remainder gm4_tc_data matches 1.. run summon item ~ ~ ~ {Item:{id:"minecraft:coal",count:1},Tags:["gm4_tc_remainder","gm4_tc_locked"]}
-execute if score #remainder gm4_tc_data matches 1.. store result entity @e[type=item,tag=gm4_tc_remainder,limit=1] Item.count byte 1 run scoreboard players get #remainder gm4_tc_data
-tag @e[type=item,tag=gm4_tc_remainder] remove gm4_tc_remainder
-
-execute if score #items gm4_tc_data matches 1.. run playsound minecraft:block.piston.extend block @a[distance=..5] ~ ~ ~
-
-kill @s
diff --git a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/decompress/copper_block.mcfunction b/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/decompress/copper_block.mcfunction
deleted file mode 100644
index 38ee7b4f1d..0000000000
--- a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/decompress/copper_block.mcfunction
+++ /dev/null
@@ -1,36 +0,0 @@
-# @s = a copper block item stack on a tinkering compressor
-# at @tinkering compressor positioned ~ ~0.9 ~
-# run from tinkering_compressors:mode/decompress
-
-# set fake player flag
-scoreboard players set $ran_compressor gm4_tc_data 1
-
-# tinker operation
-execute store result score #item_count gm4_tc_data run data get entity @s Item.count 1
-
-scoreboard players operation #items gm4_tc_data = #item_count gm4_tc_data
-scoreboard players operation #items gm4_tc_data *= #9stack gm4_tc_data
-
-scoreboard players operation #stack gm4_tc_data = #items gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data = #items gm4_tc_data
-
-scoreboard players operation #stack gm4_tc_data /= #64stack gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data %= #64stack gm4_tc_data
-
-execute if score #stack gm4_tc_data matches 1..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:copper_ingot",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 2..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:copper_ingot",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 3..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:copper_ingot",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 4..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:copper_ingot",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 5..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:copper_ingot",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 6..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:copper_ingot",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 7..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:copper_ingot",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 8..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:copper_ingot",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:copper_ingot",count:64},Tags:["gm4_tc_locked"]}
-
-execute if score #remainder gm4_tc_data matches 1.. run summon item ~ ~ ~ {Item:{id:"minecraft:copper_ingot",count:1},Tags:["gm4_tc_remainder","gm4_tc_locked"]}
-execute if score #remainder gm4_tc_data matches 1.. store result entity @e[type=item,tag=gm4_tc_remainder,limit=1] Item.count byte 1 run scoreboard players get #remainder gm4_tc_data
-tag @e[type=item,tag=gm4_tc_remainder] remove gm4_tc_remainder
-
-execute if score #items gm4_tc_data matches 1.. run playsound minecraft:block.piston.extend block @a[distance=..5] ~ ~ ~
-
-kill @s
diff --git a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/decompress/diamond_block.mcfunction b/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/decompress/diamond_block.mcfunction
deleted file mode 100644
index b6986abf80..0000000000
--- a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/decompress/diamond_block.mcfunction
+++ /dev/null
@@ -1,36 +0,0 @@
-# @s = a diamond block item stack on a tinkering compressor
-# at @tinkering compressor positioned ~ ~0.9 ~
-# run from tinkering_compressors:mode/decompress
-
-# set fake player flag
-scoreboard players set $ran_compressor gm4_tc_data 1
-
-# tinker operation
-execute store result score #item_count gm4_tc_data run data get entity @s Item.count 1
-
-scoreboard players operation #items gm4_tc_data = #item_count gm4_tc_data
-scoreboard players operation #items gm4_tc_data *= #9stack gm4_tc_data
-
-scoreboard players operation #stack gm4_tc_data = #items gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data = #items gm4_tc_data
-
-scoreboard players operation #stack gm4_tc_data /= #64stack gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data %= #64stack gm4_tc_data
-
-execute if score #stack gm4_tc_data matches 1..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:diamond",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 2..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:diamond",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 3..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:diamond",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 4..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:diamond",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 5..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:diamond",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 6..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:diamond",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 7..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:diamond",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 8..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:diamond",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:diamond",count:64},Tags:["gm4_tc_locked"]}
-
-execute if score #remainder gm4_tc_data matches 1.. run summon item ~ ~ ~ {Item:{id:"minecraft:diamond",count:1},Tags:["gm4_tc_remainder","gm4_tc_locked"]}
-execute if score #remainder gm4_tc_data matches 1.. store result entity @e[type=item,tag=gm4_tc_remainder,limit=1] Item.count byte 1 run scoreboard players get #remainder gm4_tc_data
-tag @e[type=item,tag=gm4_tc_remainder] remove gm4_tc_remainder
-
-execute if score #items gm4_tc_data matches 1.. run playsound minecraft:block.piston.extend block @a[distance=..5] ~ ~ ~
-
-kill @s
diff --git a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/decompress/emerald_block.mcfunction b/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/decompress/emerald_block.mcfunction
deleted file mode 100644
index 8b8f4d2549..0000000000
--- a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/decompress/emerald_block.mcfunction
+++ /dev/null
@@ -1,36 +0,0 @@
-# @s = an emerald block item stack on a tinkering compressor
-# at @tinkering compressor positioned ~ ~0.9 ~
-# run from tinkering_compressors:mode/decompress
-
-# set fake player flag
-scoreboard players set $ran_compressor gm4_tc_data 1
-
-# tinker operation
-execute store result score #item_count gm4_tc_data run data get entity @s Item.count 1
-
-scoreboard players operation #items gm4_tc_data = #item_count gm4_tc_data
-scoreboard players operation #items gm4_tc_data *= #9stack gm4_tc_data
-
-scoreboard players operation #stack gm4_tc_data = #items gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data = #items gm4_tc_data
-
-scoreboard players operation #stack gm4_tc_data /= #64stack gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data %= #64stack gm4_tc_data
-
-execute if score #stack gm4_tc_data matches 1..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:emerald",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 2..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:emerald",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 3..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:emerald",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 4..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:emerald",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 5..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:emerald",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 6..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:emerald",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 7..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:emerald",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 8..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:emerald",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:emerald",count:64},Tags:["gm4_tc_locked"]}
-
-execute if score #remainder gm4_tc_data matches 1.. run summon item ~ ~ ~ {Item:{id:"minecraft:emerald",count:1},Tags:["gm4_tc_remainder","gm4_tc_locked"]}
-execute if score #remainder gm4_tc_data matches 1.. store result entity @e[type=item,tag=gm4_tc_remainder,limit=1] Item.count byte 1 run scoreboard players get #remainder gm4_tc_data
-tag @e[type=item,tag=gm4_tc_remainder] remove gm4_tc_remainder
-
-execute if score #items gm4_tc_data matches 1.. run playsound minecraft:block.piston.extend block @a[distance=..5] ~ ~ ~
-
-kill @s
diff --git a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/decompress/gold_block.mcfunction b/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/decompress/gold_block.mcfunction
deleted file mode 100644
index 35546131ce..0000000000
--- a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/decompress/gold_block.mcfunction
+++ /dev/null
@@ -1,36 +0,0 @@
-# @s = a gold block item stack on a tinkering compressor
-# at @tinkering compressor positioned ~ ~0.9 ~
-# run from tinkering_compressors:mode/decompress
-
-# set fake player flag
-scoreboard players set $ran_compressor gm4_tc_data 1
-
-# tinker operation
-execute store result score #item_count gm4_tc_data run data get entity @s Item.count 1
-
-scoreboard players operation #items gm4_tc_data = #item_count gm4_tc_data
-scoreboard players operation #items gm4_tc_data *= #9stack gm4_tc_data
-
-scoreboard players operation #stack gm4_tc_data = #items gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data = #items gm4_tc_data
-
-scoreboard players operation #stack gm4_tc_data /= #64stack gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data %= #64stack gm4_tc_data
-
-execute if score #stack gm4_tc_data matches 1..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:gold_ingot",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 2..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:gold_ingot",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 3..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:gold_ingot",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 4..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:gold_ingot",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 5..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:gold_ingot",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 6..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:gold_ingot",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 7..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:gold_ingot",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 8..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:gold_ingot",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:gold_ingot",count:64},Tags:["gm4_tc_locked"]}
-
-execute if score #remainder gm4_tc_data matches 1.. run summon item ~ ~ ~ {Item:{id:"minecraft:gold_ingot",count:1},Tags:["gm4_tc_remainder","gm4_tc_locked"]}
-execute if score #remainder gm4_tc_data matches 1.. store result entity @e[type=item,tag=gm4_tc_remainder,limit=1] Item.count byte 1 run scoreboard players get #remainder gm4_tc_data
-tag @e[type=item,tag=gm4_tc_remainder] remove gm4_tc_remainder
-
-execute if score #items gm4_tc_data matches 1.. run playsound minecraft:block.piston.extend block @a[distance=..5] ~ ~ ~
-
-kill @s
diff --git a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/decompress/gold_ingot.mcfunction b/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/decompress/gold_ingot.mcfunction
deleted file mode 100644
index 05f21e450b..0000000000
--- a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/decompress/gold_ingot.mcfunction
+++ /dev/null
@@ -1,36 +0,0 @@
-# @s = a gold ingot item stack on a tinkering compressor
-# at @tinkering compressor positioned ~ ~0.9 ~
-# run from tinkering_compressors:mode/decompress
-
-# set fake player flag
-scoreboard players set $ran_compressor gm4_tc_data 1
-
-# tinker operation
-execute store result score #item_count gm4_tc_data run data get entity @s Item.count 1
-
-scoreboard players operation #items gm4_tc_data = #item_count gm4_tc_data
-scoreboard players operation #items gm4_tc_data *= #9stack gm4_tc_data
-
-scoreboard players operation #stack gm4_tc_data = #items gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data = #items gm4_tc_data
-
-scoreboard players operation #stack gm4_tc_data /= #64stack gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data %= #64stack gm4_tc_data
-
-execute if score #stack gm4_tc_data matches 1..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:gold_nugget",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 2..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:gold_nugget",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 3..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:gold_nugget",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 4..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:gold_nugget",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 5..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:gold_nugget",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 6..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:gold_nugget",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 7..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:gold_nugget",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 8..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:gold_nugget",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:gold_nugget",count:64}}
-
-execute if score #remainder gm4_tc_data matches 1.. run summon item ~ ~ ~ {Item:{id:"minecraft:gold_nugget",count:1},Tags:["gm4_tc_remainder","gm4_tc_locked"]}
-execute if score #remainder gm4_tc_data matches 1.. store result entity @e[type=item,tag=gm4_tc_remainder,limit=1] Item.count byte 1 run scoreboard players get #remainder gm4_tc_data
-tag @e[type=item,tag=gm4_tc_remainder] remove gm4_tc_remainder
-
-execute if score #items gm4_tc_data matches 1.. run playsound minecraft:block.piston.extend block @a[distance=..5] ~ ~ ~
-
-kill @s
diff --git a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/decompress/hay_block.mcfunction b/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/decompress/hay_block.mcfunction
deleted file mode 100644
index 16e9c2c7e6..0000000000
--- a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/decompress/hay_block.mcfunction
+++ /dev/null
@@ -1,36 +0,0 @@
-# @s = a hay block item stack on a tinkering compressor
-# at @tinkering compressor positioned ~ ~0.9 ~
-# run from tinkering_compressors:mode/decompress
-
-# set fake player flag
-scoreboard players set $ran_compressor gm4_tc_data 1
-
-# tinker operation
-execute store result score #item_count gm4_tc_data run data get entity @s Item.count 1
-
-scoreboard players operation #items gm4_tc_data = #item_count gm4_tc_data
-scoreboard players operation #items gm4_tc_data *= #9stack gm4_tc_data
-
-scoreboard players operation #stack gm4_tc_data = #items gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data = #items gm4_tc_data
-
-scoreboard players operation #stack gm4_tc_data /= #64stack gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data %= #64stack gm4_tc_data
-
-execute if score #stack gm4_tc_data matches 1..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:wheat",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 2..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:wheat",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 3..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:wheat",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 4..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:wheat",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 5..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:wheat",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 6..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:wheat",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 7..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:wheat",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 8..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:wheat",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:wheat",count:64},Tags:["gm4_tc_locked"]}
-
-execute if score #remainder gm4_tc_data matches 1.. run summon item ~ ~ ~ {Item:{id:"minecraft:wheat",count:1},Tags:["gm4_tc_remainder","gm4_tc_locked"]}
-execute if score #remainder gm4_tc_data matches 1.. store result entity @e[type=item,tag=gm4_tc_remainder,limit=1] Item.count byte 1 run scoreboard players get #remainder gm4_tc_data
-tag @e[type=item,tag=gm4_tc_remainder] remove gm4_tc_remainder
-
-execute if score #items gm4_tc_data matches 1.. run playsound minecraft:block.piston.extend block @a[distance=..5] ~ ~ ~
-
-kill @s
diff --git a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/decompress/iron_block.mcfunction b/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/decompress/iron_block.mcfunction
deleted file mode 100644
index de9480b4cb..0000000000
--- a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/decompress/iron_block.mcfunction
+++ /dev/null
@@ -1,36 +0,0 @@
-# @s = an iron block item stack on a tinkering compressor
-# at @tinkering compressor positioned ~ ~0.9 ~
-# run from tinkering_compressors:mode/decompress
-
-# set fake player flag
-scoreboard players set $ran_compressor gm4_tc_data 1
-
-# tinker operation
-execute store result score #item_count gm4_tc_data run data get entity @s Item.count 1
-
-scoreboard players operation #items gm4_tc_data = #item_count gm4_tc_data
-scoreboard players operation #items gm4_tc_data *= #9stack gm4_tc_data
-
-scoreboard players operation #stack gm4_tc_data = #items gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data = #items gm4_tc_data
-
-scoreboard players operation #stack gm4_tc_data /= #64stack gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data %= #64stack gm4_tc_data
-
-execute if score #stack gm4_tc_data matches 1..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:iron_ingot",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 2..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:iron_ingot",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 3..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:iron_ingot",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 4..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:iron_ingot",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 5..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:iron_ingot",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 6..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:iron_ingot",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 7..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:iron_ingot",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 8..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:iron_ingot",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:iron_ingot",count:64},Tags:["gm4_tc_locked"]}
-
-execute if score #remainder gm4_tc_data matches 1.. run summon item ~ ~ ~ {Item:{id:"minecraft:iron_ingot",count:1},Tags:["gm4_tc_remainder","gm4_tc_locked"]}
-execute if score #remainder gm4_tc_data matches 1.. store result entity @e[type=item,tag=gm4_tc_remainder,limit=1] Item.count byte 1 run scoreboard players get #remainder gm4_tc_data
-tag @e[type=item,tag=gm4_tc_remainder] remove gm4_tc_remainder
-
-execute if score #items gm4_tc_data matches 1.. run playsound minecraft:block.piston.extend block @a[distance=..5] ~ ~ ~
-
-kill @s
diff --git a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/decompress/iron_ingot.mcfunction b/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/decompress/iron_ingot.mcfunction
deleted file mode 100644
index 4bc1db67d8..0000000000
--- a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/decompress/iron_ingot.mcfunction
+++ /dev/null
@@ -1,36 +0,0 @@
-# @s = an iron ingot item stack on a tinkering compressor
-# at @tinkering compressor positioned ~ ~0.9 ~
-# run from tinkering_compressors:mode/decompress
-
-# set fake player flag
-scoreboard players set $ran_compressor gm4_tc_data 1
-
-# tinker operation
-execute store result score #item_count gm4_tc_data run data get entity @s Item.count 1
-
-scoreboard players operation #items gm4_tc_data = #item_count gm4_tc_data
-scoreboard players operation #items gm4_tc_data *= #9stack gm4_tc_data
-
-scoreboard players operation #stack gm4_tc_data = #items gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data = #items gm4_tc_data
-
-scoreboard players operation #stack gm4_tc_data /= #64stack gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data %= #64stack gm4_tc_data
-
-execute if score #stack gm4_tc_data matches 1..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:iron_nugget",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 2..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:iron_nugget",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 3..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:iron_nugget",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 4..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:iron_nugget",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 5..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:iron_nugget",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 6..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:iron_nugget",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 7..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:iron_nugget",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 8..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:iron_nugget",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:iron_nugget",count:64},Tags:["gm4_tc_locked"]}
-
-execute if score #remainder gm4_tc_data matches 1.. run summon item ~ ~ ~ {Item:{id:"minecraft:iron_nugget",count:1},Tags:["gm4_tc_remainder","gm4_tc_locked"]}
-execute if score #remainder gm4_tc_data matches 1.. store result entity @e[type=item,tag=gm4_tc_remainder,limit=1] Item.count byte 1 run scoreboard players get #remainder gm4_tc_data
-tag @e[type=item,tag=gm4_tc_remainder] remove gm4_tc_remainder
-
-execute if score #items gm4_tc_data matches 1.. run playsound minecraft:block.piston.extend block @a[distance=..5] ~ ~ ~
-
-kill @s
diff --git a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/decompress/lapis_block.mcfunction b/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/decompress/lapis_block.mcfunction
deleted file mode 100644
index 71f1ee19fc..0000000000
--- a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/decompress/lapis_block.mcfunction
+++ /dev/null
@@ -1,36 +0,0 @@
-# @s = a lapis block item stack on a tinkering compressor
-# at @tinkering compressor positioned ~ ~0.9 ~
-# run from tinkering_compressors:mode/decompress
-
-# set fake player flag
-scoreboard players set $ran_compressor gm4_tc_data 1
-
-# tinker operation
-execute store result score #item_count gm4_tc_data run data get entity @s Item.count 1
-
-scoreboard players operation #items gm4_tc_data = #item_count gm4_tc_data
-scoreboard players operation #items gm4_tc_data *= #9stack gm4_tc_data
-
-scoreboard players operation #stack gm4_tc_data = #items gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data = #items gm4_tc_data
-
-scoreboard players operation #stack gm4_tc_data /= #64stack gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data %= #64stack gm4_tc_data
-
-execute if score #stack gm4_tc_data matches 1..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:lapis_lazuli",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 2..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:lapis_lazuli",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 3..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:lapis_lazuli",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 4..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:lapis_lazuli",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 5..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:lapis_lazuli",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 6..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:lapis_lazuli",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 7..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:lapis_lazuli",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 8..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:lapis_lazuli",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:lapis_lazuli",count:64},Tags:["gm4_tc_locked"]}
-
-execute if score #remainder gm4_tc_data matches 1.. run summon item ~ ~ ~ {Item:{id:"minecraft:lapis_lazuli",count:1},Tags:["gm4_tc_remainder","gm4_tc_locked"]}
-execute if score #remainder gm4_tc_data matches 1.. store result entity @e[type=item,tag=gm4_tc_remainder,limit=1] Item.count byte 1 run scoreboard players get #remainder gm4_tc_data
-tag @e[type=item,tag=gm4_tc_remainder] remove gm4_tc_remainder
-
-execute if score #items gm4_tc_data matches 1.. run playsound minecraft:block.piston.extend block @a[distance=..5] ~ ~ ~
-
-kill @s
diff --git a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/decompress/melon.mcfunction b/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/decompress/melon.mcfunction
deleted file mode 100644
index 7ef94429dc..0000000000
--- a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/decompress/melon.mcfunction
+++ /dev/null
@@ -1,36 +0,0 @@
-# @s = a melon item stack on a tinkering compressor
-# at @tinkering compressor positioned ~ ~0.9 ~
-# run from tinkering_compressors:mode/decompress
-
-# set fake player flag
-scoreboard players set $ran_compressor gm4_tc_data 1
-
-# tinker operation
-execute store result score #item_count gm4_tc_data run data get entity @s Item.count 1
-
-scoreboard players operation #items gm4_tc_data = #item_count gm4_tc_data
-scoreboard players operation #items gm4_tc_data *= #9stack gm4_tc_data
-
-scoreboard players operation #stack gm4_tc_data = #items gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data = #items gm4_tc_data
-
-scoreboard players operation #stack gm4_tc_data /= #64stack gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data %= #64stack gm4_tc_data
-
-execute if score #stack gm4_tc_data matches 1..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:melon_slice",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 2..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:melon_slice",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 3..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:melon_slice",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 4..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:melon_slice",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 5..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:melon_slice",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 6..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:melon_slice",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 7..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:melon_slice",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 8..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:melon_slice",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:melon_slice",count:64},Tags:["gm4_tc_locked"]}
-
-execute if score #remainder gm4_tc_data matches 1.. run summon item ~ ~ ~ {Item:{id:"minecraft:melon_slice",count:1},Tags:["gm4_tc_remainder","gm4_tc_locked"]}
-execute if score #remainder gm4_tc_data matches 1.. store result entity @e[type=item,tag=gm4_tc_remainder,limit=1] Item.count byte 1 run scoreboard players get #remainder gm4_tc_data
-tag @e[type=item,tag=gm4_tc_remainder] remove gm4_tc_remainder
-
-execute if score #items gm4_tc_data matches 1.. run playsound minecraft:block.piston.extend block @a[distance=..5] ~ ~ ~
-
-kill @s
diff --git a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/decompress/netherite_block.mcfunction b/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/decompress/netherite_block.mcfunction
deleted file mode 100644
index 8e696763ac..0000000000
--- a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/decompress/netherite_block.mcfunction
+++ /dev/null
@@ -1,36 +0,0 @@
-# @s = an iron ingot item stack on a tinkering compressor
-# at @tinkering compressor positioned ~ ~0.9 ~
-# run from tinkering_compressors:mode/decompress
-
-# set fake player flag
-scoreboard players set $ran_compressor gm4_tc_data 1
-
-# tinker operation
-execute store result score #item_count gm4_tc_data run data get entity @s Item.count 1
-
-scoreboard players operation #items gm4_tc_data = #item_count gm4_tc_data
-scoreboard players operation #items gm4_tc_data *= #9stack gm4_tc_data
-
-scoreboard players operation #stack gm4_tc_data = #items gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data = #items gm4_tc_data
-
-scoreboard players operation #stack gm4_tc_data /= #64stack gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data %= #64stack gm4_tc_data
-
-execute if score #stack gm4_tc_data matches 1..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:netherite_ingot",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 2..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:netherite_ingot",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 3..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:netherite_ingot",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 4..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:netherite_ingot",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 5..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:netherite_ingot",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 6..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:netherite_ingot",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 7..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:netherite_ingot",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 8..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:netherite_ingot",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:netherite_ingot",count:64},Tags:["gm4_tc_locked"]}
-
-execute if score #remainder gm4_tc_data matches 1.. run summon item ~ ~ ~ {Item:{id:"minecraft:netherite_ingot",count:1},Tags:["gm4_tc_remainder","gm4_tc_locked"]}
-execute if score #remainder gm4_tc_data matches 1.. store result entity @e[type=item,tag=gm4_tc_remainder,limit=1] Item.count byte 1 run scoreboard players get #remainder gm4_tc_data
-tag @e[type=item,tag=gm4_tc_remainder] remove gm4_tc_remainder
-
-execute if score #items gm4_tc_data matches 1.. run playsound minecraft:block.piston.extend block @a[distance=..5] ~ ~ ~
-
-kill @s
diff --git a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/decompress/raw_copper_block.mcfunction b/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/decompress/raw_copper_block.mcfunction
deleted file mode 100644
index 621a03e4aa..0000000000
--- a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/decompress/raw_copper_block.mcfunction
+++ /dev/null
@@ -1,36 +0,0 @@
-# @s = a raw copper block item stack on a tinkering compressor
-# at @tinkering compressor positioned ~ ~0.9 ~
-# run from tinkering_compressors:mode/decompress
-
-# set fake player flag
-scoreboard players set $ran_compressor gm4_tc_data 1
-
-# tinker operation
-execute store result score #item_count gm4_tc_data run data get entity @s Item.count 1
-
-scoreboard players operation #items gm4_tc_data = #item_count gm4_tc_data
-scoreboard players operation #items gm4_tc_data *= #9stack gm4_tc_data
-
-scoreboard players operation #stack gm4_tc_data = #items gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data = #items gm4_tc_data
-
-scoreboard players operation #stack gm4_tc_data /= #64stack gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data %= #64stack gm4_tc_data
-
-execute if score #stack gm4_tc_data matches 1..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:raw_copper",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 2..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:raw_copper",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 3..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:raw_copper",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 4..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:raw_copper",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 5..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:raw_copper",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 6..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:raw_copper",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 7..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:raw_copper",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 8..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:raw_copper",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:raw_copper",count:64},Tags:["gm4_tc_locked"]}
-
-execute if score #remainder gm4_tc_data matches 1.. run summon item ~ ~ ~ {Item:{id:"minecraft:raw_copper",count:1},Tags:["gm4_tc_remainder","gm4_tc_locked"]}
-execute if score #remainder gm4_tc_data matches 1.. store result entity @e[type=item,tag=gm4_tc_remainder,limit=1] Item.count byte 1 run scoreboard players get #remainder gm4_tc_data
-tag @e[type=item,tag=gm4_tc_remainder] remove gm4_tc_remainder
-
-execute if score #items gm4_tc_data matches 1.. run playsound minecraft:block.piston.extend block @a[distance=..5] ~ ~ ~
-
-kill @s
diff --git a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/decompress/raw_gold_block.mcfunction b/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/decompress/raw_gold_block.mcfunction
deleted file mode 100644
index 1313f646e4..0000000000
--- a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/decompress/raw_gold_block.mcfunction
+++ /dev/null
@@ -1,36 +0,0 @@
-# @s = a raw gold block item stack on a tinkering compressor
-# at @tinkering compressor positioned ~ ~0.9 ~
-# run from tinkering_compressors:mode/decompress
-
-# set fake player flag
-scoreboard players set $ran_compressor gm4_tc_data 1
-
-# tinker operation
-execute store result score #item_count gm4_tc_data run data get entity @s Item.count 1
-
-scoreboard players operation #items gm4_tc_data = #item_count gm4_tc_data
-scoreboard players operation #items gm4_tc_data *= #9stack gm4_tc_data
-
-scoreboard players operation #stack gm4_tc_data = #items gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data = #items gm4_tc_data
-
-scoreboard players operation #stack gm4_tc_data /= #64stack gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data %= #64stack gm4_tc_data
-
-execute if score #stack gm4_tc_data matches 1..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:raw_gold",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 2..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:raw_gold",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 3..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:raw_gold",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 4..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:raw_gold",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 5..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:raw_gold",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 6..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:raw_gold",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 7..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:raw_gold",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 8..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:raw_gold",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:raw_gold",count:64},Tags:["gm4_tc_locked"]}
-
-execute if score #remainder gm4_tc_data matches 1.. run summon item ~ ~ ~ {Item:{id:"minecraft:raw_gold",count:1},Tags:["gm4_tc_remainder","gm4_tc_locked"]}
-execute if score #remainder gm4_tc_data matches 1.. store result entity @e[type=item,tag=gm4_tc_remainder,limit=1] Item.count byte 1 run scoreboard players get #remainder gm4_tc_data
-tag @e[type=item,tag=gm4_tc_remainder] remove gm4_tc_remainder
-
-execute if score #items gm4_tc_data matches 1.. run playsound minecraft:block.piston.extend block @a[distance=..5] ~ ~ ~
-
-kill @s
diff --git a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/decompress/raw_iron_block.mcfunction b/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/decompress/raw_iron_block.mcfunction
deleted file mode 100644
index f74e527e0b..0000000000
--- a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/decompress/raw_iron_block.mcfunction
+++ /dev/null
@@ -1,36 +0,0 @@
-# @s = a raw iron block item stack on a tinkering compressor
-# at @tinkering compressor positioned ~ ~0.9 ~
-# run from tinkering_compressors:mode/decompress
-
-# set fake player flag
-scoreboard players set $ran_compressor gm4_tc_data 1
-
-# tinker operation
-execute store result score #item_count gm4_tc_data run data get entity @s Item.count 1
-
-scoreboard players operation #items gm4_tc_data = #item_count gm4_tc_data
-scoreboard players operation #items gm4_tc_data *= #9stack gm4_tc_data
-
-scoreboard players operation #stack gm4_tc_data = #items gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data = #items gm4_tc_data
-
-scoreboard players operation #stack gm4_tc_data /= #64stack gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data %= #64stack gm4_tc_data
-
-execute if score #stack gm4_tc_data matches 1..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:raw_iron",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 2..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:raw_iron",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 3..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:raw_iron",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 4..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:raw_iron",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 5..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:raw_iron",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 6..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:raw_iron",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 7..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:raw_iron",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 8..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:raw_iron",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:raw_iron",count:64},Tags:["gm4_tc_locked"]}
-
-execute if score #remainder gm4_tc_data matches 1.. run summon item ~ ~ ~ {Item:{id:"minecraft:raw_iron",count:1},Tags:["gm4_tc_remainder","gm4_tc_locked"]}
-execute if score #remainder gm4_tc_data matches 1.. store result entity @e[type=item,tag=gm4_tc_remainder,limit=1] Item.count byte 1 run scoreboard players get #remainder gm4_tc_data
-tag @e[type=item,tag=gm4_tc_remainder] remove gm4_tc_remainder
-
-execute if score #items gm4_tc_data matches 1.. run playsound minecraft:block.piston.extend block @a[distance=..5] ~ ~ ~
-
-kill @s
diff --git a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/decompress/redstone_block.mcfunction b/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/decompress/redstone_block.mcfunction
deleted file mode 100644
index 0e957ed355..0000000000
--- a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/decompress/redstone_block.mcfunction
+++ /dev/null
@@ -1,36 +0,0 @@
-# @s = a redstone block item stack on a tinkering compressor
-# at @tinkering compressor positioned ~ ~0.9 ~
-# run from tinkering_compressors:mode/decompress
-
-# set fake player flag
-scoreboard players set $ran_compressor gm4_tc_data 1
-
-# tinker operation
-execute store result score #item_count gm4_tc_data run data get entity @s Item.count 1
-
-scoreboard players operation #items gm4_tc_data = #item_count gm4_tc_data
-scoreboard players operation #items gm4_tc_data *= #9stack gm4_tc_data
-
-scoreboard players operation #stack gm4_tc_data = #items gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data = #items gm4_tc_data
-
-scoreboard players operation #stack gm4_tc_data /= #64stack gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data %= #64stack gm4_tc_data
-
-execute if score #stack gm4_tc_data matches 1..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:redstone",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 2..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:redstone",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 3..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:redstone",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 4..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:redstone",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 5..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:redstone",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 6..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:redstone",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 7..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:redstone",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 8..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:redstone",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:redstone",count:64},Tags:["gm4_tc_locked"]}
-
-execute if score #remainder gm4_tc_data matches 1.. run summon item ~ ~ ~ {Item:{id:"minecraft:redstone",count:1},Tags:["gm4_tc_remainder","gm4_tc_locked"]}
-execute if score #remainder gm4_tc_data matches 1.. store result entity @e[type=item,tag=gm4_tc_remainder,limit=1] Item.count byte 1 run scoreboard players get #remainder gm4_tc_data
-tag @e[type=item,tag=gm4_tc_remainder] remove gm4_tc_remainder
-
-execute if score #items gm4_tc_data matches 1.. run playsound minecraft:block.piston.extend block @a[distance=..5] ~ ~ ~
-
-kill @s
diff --git a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/decompress/slime_block.mcfunction b/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/decompress/slime_block.mcfunction
deleted file mode 100644
index 36c288592c..0000000000
--- a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/decompress/slime_block.mcfunction
+++ /dev/null
@@ -1,36 +0,0 @@
-# @s = an iron ingot item stack on a tinkering compressor
-# at @tinkering compressor positioned ~ ~0.9 ~
-# run from tinkering_compressors:mode/decompress
-
-# set fake player flag
-scoreboard players set $ran_compressor gm4_tc_data 1
-
-# tinker operation
-execute store result score #item_count gm4_tc_data run data get entity @s Item.count 1
-
-scoreboard players operation #items gm4_tc_data = #item_count gm4_tc_data
-scoreboard players operation #items gm4_tc_data *= #9stack gm4_tc_data
-
-scoreboard players operation #stack gm4_tc_data = #items gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data = #items gm4_tc_data
-
-scoreboard players operation #stack gm4_tc_data /= #64stack gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data %= #64stack gm4_tc_data
-
-execute if score #stack gm4_tc_data matches 1..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:slime_ball",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 2..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:slime_ball",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 3..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:slime_ball",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 4..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:slime_ball",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 5..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:slime_ball",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 6..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:slime_ball",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 7..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:slime_ball",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 8..9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:slime_ball",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 9 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:slime_ball",count:64},Tags:["gm4_tc_locked"]}
-
-execute if score #remainder gm4_tc_data matches 1.. run summon item ~ ~ ~ {Item:{id:"minecraft:slime_ball",count:1},Tags:["gm4_tc_remainder","gm4_tc_locked"]}
-execute if score #remainder gm4_tc_data matches 1.. store result entity @e[type=item,tag=gm4_tc_remainder,limit=1] Item.count byte 1 run scoreboard players get #remainder gm4_tc_data
-tag @e[type=item,tag=gm4_tc_remainder] remove gm4_tc_remainder
-
-execute if score #items gm4_tc_data matches 1.. run playsound minecraft:block.piston.extend block @a[distance=..5] ~ ~ ~
-
-kill @s
diff --git a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/decompress/snow_block.mcfunction b/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/decompress/snow_block.mcfunction
deleted file mode 100644
index d53dbfd3f2..0000000000
--- a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/decompress/snow_block.mcfunction
+++ /dev/null
@@ -1,31 +0,0 @@
-# @s = a snow block item stack on a tinkering compressor
-# at @tinkering compressor positioned ~ ~0.9 ~
-# run from tinkering_compressors:mode/decompress
-
-# set fake player flag
-scoreboard players set $ran_compressor gm4_tc_data 1
-
-# tinker operation
-execute store result score #item_count gm4_tc_data run data get entity @s Item.count 1
-
-scoreboard players operation #items gm4_tc_data = #item_count gm4_tc_data
-scoreboard players operation #items gm4_tc_data *= #4stack gm4_tc_data
-
-scoreboard players operation #stack gm4_tc_data = #items gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data = #items gm4_tc_data
-
-scoreboard players operation #stack gm4_tc_data /= #64stack gm4_tc_data
-scoreboard players operation #remainder gm4_tc_data %= #64stack gm4_tc_data
-
-execute if score #stack gm4_tc_data matches 1..4 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:snowball",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 2..4 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:snowball",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 3..4 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:snowball",count:64},Tags:["gm4_tc_locked"]}
-execute if score #stack gm4_tc_data matches 4 at @s run summon item ~ ~ ~ {Item:{id:"minecraft:snowball",count:64},Tags:["gm4_tc_locked"]}
-
-execute if score #remainder gm4_tc_data matches 1.. run summon item ~ ~ ~ {Item:{id:"minecraft:snowball",count:1},Tags:["gm4_tc_remainder","gm4_tc_locked"]}
-execute if score #remainder gm4_tc_data matches 1.. store result entity @e[type=item,tag=gm4_tc_remainder,limit=1] Item.count byte 1 run scoreboard players get #remainder gm4_tc_data
-tag @e[type=item,tag=gm4_tc_remainder] remove gm4_tc_remainder
-
-execute if score #items gm4_tc_data matches 1.. run playsound minecraft:block.piston.extend block @a[distance=..5] ~ ~ ~
-
-kill @s
diff --git a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/init.mcfunction b/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/init.mcfunction
deleted file mode 100644
index d82ea20a4b..0000000000
--- a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/init.mcfunction
+++ /dev/null
@@ -1,15 +0,0 @@
-scoreboard objectives add gm4_tc_data dummy
-scoreboard players set #9stack gm4_tc_data 9
-scoreboard players set #4stack gm4_tc_data 4
-scoreboard players set #64stack gm4_tc_data 64
-
-execute unless score tinkering_compressors gm4_modules matches 1 run data modify storage gm4:log queue append value {type:"install",module:"Tinkering Compressors"}
-execute unless score tinkering_compressors gm4_earliest_version < tinkering_compressors gm4_modules run scoreboard players operation tinkering_compressors gm4_earliest_version = tinkering_compressors gm4_modules
-scoreboard players set tinkering_compressors gm4_modules 1
-
-schedule function gm4_tinkering_compressors:main 1t
-schedule function gm4_tinkering_compressors:tick 1t
-
-
-
-#$moduleUpdateList
diff --git a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/item.mcfunction b/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/item.mcfunction
deleted file mode 100644
index 790a11d094..0000000000
--- a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/item.mcfunction
+++ /dev/null
@@ -1,10 +0,0 @@
-# @s = item above tinkering compressor
-# at location of dropper (compressor)
-# run from tinkering_compressors:process
-
-data modify storage gm4_tinkering_compressors:temp/tinkering_compressor Items set from block ~ ~ ~ Items
-
-execute if data storage gm4_tinkering_compressors:temp/tinkering_compressor {Items:[{count:64}]} positioned ~ ~0.9 ~ as @e[type=item,tag=!gm4_tc_locked,distance=..0.9,limit=1] run function gm4_tinkering_compressors:mode/compress
-execute if data storage gm4_tinkering_compressors:temp/tinkering_compressor {Items:[{count:1}]} positioned ~ ~0.9 ~ as @e[type=item,tag=!gm4_tc_locked,distance=..0.9,limit=1] run function gm4_tinkering_compressors:mode/decompress
-
-data remove storage gm4_tinkering_compressors:temp/tinkering_compressor Items
diff --git a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/machine/create.mcfunction b/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/machine/create.mcfunction
deleted file mode 100644
index 95699ea51c..0000000000
--- a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/machine/create.mcfunction
+++ /dev/null
@@ -1,19 +0,0 @@
-# places the block_compressor down
-# @s = player who placed the block_compressor
-# located at the center of the placed block
-# run from gm4_block_compressors:machine/verify_place_down
-
-# place dropper
-setblock ~ ~ ~ dropper[facing=down]{CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.tinkering_compressor","fallback":"Tinker Amount"},[{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.tinkering_compressor","fallback":"Tinker Amount","font":"gm4:half_invert"},{"translate":"container.gm4.tinkering_compressor","fallback":"Tinker Amount","font":"gm4:offscreen"},{"translate":"gui.gm4.tinkering_compressor","fallback":"","font":"gm4:container_gui","color":"white"},{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.tinkering_compressor","fallback":"Tinker Amount","font":"gm4:half_invert"},{"translate":"container.gm4.tinkering_compressor","fallback":"Tinker Amount","font":"gm4:default","color":"#404040"}]]}'}
-
-# summon display armor stand and marker entity
-summon item_display ~ ~ ~ {Tags:["gm4_tinkering_compressor_plate","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_tinkering_compressor_plate"',item:{id:"minecraft:oxidized_cut_copper",count:1,components:{"minecraft:custom_model_data":"block/tinkering_compressor_plate"}},transformation:{right_rotation:[0f,0f,0f,1f],left_rotation:[1f,0f,0f,0f],translation:[0.0,0.225,0.0],scale:[0.625,0.625,0.625]},brightness:{block:15,sky:15},item_display:"head"}
-summon item_display ~ ~ ~ {Tags:["gm4_tinkering_compressor_display","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_tinkering_compressor_display"',item:{id:"minecraft:stone",count:1,components:{"minecraft:custom_model_data":"block/tinkering_compressor"}},transformation:{right_rotation:[0f,0f,0f,1f],left_rotation:[0f,0f,0f,1f],translation:[0f,0f,0f],scale:[0.5,0.5,0.5]},brightness:{block:15,sky:15},item_display:"head"}
-summon marker ~ ~ ~ {Tags:["gm4_tinkering_compressor","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_tinkering_compressor"',Rotation:[0.0f,0.0f]}
-
-# mark block as placed
-playsound minecraft:entity.firework_rocket.blast block @a[distance=..5]
-particle cloud ~ ~ ~ 0.1 0.1 0.1 0.05 10
-scoreboard players set $placed_block gm4_machine_data 2
-scoreboard players set @e[distance=..2,tag=gm4_new_machine] gm4_entity_version 2
-tag @e[distance=..2] remove gm4_new_machine
diff --git a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/machine/destroy.mcfunction b/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/machine/destroy.mcfunction
deleted file mode 100644
index 375f35e20d..0000000000
--- a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/machine/destroy.mcfunction
+++ /dev/null
@@ -1,14 +0,0 @@
-# destroys the tinkering_compressor
-# @s = tinkering_compressor marker
-# located at @s
-# run from gm4_tinkering_compressors:machine/verify_destroy
-
-# kill entities related to machine block
-execute positioned ~ ~ ~ run kill @e[type=item_display,tag=gm4_tinkering_compressor_plate,limit=1,distance=..0.1]
-execute positioned ~ ~ ~ run kill @e[type=item_display,tag=gm4_tinkering_compressor_display,limit=1,distance=..0.1]
-execute store result score $dropped_item gm4_machine_data run kill @e[type=item,distance=..1,nbt={Age:0s,Item:{id:"minecraft:dropper",count:1,components:{}}},limit=1,sort=nearest]
-kill @s
-
-# drop item (unless broken in creative mode)
-particle minecraft:block{block_state:"minecraft:piston"} ~ ~ ~ .1 .25 .1 .05 30 normal @a
-execute if score $dropped_item gm4_machine_data matches 1 run loot spawn ~ ~ ~ loot gm4_tinkering_compressors:items/tinkering_compressor
diff --git a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/machine/verify_destroy.mcfunction b/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/machine/verify_destroy.mcfunction
deleted file mode 100644
index 4e73b03718..0000000000
--- a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/machine/verify_destroy.mcfunction
+++ /dev/null
@@ -1,6 +0,0 @@
-# verifies that the destroyed machine was from this module
-# @s = machine block marker
-# located at @s
-# run from #gm4_machines:destroy
-
-execute if entity @s[tag=gm4_tinkering_compressor] run function gm4_tinkering_compressors:machine/destroy
diff --git a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/machine/verify_place_down.mcfunction b/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/machine/verify_place_down.mcfunction
deleted file mode 100644
index 2e68da2d31..0000000000
--- a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/machine/verify_place_down.mcfunction
+++ /dev/null
@@ -1,6 +0,0 @@
-# verifies that the placed down machine was from this module
-# @s = player who placed down the machine
-# located at the machine block marker (at the center of the placed down block)
-# run from #gm4_machines:place_down
-
-execute if score $placed_block gm4_machine_data matches 0 if data storage gm4_machines:temp {id:"tinkering_compressor"} run function gm4_tinkering_compressors:machine/create
diff --git a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/main.mcfunction b/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/main.mcfunction
deleted file mode 100644
index 4477bbdd48..0000000000
--- a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/main.mcfunction
+++ /dev/null
@@ -1,7 +0,0 @@
-# process machine
-execute as @e[type=marker,tag=gm4_tinkering_compressor] at @s run function gm4_tinkering_compressors:process
-
-# copied code for metallurgy smooshing
-execute as @e[type=item,tag=!gm4_ml_smooshed,nbt={Item:{count:1,components:{"minecraft:custom_data":{gm4_metallurgy:{has_shamir:1b}}}}}] at @s if block ~ ~-1 ~ #minecraft:anvil run function gm4_tinkering_compressors:smooshing/item_on_anvil
-
-schedule function gm4_tinkering_compressors:main 16t
diff --git a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/mode/compress.mcfunction b/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/mode/compress.mcfunction
deleted file mode 100644
index 654cd2eeb8..0000000000
--- a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/mode/compress.mcfunction
+++ /dev/null
@@ -1,31 +0,0 @@
-# @s = item ontop of tinkering compressor with 64 items inside (compress mode)
-# at @tinkering compressor positioned ~ ~0.9 ~
-# run from tinkering_compressors:item
-
-# check for item type.
-# iron farms
-execute if items entity @s contents minecraft:iron_ingot run function gm4_tinkering_compressors:compress/iron_ingot
-# auto farms
-execute unless score $ran_compressor gm4_tc_data matches 1.. if items entity @s contents minecraft:melon_slice run function gm4_tinkering_compressors:compress/melon_slice
-execute unless score $ran_compressor gm4_tc_data matches 1.. if items entity @s contents minecraft:wheat run function gm4_tinkering_compressors:compress/wheat
-execute unless score $ran_compressor gm4_tc_data matches 1.. if items entity @s contents minecraft:slime_ball run function gm4_tinkering_compressors:compress/slime_ball
-# metals/minerals
-execute unless score $ran_compressor gm4_tc_data matches 1.. if items entity @s contents minecraft:gold_nugget run function gm4_tinkering_compressors:compress/gold_nugget
-execute unless score $ran_compressor gm4_tc_data matches 1.. if items entity @s contents minecraft:iron_nugget run function gm4_tinkering_compressors:compress/iron_nugget
-execute unless score $ran_compressor gm4_tc_data matches 1.. if items entity @s contents minecraft:gold_ingot run function gm4_tinkering_compressors:compress/gold_ingot
-execute unless score $ran_compressor gm4_tc_data matches 1.. if items entity @s contents minecraft:copper_ingot run function gm4_tinkering_compressors:compress/copper_ingot
-execute unless score $ran_compressor gm4_tc_data matches 1.. if items entity @s contents minecraft:raw_iron run function gm4_tinkering_compressors:compress/raw_iron
-execute unless score $ran_compressor gm4_tc_data matches 1.. if items entity @s contents minecraft:raw_copper run function gm4_tinkering_compressors:compress/raw_copper
-execute unless score $ran_compressor gm4_tc_data matches 1.. if items entity @s contents minecraft:raw_gold run function gm4_tinkering_compressors:compress/raw_gold
-execute unless score $ran_compressor gm4_tc_data matches 1.. if items entity @s contents minecraft:redstone run function gm4_tinkering_compressors:compress/redstone
-execute unless score $ran_compressor gm4_tc_data matches 1.. if items entity @s contents minecraft:emerald run function gm4_tinkering_compressors:compress/emerald
-execute unless score $ran_compressor gm4_tc_data matches 1.. if items entity @s contents minecraft:diamond run function gm4_tinkering_compressors:compress/diamond
-execute unless score $ran_compressor gm4_tc_data matches 1.. if items entity @s contents minecraft:coal run function gm4_tinkering_compressors:compress/coal
-execute unless score $ran_compressor gm4_tc_data matches 1.. if items entity @s contents minecraft:lapis_lazuli run function gm4_tinkering_compressors:compress/lapis_lazuli
-execute unless score $ran_compressor gm4_tc_data matches 1.. if items entity @s contents minecraft:netherite_ingot run function gm4_tinkering_compressors:compress/netherite_ingot
-# other
-execute unless score $ran_compressor gm4_tc_data matches 1.. if items entity @s contents minecraft:snowball run function gm4_tinkering_compressors:compress/snowball
-execute unless score $ran_compressor gm4_tc_data matches 1.. if items entity @s contents minecraft:clay_ball run function gm4_tinkering_compressors:compress/clay_ball
-
-# reset fake player
-scoreboard players reset $ran_compressor gm4_tc_data
diff --git a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/mode/decompress.mcfunction b/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/mode/decompress.mcfunction
deleted file mode 100644
index b244eed97b..0000000000
--- a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/mode/decompress.mcfunction
+++ /dev/null
@@ -1,31 +0,0 @@
-# @s = item ontop of tinkering compressor with 1 item inside (decompress mode)
-# at @tinkering compressor positioned ~ ~0.9 ~
-# run from tinkering_compressors:item
-
-# check for item type.
-# iron farms
-execute if items entity @s contents minecraft:iron_block run function gm4_tinkering_compressors:decompress/iron_block
-# auto farms
-execute unless score $ran_compressor gm4_tc_data matches 1.. if items entity @s contents minecraft:melon run function gm4_tinkering_compressors:decompress/melon
-execute unless score $ran_compressor gm4_tc_data matches 1.. if items entity @s contents minecraft:hay_block run function gm4_tinkering_compressors:decompress/hay_block
-execute unless score $ran_compressor gm4_tc_data matches 1.. if items entity @s contents minecraft:slime_block run function gm4_tinkering_compressors:decompress/slime_block
-# metals/minerals
-execute unless score $ran_compressor gm4_tc_data matches 1.. if items entity @s contents minecraft:gold_ingot run function gm4_tinkering_compressors:decompress/gold_ingot
-execute unless score $ran_compressor gm4_tc_data matches 1.. if items entity @s contents minecraft:iron_ingot run function gm4_tinkering_compressors:decompress/iron_ingot
-execute unless score $ran_compressor gm4_tc_data matches 1.. if items entity @s contents minecraft:gold_block run function gm4_tinkering_compressors:decompress/gold_block
-execute unless score $ran_compressor gm4_tc_data matches 1.. if items entity @s contents minecraft:copper_block run function gm4_tinkering_compressors:decompress/copper_block
-execute unless score $ran_compressor gm4_tc_data matches 1.. if items entity @s contents minecraft:raw_iron_block run function gm4_tinkering_compressors:decompress/raw_iron_block
-execute unless score $ran_compressor gm4_tc_data matches 1.. if items entity @s contents minecraft:raw_copper_block run function gm4_tinkering_compressors:decompress/raw_copper_block
-execute unless score $ran_compressor gm4_tc_data matches 1.. if items entity @s contents minecraft:raw_gold_block run function gm4_tinkering_compressors:decompress/raw_gold_block
-execute unless score $ran_compressor gm4_tc_data matches 1.. if items entity @s contents minecraft:redstone_block run function gm4_tinkering_compressors:decompress/redstone_block
-execute unless score $ran_compressor gm4_tc_data matches 1.. if items entity @s contents minecraft:emerald_block run function gm4_tinkering_compressors:decompress/emerald_block
-execute unless score $ran_compressor gm4_tc_data matches 1.. if items entity @s contents minecraft:diamond_block run function gm4_tinkering_compressors:decompress/diamond_block
-execute unless score $ran_compressor gm4_tc_data matches 1.. if items entity @s contents minecraft:coal_block run function gm4_tinkering_compressors:decompress/coal_block
-execute unless score $ran_compressor gm4_tc_data matches 1.. if items entity @s contents minecraft:lapis_block run function gm4_tinkering_compressors:decompress/lapis_block
-execute unless score $ran_compressor gm4_tc_data matches 1.. if items entity @s contents minecraft:netherite_block run function gm4_tinkering_compressors:decompress/netherite_block
-# other
-execute unless score $ran_compressor gm4_tc_data matches 1.. if items entity @s contents minecraft:snow_block run function gm4_tinkering_compressors:decompress/snow_block
-execute unless score $ran_compressor gm4_tc_data matches 1.. if items entity @s contents minecraft:clay run function gm4_tinkering_compressors:decompress/clay
-
-# reset fake player
-scoreboard players reset $ran_compressor gm4_tc_data
diff --git a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/pressure_plate_down.mcfunction b/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/pressure_plate_down.mcfunction
deleted file mode 100644
index d8b868b6a1..0000000000
--- a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/pressure_plate_down.mcfunction
+++ /dev/null
@@ -1,7 +0,0 @@
-# @s = compressor armor stand that needs to be moved down
-# located at @s
-# run from process
-
-tp @s ~ ~-0.03 ~
-tag @s add gm4_compressor_depressed
-tag @e[type=marker,tag=gm4_compressor_processing,limit=1] add gm4_compressor_sound
diff --git a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/pressure_plate_up.mcfunction b/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/pressure_plate_up.mcfunction
deleted file mode 100644
index d1de6839d5..0000000000
--- a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/pressure_plate_up.mcfunction
+++ /dev/null
@@ -1,8 +0,0 @@
-# @s = compressor armor stand that needs to be reset
-# located at @s
-# run from process
-
-tp @s ~ ~0.03 ~
-tag @s remove gm4_compressor_depressed
-tag @e[type=marker,tag=gm4_compressor_processing,limit=1] remove gm4_compressor_sound
-playsound block.stone_pressure_plate.click_off block @a[distance=..6] ~ ~1.970 ~ 0.7 0.3
diff --git a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/process.mcfunction b/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/process.mcfunction
deleted file mode 100644
index 307199560e..0000000000
--- a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/process.mcfunction
+++ /dev/null
@@ -1,16 +0,0 @@
-# @s = tinkering compressor
-# at @s
-# run from tinkering_compressors:main
-
-tag @s add gm4_compressor_processing
-execute positioned ~ ~0.9 ~ if items entity @e[type=item,tag=!gm4_tc_locked,distance=..1] contents *[!custom_data~{gm4_compressed:{}}] positioned ~ ~-0.9 ~ run function gm4_tinkering_compressors:item
-particle minecraft:dust{color:[0.624,0.769,0.671],scale:1} ~ ~0.9 ~ 0 0.15 0 0.01 15
-
-# simulate pressure plate
-execute positioned ~ ~-0.03 ~ as @e[type=item_display,tag=gm4_tinkering_compressor_plate,tag=gm4_compressor_depressed,distance=..0.01,limit=1] positioned ~-0.5 ~1.495 ~-0.5 unless entity @e[dx=0] at @s run function gm4_tinkering_compressors:pressure_plate_up
-execute positioned ~-0.5 ~0.5 ~-0.5 if entity @e[dx=0] positioned ~0.5 ~-0.5 ~0.5 as @e[type=item_display,tag=gm4_tinkering_compressor_plate,tag=!gm4_compressor_depressed,distance=..0.01,limit=1] at @s run function gm4_tinkering_compressors:pressure_plate_down
-execute if entity @s[tag=gm4_compressor_sound] run playsound block.stone_pressure_plate.click_on block @a[distance=..6] ~ ~0.35 ~ 0.7 0.6
-
-# clean up
-tag @s remove gm4_compressor_sound
-tag @s remove gm4_compressor_processing
diff --git a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/relocate/pick_up_check.mcfunction b/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/relocate/pick_up_check.mcfunction
deleted file mode 100644
index e480dfae48..0000000000
--- a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/relocate/pick_up_check.mcfunction
+++ /dev/null
@@ -1,6 +0,0 @@
-# checks if the block is from this module
-# @s = "smithed.block" entity inside the block
-# located at the center of the block to be picked up
-# run from #gm4_relocators:pick_up_check
-
-execute if score gm4_tinkering_compressors load.status matches 1.. if entity @s[tag=gm4_tinkering_compressor] run function gm4_tinkering_compressors:relocate/set_pick_up_data
diff --git a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/relocate/place_down.mcfunction b/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/relocate/place_down.mcfunction
deleted file mode 100644
index 625f83ec71..0000000000
--- a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/relocate/place_down.mcfunction
+++ /dev/null
@@ -1,13 +0,0 @@
-# @s = command block placed by "gm4_relocators:backwards_compatibility/place_down/replace_head"
-# located at the command block (where the player head was)
-
-execute if block ~ ~ ~ command_block[facing=east] run setblock ~ ~ ~ dropper[facing=west]
-execute if block ~ ~ ~ command_block[facing=west] run setblock ~ ~ ~ dropper[facing=east]
-execute if block ~ ~ ~ command_block[facing=south] run setblock ~ ~ ~ dropper[facing=north]
-execute if block ~ ~ ~ command_block[facing=north] run setblock ~ ~ ~ dropper[facing=south]
-execute if block ~ ~ ~ command_block[facing=down] run setblock ~ ~ ~ dropper[facing=up]
-
-data merge block ~ ~ ~ {CustomName:'{"translate":"container.gm4.tinkering_compressor","fallback":"Tinker Amount"}'}
-summon armor_stand ~ ~-.4 ~ {Small:1b,NoGravity:1b,Marker:1b,Invulnerable:1b,Invisible:1b,DisabledSlots:2039552,Tags:["gm4_no_edit","gm4_tinkering_compressor"],HasVisualFire:1b,CustomName:'"gm4_tinkering_compressor"',ArmorItems:[{},{},{},{id:"minecraft:player_head",count:1,components:{"minecraft:custom_model_data":3420001,"minecraft:profile":"$tinkering_compressor"}}],HandItems:[{id:"minecraft:stone_button",count:1,components:{"minecraft:custom_model_data":3420002}}],Pose:{RightArm:[0f, 0f, 0f]}}
-playsound minecraft:entity.firework_rocket.blast block @a[distance=..5]
-particle cloud ~ ~ ~ 0.1 0.1 0.1 0.05 10
diff --git a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/relocate/place_down_check.mcfunction b/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/relocate/place_down_check.mcfunction
deleted file mode 100644
index 8021f98a92..0000000000
--- a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/relocate/place_down_check.mcfunction
+++ /dev/null
@@ -1,6 +0,0 @@
-# checks if the block is from this module
-# @s = player who placed the block
-# located at the center of the block to be placed
-# run from #gm4_relocators:place_down_check
-
-execute if score $placed_block gm4_rl_data matches 0 if score gm4_tinkering_compressors load.status matches 1 if data storage gm4_relocators:temp gm4_relocation{custom_block:"gm4_tinkering_compressor"} run function gm4_tinkering_compressors:relocate/summon_block_markers
diff --git a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/relocate/set_pick_up_data.mcfunction b/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/relocate/set_pick_up_data.mcfunction
deleted file mode 100644
index 8d8a0acda1..0000000000
--- a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/relocate/set_pick_up_data.mcfunction
+++ /dev/null
@@ -1,11 +0,0 @@
-# sets the specific relocator data
-# @s = "smithed.block" entity inside the block
-# located at the center of the block to be picked up
-# run from gm4_tinkering_compressors:relocate/pick_up_check
-
-data modify storage gm4_relocators:temp merge_data set value {custom_block:"gm4_tinkering_compressor",lore:'{"translate":"block.gm4.tinkering_compressor","fallback":"Tinkering Compressor","color":"gray","italic":true}'}
-
-execute positioned ~ ~ ~ run kill @e[type=item_display,tag=gm4_tinkering_compressor_plate,limit=1,distance=..0.1]
-execute positioned ~ ~ ~ run kill @e[type=item_display,tag=gm4_tinkering_compressor_display,limit=1,distance=..0.1]
-kill @s
-scoreboard players set $found_marker gm4_rl_data 1
diff --git a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/relocate/summon_block_markers.mcfunction b/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/relocate/summon_block_markers.mcfunction
deleted file mode 100644
index 89d05e118f..0000000000
--- a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/relocate/summon_block_markers.mcfunction
+++ /dev/null
@@ -1,13 +0,0 @@
-# summons the entities for this machine
-# @s = player who placed the block
-# located at the center of the block to be placed
-# run from gm4_disassemblers:relocate/place_down_check
-
-scoreboard players set $placed_block gm4_rl_data 1
-
-summon item_display ~ ~ ~ {Tags:["gm4_tinkering_compressor_plate","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_tinkering_compressor_plate"',item:{id:"minecraft:oxidized_cut_copper",count:1,components:{"minecraft:custom_model_data":"block/tinkering_compressor_plate"}},transformation:{right_rotation:[0f,0f,0f,1f],left_rotation:[1f,0f,0f,0f],translation:[0.0,0.225,0.0],scale:[0.625,0.625,0.625]},brightness:{block:15,sky:15},item_display:"head"}
-summon item_display ~ ~ ~ {Tags:["gm4_tinkering_compressor_display","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_tinkering_compressor_display"',item:{id:"minecraft:stone",count:1,components:{"minecraft:custom_model_data":"block/tinkering_compressor"}},transformation:{right_rotation:[0f,0f,0f,1f],left_rotation:[0f,0f,0f,1f],translation:[0f,0f,0f],scale:[0.5,0.5,0.5]},brightness:{block:15,sky:15},item_display:"head"}
-summon marker ~ ~ ~ {Tags:["gm4_tinkering_compressor","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_tinkering_compressor"',Rotation:[0.0f,0.0f]}
-
-scoreboard players set @e[distance=..2,tag=gm4_new_machine] gm4_entity_version 2
-tag @e[distance=..2] remove gm4_new_machine
diff --git a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/smooshing/add_band/check.mcfunction b/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/smooshing/add_band/check.mcfunction
deleted file mode 100644
index 1a8112db99..0000000000
--- a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/smooshing/add_band/check.mcfunction
+++ /dev/null
@@ -1,12 +0,0 @@
-# @s = obsidian cast with a shamir on it
-# called from smooshing/prepare_transfer
-
-# prepare shamir if NBT needs to be updated from old version
-function gm4_metallurgy:update_nbt_version/load_band
-
-# check whether the other item is a compressor
-scoreboard players set valid_item gm4_ml_data 0
-execute as @e[type=item,dx=0,limit=1,nbt={Item:{count:1,components:{"minecraft:custom_data":{gm4_machines:{id:"block_compressor"}}}}}] run function gm4_tinkering_compressors:smooshing/add_band/convert_to_tinkering_compressor
-
-execute if score valid_item gm4_ml_data matches 1 run item modify entity @s contents gm4_tinkering_compressors:slightly_damaged_obsidian
-execute if score valid_item gm4_ml_data matches 1 run tag @s add gm4_ml_smooshed
diff --git a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/smooshing/add_band/convert_to_tinkering_compressor.mcfunction b/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/smooshing/add_band/convert_to_tinkering_compressor.mcfunction
deleted file mode 100644
index f708be21e0..0000000000
--- a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/smooshing/add_band/convert_to_tinkering_compressor.mcfunction
+++ /dev/null
@@ -1,10 +0,0 @@
-# @s = block compressor item
-# run from smooshing/add_band/check
-
-# replace the compressor item with a tinkering compressor item
-loot spawn ~ ~ ~ loot gm4_tinkering_compressors:items/tinkering_compressor
-kill @s
-scoreboard players set valid_item gm4_ml_data 1
-
-# use anvil durability
-function gm4_metallurgy:smooshing/anvil/use
diff --git a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/smooshing/item_on_anvil.mcfunction b/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/smooshing/item_on_anvil.mcfunction
deleted file mode 100644
index 9fcc54e213..0000000000
--- a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/smooshing/item_on_anvil.mcfunction
+++ /dev/null
@@ -1,5 +0,0 @@
-# @s = item on avil with a shamir on it
-# run from main
-
-tag @s add gm4_ml_on_anvil
-schedule function gm4_tinkering_compressors:smooshing/transfer_tick 1t
diff --git a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/smooshing/prepare_transfer.mcfunction b/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/smooshing/prepare_transfer.mcfunction
deleted file mode 100644
index 7c375f53d6..0000000000
--- a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/smooshing/prepare_transfer.mcfunction
+++ /dev/null
@@ -1,7 +0,0 @@
-# @s = item being crushed by a piston that has a shamir
-# run from smooshing/transfer_tick
-
-tag @s add gm4_ml_source
-execute if items entity @s contents *[custom_data~{gm4_metallurgy:{stored_shamir:"tinker"}}] run function gm4_tinkering_compressors:smooshing/add_band/check
-execute if items entity @s contents *[custom_data~{gm4_machines:{id:"tinkering_compressor"}}] as @e[type=item,dx=0,limit=1,predicate=gm4_tinkering_compressors:is_obsidian] run function gm4_tinkering_compressors:smooshing/remove_band/found_obsidian
-tag @s remove gm4_ml_source
diff --git a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/smooshing/remove_band/convert_to_block_compressor.mcfunction b/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/smooshing/remove_band/convert_to_block_compressor.mcfunction
deleted file mode 100644
index 1c90e31ef4..0000000000
--- a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/smooshing/remove_band/convert_to_block_compressor.mcfunction
+++ /dev/null
@@ -1,7 +0,0 @@
-# @s = tinkering compressor item
-# run from smooshing/remove_band/found_obsidian
-
-loot spawn ~ ~ ~ loot gm4_block_compressors:items/block_compressor
-loot spawn ~ ~ ~ loot gm4_tinker_shamir:band
-
-kill @s
diff --git a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/smooshing/remove_band/found_obsidian.mcfunction b/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/smooshing/remove_band/found_obsidian.mcfunction
deleted file mode 100644
index 6e5dcd302b..0000000000
--- a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/smooshing/remove_band/found_obsidian.mcfunction
+++ /dev/null
@@ -1,8 +0,0 @@
-# @s = obsidian item, @e[tag=gm4_ml_source] = tinkering compressor item
-# run from smooshing/prepare_transfer
-
-execute as @e[type=item,tag=gm4_ml_source,limit=1] at @s run function gm4_tinkering_compressors:smooshing/remove_band/convert_to_block_compressor
-kill @s
-
-# use anvil durability
-function gm4_metallurgy:smooshing/anvil/use
diff --git a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/smooshing/transfer_tick.mcfunction b/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/smooshing/transfer_tick.mcfunction
deleted file mode 100644
index 4dc395ccc1..0000000000
--- a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/smooshing/transfer_tick.mcfunction
+++ /dev/null
@@ -1,8 +0,0 @@
-# @s = none
-# located at world spawn
-# run from smooshing/item_on_anvil
-
-# prepare for item smooshing
-execute as @e[type=item,tag=gm4_ml_on_anvil] at @s if block ~ ~ ~ minecraft:moving_piston align xyz if items entity @e[type=item,dx=0] contents *[!custom_data~{gm4_metallurgy:{has_shamir:1b}}] run function gm4_tinkering_compressors:smooshing/prepare_transfer
-
-execute if entity @e[type=item,tag=gm4_ml_on_anvil,limit=1] run schedule function gm4_tinkering_compressors:smooshing/transfer_tick 1t
diff --git a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/upgrade_paths/1.4.mcfunction b/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/upgrade_paths/1.4.mcfunction
deleted file mode 100644
index 121863dcc7..0000000000
--- a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/function/upgrade_paths/1.4.mcfunction
+++ /dev/null
@@ -1,8 +0,0 @@
-execute as @e[type=armor_stand,tag=gm4_block_compressor_stand] at @s positioned ~ ~0.965 ~ align y run summon item_display ~ ~0.5 ~ {Tags:["gm4_tinkering_compressor_plate","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_tinkering_compressor_plate"',item:{id:"minecraft:oxidized_cut_copper",count:1,components:{"minecraft:custom_model_data":"block/tinkering_compressor_plate"}},transformation:{right_rotation:[0f,0f,0f,1f],left_rotation:[1f,0f,0f,0f],translation:[0.0,0.225,0.0],scale:[0.625,0.625,0.625]},brightness:{block:15,sky:15},item_display:"head"}
-execute as @e[type=armor_stand,tag=gm4_block_compressor_display] at @s align y run summon item_display ~ ~0.5 ~ {Tags:["gm4_tinkering_compressor_display","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_tinkering_compressor_display"',item:{id:"minecraft:stone",count:1,components:{"minecraft:custom_model_data":"block/tinkering_compressor"}},transformation:{right_rotation:[0f,0f,0f,1f],left_rotation:[0f,0f,0f,1f],translation:[0f,0f,0f],scale:[0.5,0.5,0.5]},brightness:{block:15,sky:15},item_display:"head"}
-
-execute as @e[type=armor_stand,tag=gm4_tinkering_compressor_display] at @s run scoreboard players set @e[distance=..2,tag=gm4_new_machine] gm4_entity_version 2
-execute as @e[type=armor_stand,tag=gm4_tinkering_compressor_display] at @s run tag @e[distance=..2] remove gm4_new_machine
-
-kill @e[type=armor_stand,tag=gm4_tinkering_compressor_display]
-kill @e[type=armor_stand,tag=gm4_tinkering_compressor_stand]
diff --git a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/guidebook/tinkering_compressors.json b/gm4_tinkering_compressors/data/gm4_tinkering_compressors/guidebook/tinkering_compressors.json
deleted file mode 100644
index 277b4b7314..0000000000
--- a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/guidebook/tinkering_compressors.json
+++ /dev/null
@@ -1,106 +0,0 @@
-{
- "id": "tinkering_compressors",
- "name": "Tinkering Compressors",
- "module_type": "module",
- "icon": {
- "id": "minecraft:iron_block"
- },
- "criteria": {
- "obtain_tinker_shamir": {
- "trigger": "minecraft:inventory_changed",
- "conditions": {
- "items": [
- {
- "items": [
- "minecraft:player_head"
- ],
- "predicates": {
- "minecraft:custom_data": "{gm4_metallurgy:{has_shamir:1b,stored_shamir:\"tinker\",item:\"obsidian_cast\"}}"
- }
- }
- ]
- }
- },
- "open_block_compressor": {
- "trigger": "minecraft:default_block_use",
- "conditions": {
- "location": [
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "block": {
- "blocks": [
- "minecraft:dropper"
- ],
- "nbt": "{CustomName:'{\"translate\":\"gm4.second\",\"fallback\":\"%1$s\",\"with\":[{\"translate\":\"container.gm4.block_compressor\",\"fallback\":\"Compression Amount\"},{\"text\":\" \",\"extra\":[{\"translate\":\"container.gm4.block_compressor\",\"fallback\":\"Compression Amount\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.block_compressor\",\"fallback\":\"Compression Amount\",\"font\":\"gm4:offscreen\"},{\"translate\":\"gui.gm4.block_compressor\",\"fallback\":\"\",\"font\":\"gm4:container_gui\",\"color\":\"white\"},{\"text\":\" \",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.block_compressor\",\"fallback\":\"Compression Amount\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.block_compressor\",\"fallback\":\"Compression Amount\",\"font\":\"gm4:default\",\"color\":\"#404040\"}],\"font\":\"gm4:half_invert\"}]}'}"
- }
- }
- }
- ]
- }
- },
- "open_tinkering_compressor": {
- "trigger": "minecraft:default_block_use",
- "conditions": {
- "location": [
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "block": {
- "blocks": [
- "minecraft:dropper"
- ],
- "nbt": "{CustomName:'{\"translate\":\"gm4.second\",\"fallback\":\"%1$s\",\"with\":[{\"translate\":\"container.gm4.tinkering_compressor\",\"fallback\":\"Tinker Amount\"},{\"text\":\" \",\"extra\":[{\"translate\":\"container.gm4.tinkering_compressor\",\"fallback\":\"Tinker Amount\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.tinkering_compressor\",\"fallback\":\"Tinker Amount\",\"font\":\"gm4:offscreen\"},{\"translate\":\"gui.gm4.tinkering_compressor\",\"fallback\":\"\",\"font\":\"gm4:container_gui\",\"color\":\"white\"},{\"text\":\" \",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.tinkering_compressor\",\"fallback\":\"Tinker Amount\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.tinkering_compressor\",\"fallback\":\"Tinker Amount\",\"font\":\"gm4:default\",\"color\":\"#404040\"}],\"font\":\"gm4:half_invert\"}]}'}"
- }
- }
- }
- ]
- }
- }
- },
- "sections": [
- {
- "name": "creation",
- "enable": [],
- "requirements": [
- [
- "obtain_tinker_shamir"
- ],
- [
- "open_block_compressor"
- ]
- ],
- "pages": [
- [
- {
- "insert": "title"
- },
- {
- "translate": "text.gm4.guidebook.tinkering_compressors.creation",
- "fallback": "A Block Compressor can be upgraded to a Tinkering Compressor.\n\nThis is done by dropping a Tinker Shamir on top of a Compressor and smooshing it with a downwards piston."
- }
- ]
- ]
- },
- {
- "name": "usage",
- "enable": [],
- "requirements": [
- [
- "open_tinkering_compressor"
- ]
- ],
- "pages": [
- [
- {
- "translate": "text.gm4.guidebook.tinkering_compressors.usage",
- "fallback": "A Tinkering Compressor with 64 items inside will tinker compress items on top of it, transforming them into their block form. It supports the all tinkering.\n\nPlacing 1 item inside will instead detinker any items on top of it."
- }
- ]
- ],
- "grants": [
- "creation"
- ]
- }
- ]
-}
diff --git a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/item_modifier/slightly_damaged_obsidian.json b/gm4_tinkering_compressors/data/gm4_tinkering_compressors/item_modifier/slightly_damaged_obsidian.json
deleted file mode 100644
index 748e81d2d4..0000000000
--- a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/item_modifier/slightly_damaged_obsidian.json
+++ /dev/null
@@ -1,26 +0,0 @@
-[
- {
- "function": "minecraft:set_item",
- "item": "minecraft:obsidian"
- },
- {
- "function": "minecraft:set_components",
- "components": {
- "minecraft:custom_model_data": "gm4_metallurgy:item/slightly_damaged_obsidian",
- "!minecraft:custom_name": {},
- "!minecraft:custom_data": {},
- "!minecraft:profile": {}
- }
- },
- {
- "function": "minecraft:set_lore",
- "mode": "append",
- "lore": [
- {
- "translate": "item.gm4.slightly_damaged_obsidian",
- "fallback": "Slightly Damaged Obsidian",
- "color": "dark_gray"
- }
- ]
- }
-]
diff --git a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/loot_table/items/tinkering_compressor.json b/gm4_tinkering_compressors/data/gm4_tinkering_compressors/loot_table/items/tinkering_compressor.json
deleted file mode 100644
index 9f1f338f34..0000000000
--- a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/loot_table/items/tinkering_compressor.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "type": "block",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "item",
- "name": "minecraft:player_head",
- "functions": [
- {
- "function": "set_components",
- "components": {
- "minecraft:custom_model_data": "item/tinkering_compressor",
- "minecraft:profile": "$tinkering_compressor"
- }
- },
- {
- "function": "set_custom_data",
- "tag": "{gm4_machines:{id:'tinkering_compressor'},gm4_metallurgy:{has_shamir:1b}}"
- },
- {
- "function": "set_name",
- "name": [
- {
- "translate": "block.gm4.tinkering_compressor",
- "fallback": "Tinkering Compressor",
- "color": "white",
- "italic": false
- }
- ]
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/predicate/is_obsidian.json b/gm4_tinkering_compressors/data/gm4_tinkering_compressors/predicate/is_obsidian.json
deleted file mode 100644
index a35632df48..0000000000
--- a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/predicate/is_obsidian.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "slots": {
- "contents": {
- "items": "minecraft:obsidian",
- "count": 1
- }
- }
- }
-}
diff --git a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/skins/tinkering_compressor.png b/gm4_tinkering_compressors/data/gm4_tinkering_compressors/skins/tinkering_compressor.png
deleted file mode 100644
index ec08107f5e..0000000000
Binary files a/gm4_tinkering_compressors/data/gm4_tinkering_compressors/skins/tinkering_compressor.png and /dev/null differ
diff --git a/gm4_tinkering_compressors/pack.png b/gm4_tinkering_compressors/pack.png
deleted file mode 100644
index 9f054ae005..0000000000
Binary files a/gm4_tinkering_compressors/pack.png and /dev/null differ
diff --git a/gm4_tinkering_compressors/pack.svg b/gm4_tinkering_compressors/pack.svg
deleted file mode 100644
index 93f243dc18..0000000000
--- a/gm4_tinkering_compressors/pack.svg
+++ /dev/null
@@ -1,64 +0,0 @@
-
-
-
diff --git a/gm4_tower_structures/beet.yaml b/gm4_tower_structures/beet.yaml
index e80a715094..d48fe88550 100644
--- a/gm4_tower_structures/beet.yaml
+++ b/gm4_tower_structures/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_tower_structures
name: Tower Structures
-version: 3.4.X
+version: 3.5.X
data_pack:
load: .
diff --git a/gm4_tower_structures/data/gm4_tower_structures/loot_table/items/pirate_hat.json b/gm4_tower_structures/data/gm4_tower_structures/loot_table/items/pirate_hat.json
index b912b774af..007ca164f8 100644
--- a/gm4_tower_structures/data/gm4_tower_structures/loot_table/items/pirate_hat.json
+++ b/gm4_tower_structures/data/gm4_tower_structures/loot_table/items/pirate_hat.json
@@ -14,9 +14,11 @@
{
"function": "minecraft:set_components",
"components": {
- "minecraft:dyed_color": {
- "rgb": 4013373,
- "show_in_tooltip": false
+ "minecraft:dyed_color": 4013373,
+ "minecraft:tooltip_display": {
+ "hidden_components": [
+ "minecraft:dyed_color"
+ ]
},
"minecraft:custom_model_data": "item/pirate_hat"
}
diff --git a/gm4_tunnel_bores/beet.yaml b/gm4_tunnel_bores/beet.yaml
index e6b451a346..58ab81a068 100644
--- a/gm4_tunnel_bores/beet.yaml
+++ b/gm4_tunnel_bores/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_tunnel_bores
name: Tunnel Bores
-version: 1.5.X
+version: 1.6.X
data_pack:
load: .
@@ -17,8 +17,8 @@ meta:
gm4:
versioning:
required:
- lib_custom_crafters: 3.2.0
- lib_machines: 1.3.0
+ lib_custom_crafters: 3.4.0
+ lib_machines: 1.4.0
schedule_loops: [pulse_check]
model_data:
- item: furnace_minecart
diff --git a/gm4_tunnel_bores/data/gm4_tunnel_bores/function/machine/create_cart.mcfunction b/gm4_tunnel_bores/data/gm4_tunnel_bores/function/machine/create_cart.mcfunction
index 77e6727b92..0a33aadb8a 100644
--- a/gm4_tunnel_bores/data/gm4_tunnel_bores/function/machine/create_cart.mcfunction
+++ b/gm4_tunnel_bores/data/gm4_tunnel_bores/function/machine/create_cart.mcfunction
@@ -6,7 +6,7 @@
scoreboard players set $placed_block gm4_machine_data 1
# summon new command block minecart
-summon furnace_minecart ~ ~ ~ {CustomName:'{"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}',CustomDisplayTile:1b,DisplayState:{Name:"minecraft:piston",Properties:{facing:"up"}},DisplayOffset:6,Tags:["gm4_tunnel_bore","gm4_new_machine"],Passengers:[{id:"minecraft:area_effect_cloud",Duration:2147483647,CustomName:'{"text":"gm4_bore_storage"}',Tags:["gm4_bore_storage","gm4_machine_cart","smithed.entity","smithed.strict","gm4_new_machine"]}]}
+summon furnace_minecart ~ ~ ~ {CustomName:{"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"},DisplayState:{Name:"minecraft:piston",Properties:{facing:"up"}},DisplayOffset:6,Tags:["gm4_tunnel_bore","gm4_new_machine"],Passengers:[{id:"minecraft:area_effect_cloud",Particle:{type:"minecraft:block",block_state:"minecraft:air"},Duration:-1,CustomName:{"text":"gm4_bore_storage"},Tags:["gm4_bore_storage","gm4_machine_cart","smithed.entity","smithed.strict","gm4_new_machine"]}]}
scoreboard players add @e[type=area_effect_cloud,tag=gm4_bore_storage,tag=gm4_new_machine,distance=..2] gm4_bore_rail 0
tp @e[type=furnace_minecart,distance=..0.1,tag=gm4_new_machine] @s
diff --git a/gm4_tunnel_bores/data/gm4_tunnel_bores/function/machine/destroy_cart.mcfunction b/gm4_tunnel_bores/data/gm4_tunnel_bores/function/machine/destroy_cart.mcfunction
index 7983db200d..7ff158f073 100644
--- a/gm4_tunnel_bores/data/gm4_tunnel_bores/function/machine/destroy_cart.mcfunction
+++ b/gm4_tunnel_bores/data/gm4_tunnel_bores/function/machine/destroy_cart.mcfunction
@@ -7,7 +7,7 @@ tag @s add gm4_destroyed_bore_storage
# drop item
scoreboard players set $dropped_item gm4_machine_data 0
-execute as @e[type=item,distance=..3,nbt={Age:0s,Item:{id:"minecraft:furnace_minecart",count:1,components:{"minecraft:custom_name":'{"fallback":"Minecart with Piston","translate":"item.gm4.minecart.bore"}'}}},limit=1,sort=nearest] at @s run function gm4_tunnel_bores:machine/destroy_cart/drop_item
+execute as @e[type=item,distance=..3,nbt={Age:0s,Item:{id:"minecraft:furnace_minecart",count:1,components:{"minecraft:custom_name":{"fallback":"Minecart with Piston","translate":"item.gm4.minecart.bore"}}}},limit=1,sort=nearest] at @s run function gm4_tunnel_bores:machine/destroy_cart/drop_item
# scan hoppers if no item was broken
execute if score $dropped_item gm4_machine_data matches 0 run function gm4_tunnel_bores:machine/destroy_cart/scan_hoppers
diff --git a/gm4_tunnel_bores/data/gm4_tunnel_bores/function/machine/destroy_cart/scan_hoppers.mcfunction b/gm4_tunnel_bores/data/gm4_tunnel_bores/function/machine/destroy_cart/scan_hoppers.mcfunction
index bf0707f1c0..758256873e 100644
--- a/gm4_tunnel_bores/data/gm4_tunnel_bores/function/machine/destroy_cart/scan_hoppers.mcfunction
+++ b/gm4_tunnel_bores/data/gm4_tunnel_bores/function/machine/destroy_cart/scan_hoppers.mcfunction
@@ -5,35 +5,35 @@
# find hopper with the invalid item
scoreboard players set $found_item gm4_machine_data 0
-execute if score $found_item gm4_machine_data matches 0 positioned ~00 ~00 ~00 if items block ~ ~ ~ container.* minecraft:furnace_minecart[custom_name='{"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}'] run function gm4_tunnel_bores:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~01 ~00 ~00 if items block ~ ~ ~ container.* minecraft:furnace_minecart[custom_name='{"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}'] run function gm4_tunnel_bores:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~-1 ~00 ~00 if items block ~ ~ ~ container.* minecraft:furnace_minecart[custom_name='{"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}'] run function gm4_tunnel_bores:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~00 ~00 ~01 if items block ~ ~ ~ container.* minecraft:furnace_minecart[custom_name='{"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}'] run function gm4_tunnel_bores:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~01 ~00 ~01 if items block ~ ~ ~ container.* minecraft:furnace_minecart[custom_name='{"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}'] run function gm4_tunnel_bores:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~-1 ~00 ~01 if items block ~ ~ ~ container.* minecraft:furnace_minecart[custom_name='{"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}'] run function gm4_tunnel_bores:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~00 ~00 ~-1 if items block ~ ~ ~ container.* minecraft:furnace_minecart[custom_name='{"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}'] run function gm4_tunnel_bores:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~01 ~00 ~-1 if items block ~ ~ ~ container.* minecraft:furnace_minecart[custom_name='{"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}'] run function gm4_tunnel_bores:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~-1 ~00 ~-1 if items block ~ ~ ~ container.* minecraft:furnace_minecart[custom_name='{"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}'] run function gm4_tunnel_bores:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~00 ~00 ~00 if items block ~ ~ ~ container.* minecraft:furnace_minecart[custom_name={"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}] run function gm4_tunnel_bores:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~01 ~00 ~00 if items block ~ ~ ~ container.* minecraft:furnace_minecart[custom_name={"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}] run function gm4_tunnel_bores:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~-1 ~00 ~00 if items block ~ ~ ~ container.* minecraft:furnace_minecart[custom_name={"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}] run function gm4_tunnel_bores:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~00 ~00 ~01 if items block ~ ~ ~ container.* minecraft:furnace_minecart[custom_name={"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}] run function gm4_tunnel_bores:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~01 ~00 ~01 if items block ~ ~ ~ container.* minecraft:furnace_minecart[custom_name={"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}] run function gm4_tunnel_bores:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~-1 ~00 ~01 if items block ~ ~ ~ container.* minecraft:furnace_minecart[custom_name={"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}] run function gm4_tunnel_bores:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~00 ~00 ~-1 if items block ~ ~ ~ container.* minecraft:furnace_minecart[custom_name={"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}] run function gm4_tunnel_bores:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~01 ~00 ~-1 if items block ~ ~ ~ container.* minecraft:furnace_minecart[custom_name={"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}] run function gm4_tunnel_bores:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~-1 ~00 ~-1 if items block ~ ~ ~ container.* minecraft:furnace_minecart[custom_name={"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}] run function gm4_tunnel_bores:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~00 ~-1 ~00 if items block ~ ~ ~ container.* minecraft:furnace_minecart[custom_name='{"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}'] run function gm4_tunnel_bores:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~01 ~-1 ~00 if items block ~ ~ ~ container.* minecraft:furnace_minecart[custom_name='{"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}'] run function gm4_tunnel_bores:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~-1 ~-1 ~00 if items block ~ ~ ~ container.* minecraft:furnace_minecart[custom_name='{"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}'] run function gm4_tunnel_bores:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~00 ~-1 ~01 if items block ~ ~ ~ container.* minecraft:furnace_minecart[custom_name='{"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}'] run function gm4_tunnel_bores:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~01 ~-1 ~01 if items block ~ ~ ~ container.* minecraft:furnace_minecart[custom_name='{"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}'] run function gm4_tunnel_bores:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~-1 ~-1 ~01 if items block ~ ~ ~ container.* minecraft:furnace_minecart[custom_name='{"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}'] run function gm4_tunnel_bores:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~00 ~-1 ~-1 if items block ~ ~ ~ container.* minecraft:furnace_minecart[custom_name='{"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}'] run function gm4_tunnel_bores:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~01 ~-1 ~-1 if items block ~ ~ ~ container.* minecraft:furnace_minecart[custom_name='{"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}'] run function gm4_tunnel_bores:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~-1 ~-1 ~-1 if items block ~ ~ ~ container.* minecraft:furnace_minecart[custom_name='{"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}'] run function gm4_tunnel_bores:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~00 ~-1 ~00 if items block ~ ~ ~ container.* minecraft:furnace_minecart[custom_name={"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}] run function gm4_tunnel_bores:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~01 ~-1 ~00 if items block ~ ~ ~ container.* minecraft:furnace_minecart[custom_name={"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}] run function gm4_tunnel_bores:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~-1 ~-1 ~00 if items block ~ ~ ~ container.* minecraft:furnace_minecart[custom_name={"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}] run function gm4_tunnel_bores:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~00 ~-1 ~01 if items block ~ ~ ~ container.* minecraft:furnace_minecart[custom_name={"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}] run function gm4_tunnel_bores:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~01 ~-1 ~01 if items block ~ ~ ~ container.* minecraft:furnace_minecart[custom_name={"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}] run function gm4_tunnel_bores:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~-1 ~-1 ~01 if items block ~ ~ ~ container.* minecraft:furnace_minecart[custom_name={"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}] run function gm4_tunnel_bores:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~00 ~-1 ~-1 if items block ~ ~ ~ container.* minecraft:furnace_minecart[custom_name={"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}] run function gm4_tunnel_bores:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~01 ~-1 ~-1 if items block ~ ~ ~ container.* minecraft:furnace_minecart[custom_name={"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}] run function gm4_tunnel_bores:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~-1 ~-1 ~-1 if items block ~ ~ ~ container.* minecraft:furnace_minecart[custom_name={"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}] run function gm4_tunnel_bores:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~00 ~-2 ~00 if items block ~ ~ ~ container.* minecraft:furnace_minecart[custom_name='{"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}'] run function gm4_tunnel_bores:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~01 ~-2 ~00 if items block ~ ~ ~ container.* minecraft:furnace_minecart[custom_name='{"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}'] run function gm4_tunnel_bores:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~-1 ~-2 ~00 if items block ~ ~ ~ container.* minecraft:furnace_minecart[custom_name='{"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}'] run function gm4_tunnel_bores:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~00 ~-2 ~01 if items block ~ ~ ~ container.* minecraft:furnace_minecart[custom_name='{"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}'] run function gm4_tunnel_bores:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~01 ~-2 ~01 if items block ~ ~ ~ container.* minecraft:furnace_minecart[custom_name='{"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}'] run function gm4_tunnel_bores:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~-1 ~-2 ~01 if items block ~ ~ ~ container.* minecraft:furnace_minecart[custom_name='{"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}'] run function gm4_tunnel_bores:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~00 ~-2 ~-1 if items block ~ ~ ~ container.* minecraft:furnace_minecart[custom_name='{"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}'] run function gm4_tunnel_bores:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~01 ~-2 ~-1 if items block ~ ~ ~ container.* minecraft:furnace_minecart[custom_name='{"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}'] run function gm4_tunnel_bores:machine/destroy_cart/update_hopper
-execute if score $found_item gm4_machine_data matches 0 positioned ~-1 ~-2 ~-1 if items block ~ ~ ~ container.* minecraft:furnace_minecart[custom_name='{"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}'] run function gm4_tunnel_bores:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~00 ~-2 ~00 if items block ~ ~ ~ container.* minecraft:furnace_minecart[custom_name={"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}] run function gm4_tunnel_bores:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~01 ~-2 ~00 if items block ~ ~ ~ container.* minecraft:furnace_minecart[custom_name={"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}] run function gm4_tunnel_bores:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~-1 ~-2 ~00 if items block ~ ~ ~ container.* minecraft:furnace_minecart[custom_name={"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}] run function gm4_tunnel_bores:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~00 ~-2 ~01 if items block ~ ~ ~ container.* minecraft:furnace_minecart[custom_name={"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}] run function gm4_tunnel_bores:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~01 ~-2 ~01 if items block ~ ~ ~ container.* minecraft:furnace_minecart[custom_name={"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}] run function gm4_tunnel_bores:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~-1 ~-2 ~01 if items block ~ ~ ~ container.* minecraft:furnace_minecart[custom_name={"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}] run function gm4_tunnel_bores:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~00 ~-2 ~-1 if items block ~ ~ ~ container.* minecraft:furnace_minecart[custom_name={"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}] run function gm4_tunnel_bores:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~01 ~-2 ~-1 if items block ~ ~ ~ container.* minecraft:furnace_minecart[custom_name={"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}] run function gm4_tunnel_bores:machine/destroy_cart/update_hopper
+execute if score $found_item gm4_machine_data matches 0 positioned ~-1 ~-2 ~-1 if items block ~ ~ ~ container.* minecraft:furnace_minecart[custom_name={"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}] run function gm4_tunnel_bores:machine/destroy_cart/update_hopper
# if no hoppers found, find hopper minecarts with the invalid item
-execute if score $found_item gm4_machine_data matches 0 as @e[type=hopper_minecart,distance=..3] if items entity @s container.* minecraft:furnace_minecart[custom_name='{"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}'] run function gm4_tunnel_bores:machine/destroy_cart/update_hopper_minecart
+execute if score $found_item gm4_machine_data matches 0 as @e[type=hopper_minecart,distance=..3] if items entity @s container.* minecraft:furnace_minecart[custom_name={"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}] run function gm4_tunnel_bores:machine/destroy_cart/update_hopper_minecart
diff --git a/gm4_tunnel_bores/data/gm4_tunnel_bores/function/machine/destroy_cart/update_hopper.mcfunction b/gm4_tunnel_bores/data/gm4_tunnel_bores/function/machine/destroy_cart/update_hopper.mcfunction
index c7600eadd8..0cd376da52 100644
--- a/gm4_tunnel_bores/data/gm4_tunnel_bores/function/machine/destroy_cart/update_hopper.mcfunction
+++ b/gm4_tunnel_bores/data/gm4_tunnel_bores/function/machine/destroy_cart/update_hopper.mcfunction
@@ -4,10 +4,10 @@
# run from gm4_tunnel_bores:machine/destroy_cart/scan_hoppers
# replace correct slot with proper item
-execute if items block ~ ~ ~ container.0 minecraft:furnace_minecart[custom_name='{"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}'] run loot replace block ~ ~ ~ container.0 loot gm4_tunnel_bores:entities/piston_minecart
-execute if items block ~ ~ ~ container.1 minecraft:furnace_minecart[custom_name='{"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}'] run loot replace block ~ ~ ~ container.1 loot gm4_tunnel_bores:entities/piston_minecart
-execute if items block ~ ~ ~ container.2 minecraft:furnace_minecart[custom_name='{"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}'] run loot replace block ~ ~ ~ container.2 loot gm4_tunnel_bores:entities/piston_minecart
-execute if items block ~ ~ ~ container.3 minecraft:furnace_minecart[custom_name='{"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}'] run loot replace block ~ ~ ~ container.3 loot gm4_tunnel_bores:entities/piston_minecart
-execute if items block ~ ~ ~ container.4 minecraft:furnace_minecart[custom_name='{"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}'] run loot replace block ~ ~ ~ container.4 loot gm4_tunnel_bores:entities/piston_minecart
+execute if items block ~ ~ ~ container.0 minecraft:furnace_minecart[custom_name={"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}] run loot replace block ~ ~ ~ container.0 loot gm4_tunnel_bores:entities/piston_minecart
+execute if items block ~ ~ ~ container.1 minecraft:furnace_minecart[custom_name={"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}] run loot replace block ~ ~ ~ container.1 loot gm4_tunnel_bores:entities/piston_minecart
+execute if items block ~ ~ ~ container.2 minecraft:furnace_minecart[custom_name={"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}] run loot replace block ~ ~ ~ container.2 loot gm4_tunnel_bores:entities/piston_minecart
+execute if items block ~ ~ ~ container.3 minecraft:furnace_minecart[custom_name={"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}] run loot replace block ~ ~ ~ container.3 loot gm4_tunnel_bores:entities/piston_minecart
+execute if items block ~ ~ ~ container.4 minecraft:furnace_minecart[custom_name={"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}] run loot replace block ~ ~ ~ container.4 loot gm4_tunnel_bores:entities/piston_minecart
scoreboard players set $found_item gm4_machine_data 1
diff --git a/gm4_tunnel_bores/data/gm4_tunnel_bores/function/machine/destroy_cart/update_hopper_minecart.mcfunction b/gm4_tunnel_bores/data/gm4_tunnel_bores/function/machine/destroy_cart/update_hopper_minecart.mcfunction
index f9265f730d..c486090576 100644
--- a/gm4_tunnel_bores/data/gm4_tunnel_bores/function/machine/destroy_cart/update_hopper_minecart.mcfunction
+++ b/gm4_tunnel_bores/data/gm4_tunnel_bores/function/machine/destroy_cart/update_hopper_minecart.mcfunction
@@ -4,10 +4,10 @@
# run from gm4_tunnel_bores:machine/destroy_cart/scan_hoppers
# replace correct slot with proper item
-execute if items entity @s container.0 minecraft:furnace_minecart[custom_name='{"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}'] run loot replace entity @s container.0 loot gm4_tunnel_bores:entities/piston_minecart
-execute if items entity @s container.1 minecraft:furnace_minecart[custom_name='{"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}'] run loot replace entity @s container.1 loot gm4_tunnel_bores:entities/piston_minecart
-execute if items entity @s container.2 minecraft:furnace_minecart[custom_name='{"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}'] run loot replace entity @s container.2 loot gm4_tunnel_bores:entities/piston_minecart
-execute if items entity @s container.3 minecraft:furnace_minecart[custom_name='{"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}'] run loot replace entity @s container.3 loot gm4_tunnel_bores:entities/piston_minecart
-execute if items entity @s container.4 minecraft:furnace_minecart[custom_name='{"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}'] run loot replace entity @s container.4 loot gm4_tunnel_bores:entities/piston_minecart
+execute if items entity @s container.0 minecraft:furnace_minecart[custom_name={"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}] run loot replace entity @s container.0 loot gm4_tunnel_bores:entities/piston_minecart
+execute if items entity @s container.1 minecraft:furnace_minecart[custom_name={"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}] run loot replace entity @s container.1 loot gm4_tunnel_bores:entities/piston_minecart
+execute if items entity @s container.2 minecraft:furnace_minecart[custom_name={"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}] run loot replace entity @s container.2 loot gm4_tunnel_bores:entities/piston_minecart
+execute if items entity @s container.3 minecraft:furnace_minecart[custom_name={"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}] run loot replace entity @s container.3 loot gm4_tunnel_bores:entities/piston_minecart
+execute if items entity @s container.4 minecraft:furnace_minecart[custom_name={"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston"}] run loot replace entity @s container.4 loot gm4_tunnel_bores:entities/piston_minecart
scoreboard players set $found_item gm4_machine_data 1
diff --git a/gm4_tunnel_bores/data/gm4_tunnel_bores/function/machine/verify_place_cart.mcfunction b/gm4_tunnel_bores/data/gm4_tunnel_bores/function/machine/verify_place_cart.mcfunction
index 0544ee14cc..d282bd548e 100644
--- a/gm4_tunnel_bores/data/gm4_tunnel_bores/function/machine/verify_place_cart.mcfunction
+++ b/gm4_tunnel_bores/data/gm4_tunnel_bores/function/machine/verify_place_cart.mcfunction
@@ -3,4 +3,4 @@
# located at the machine minecart
# run from #gm4_machines:place_cart
-execute if score $placed_block gm4_machine_data matches 0 if data entity @s {CustomName:'{"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston","italic":false,"color":"white"}'} run function gm4_tunnel_bores:machine/create_cart
+execute if score $placed_block gm4_machine_data matches 0 if data entity @s {CustomName:{"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston","italic":false,"color":"white"}} run function gm4_tunnel_bores:machine/create_cart
diff --git a/gm4_tunnel_bores/data/gm4_tunnel_bores/recipe/piston_minecart.json b/gm4_tunnel_bores/data/gm4_tunnel_bores/recipe/piston_minecart.json
index 47d6da5777..31cfbdb764 100644
--- a/gm4_tunnel_bores/data/gm4_tunnel_bores/recipe/piston_minecart.json
+++ b/gm4_tunnel_bores/data/gm4_tunnel_bores/recipe/piston_minecart.json
@@ -17,7 +17,7 @@
"components": {
"minecraft:custom_model_data": "item/piston_minecart",
"minecraft:custom_data": "{gm4_machines:{id:'tunnel_bore'}}",
- "minecraft:custom_name": "{\"translate\":\"item.gm4.minecart.bore\",\"fallback\":\"Minecart with Piston\",\"color\":\"white\",\"italic\":false}"
+ "minecraft:custom_name": {"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston","color":"white","italic":false}
}
}
}
diff --git a/gm4_tunnel_bores/data/gm4_tunnel_bores/recipe/piston_minecart_from_furnace_minecart.json b/gm4_tunnel_bores/data/gm4_tunnel_bores/recipe/piston_minecart_from_furnace_minecart.json
index bc283632f0..41962ea8df 100644
--- a/gm4_tunnel_bores/data/gm4_tunnel_bores/recipe/piston_minecart_from_furnace_minecart.json
+++ b/gm4_tunnel_bores/data/gm4_tunnel_bores/recipe/piston_minecart_from_furnace_minecart.json
@@ -15,7 +15,7 @@
"components": {
"minecraft:custom_model_data": "item/piston_minecart",
"minecraft:custom_data": "{gm4_machines:{id:'tunnel_bore'}}",
- "minecraft:custom_name": "{\"translate\":\"item.gm4.minecart.bore\",\"fallback\":\"Minecart with Piston\",\"color\":\"white\",\"italic\":false}"
+ "minecraft:custom_name": {"translate":"item.gm4.minecart.bore","fallback":"Minecart with Piston","color":"white","italic":false}
}
}
}
diff --git a/gm4_undead_players/beet.yaml b/gm4_undead_players/beet.yaml
index 0dba9a73f9..e9cf474b09 100644
--- a/gm4_undead_players/beet.yaml
+++ b/gm4_undead_players/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_undead_players
name: Undead Players
-version: 1.6.X
+version: 1.7.X
data_pack:
load: .
@@ -13,7 +13,7 @@ meta:
gm4:
versioning:
required:
- lib_player_death: 1.2.0
+ lib_player_death: 1.3.0
schedule_loops: [main]
model_data:
- item: zombie_head
diff --git a/gm4_undead_players/data/gm4_undead_players/function/init_drowned.mcfunction b/gm4_undead_players/data/gm4_undead_players/function/init_drowned.mcfunction
index 44b3c94390..a114bee0dd 100644
--- a/gm4_undead_players/data/gm4_undead_players/function/init_drowned.mcfunction
+++ b/gm4_undead_players/data/gm4_undead_players/function/init_drowned.mcfunction
@@ -1,16 +1,12 @@
#run from gm4_undead_players:summon_drowned
#@s = newly spawned drowned player
-# TODO 1.21: parse the player's name from the zombie's "Undead " name
-data modify storage gm4_undead_players:temp drowned_data set value {CustomName:'{"translate":"entity.gm4.drowned_player","fallback":"Drowned Player"}'}
+# Copy the equipment from the zombie to the drowned.
+data modify entity @s equipment merge from storage gm4_undead_players:temp zombie_data.equipment
-# Copy other tags from the zombie to the drowned.
-data modify storage gm4_undead_players:temp drowned_data.ArmorItems set from storage gm4_undead_players:temp zombie_data.ArmorItems
-data modify storage gm4_undead_players:temp drowned_data.HandItems set from storage gm4_undead_players:temp zombie_data.HandItems
-
-# Update the drowned based on the contents of storage.
-data modify entity @s {} merge from storage gm4_undead_players:temp drowned_data
-data remove storage gm4_undead_players:temp drowned_data
+# Update the name from "Undead " to "Drowned "
+data modify storage gm4_undead_players:temp zombie_data.CustomName merge value {translate:"entity.gm4.drowned_player_name","fallback":"Drowned %s"}
+data modify entity @s CustomName merge from storage gm4_undead_players:temp zombie_data.CustomName
# Remove the temporary "new" tag from the drowned.
tag @s remove gm4_undead_player_new
diff --git a/gm4_undead_players/data/gm4_undead_players/function/init_zombie.mcfunction b/gm4_undead_players/data/gm4_undead_players/function/init_zombie.mcfunction
index 472e22e7bd..6b257e2e92 100644
--- a/gm4_undead_players/data/gm4_undead_players/function/init_zombie.mcfunction
+++ b/gm4_undead_players/data/gm4_undead_players/function/init_zombie.mcfunction
@@ -2,11 +2,11 @@
#@s = newly spawned undead player
# Store the player's name to storage
-data modify storage gm4_undead_players:temp name_attribute.Name set from entity @s ArmorItems[3].components."minecraft:profile".name
+data modify storage gm4_undead_players:temp name_attribute.Name set from entity @s equipment.head.components."minecraft:profile".name
# Use an item modifier to generate the undead player's CustomName ("Undead ").
item modify entity @s armor.head gm4_undead_players:zombie_name
-data modify entity @s CustomName set from entity @s ArmorItems[3].components."minecraft:custom_name"
+data modify entity @s CustomName set from entity @s equipment.head.components."minecraft:custom_name"
data remove storage gm4_undead_players:temp name_attribute
# Clear the temporary item from the undead player's hand and remove the temporary "new" tag.
diff --git a/gm4_undead_players/data/gm4_undead_players/function/summon_drowned.mcfunction b/gm4_undead_players/data/gm4_undead_players/function/summon_drowned.mcfunction
index 33c448679b..d4542bf3dd 100644
--- a/gm4_undead_players/data/gm4_undead_players/function/summon_drowned.mcfunction
+++ b/gm4_undead_players/data/gm4_undead_players/function/summon_drowned.mcfunction
@@ -7,7 +7,7 @@ teleport @s ~ -10000 ~
data merge entity @s {Health:0f,DeathTime:19s}
# Summon the drowned and initialize it based on the contents of storage.
-summon drowned ~ ~ ~ {Tags:["gm4_undead_player","gm4_undead_player_new"],PersistenceRequired:1b,CustomNameVisible:1b,ArmorDropChances:[1f,1f,1f,1f],HandDropChances:[1f,1f]}
+summon drowned ~ ~ ~ {Tags:["gm4_undead_player","gm4_undead_player_new"],PersistenceRequired:1b,CustomNameVisible:1b,drop_chances:{mainhand:1F,offhand:1F,feet:1F,legs:1F,chest:1F,head:1F}}
execute as @e[type=drowned,tag=gm4_undead_player_new,distance=0,limit=1] run function gm4_undead_players:init_drowned
# Clear storage to avoid deep comparison when this function is next called.
diff --git a/gm4_undead_players/data/gm4_undead_players/loot_table/drowned_name.json b/gm4_undead_players/data/gm4_undead_players/loot_table/drowned_name.json
deleted file mode 100644
index 80a16b79dd..0000000000
--- a/gm4_undead_players/data/gm4_undead_players/loot_table/drowned_name.json
+++ /dev/null
@@ -1,30 +0,0 @@
-{
- "type": "minecraft:generic",
- "pools": [
- {
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "minecraft:bow",
- "functions": [
- {
- "function": "minecraft:set_name",
- "entity": "this",
- "name": {
- "translate": "entity.gm4.drowned_player_name",
- "fallback": "Drowned %s",
- "with": [
- {
- "storage": "gm4_undead_players:temp",
- "nbt": "name_attribute.Name"
- }
- ]
- }
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/gm4_undead_players/translations.csv b/gm4_undead_players/translations.csv
index 13705fec74..17ef89ae6a 100644
--- a/gm4_undead_players/translations.csv
+++ b/gm4_undead_players/translations.csv
@@ -2,7 +2,6 @@ key,en_us
advancement.gm4.undead_players.description,Die and raise up an undead zombie in your body's place
advancement.gm4.undead_players.title,Risen
entity.gm4.drowned_player_name,Drowned %s
-entity.gm4.drowned_player,Drowned Player
entity.gm4.undead_player_name,Undead %s
text.gm4.guidebook.module_desc.undead_players,"You'll find your death point faster, but you'll have to fight your corpse for your stuff back!"
text.gm4.guidebook.undead_players.description,"When one dies, an undead version of them will spawn at the death site.\n\nThis zombie have a visible name, will never despawn, and will pick up armor and weapons."
diff --git a/gm4_vecto_shamir/backport_48/data/gm4_vecto_shamir/function/vehicle/spawn_boat.mcfunction b/gm4_vecto_shamir/backport_48/data/gm4_vecto_shamir/function/vehicle/spawn_boat.mcfunction
deleted file mode 100644
index c7622f5271..0000000000
--- a/gm4_vecto_shamir/backport_48/data/gm4_vecto_shamir/function/vehicle/spawn_boat.mcfunction
+++ /dev/null
@@ -1,33 +0,0 @@
-# @s = player with shamir equipped, sneaking above water OR ice
-# at @s
-# run from active and vehicle/check_boat_collision
-
-tag @s add gm4_vecto_active
-
-# spawn boat
-execute if entity @s[y_rotation=-45..45] run summon minecraft:boat ~ ~ ~ {Invulnerable:1b,Tags:["gm4_vecto_vehicle","gm4_vecto_new_vehicle"],Rotation:[0f,0f]}
-execute if entity @s[y_rotation=45..135] run summon minecraft:boat ~ ~ ~ {Invulnerable:1b,Tags:["gm4_vecto_vehicle","gm4_vecto_new_vehicle"],Rotation:[90f,0f]}
-execute if entity @s[y_rotation=135..225] run summon minecraft:boat ~ ~ ~ {Invulnerable:1b,Tags:["gm4_vecto_vehicle","gm4_vecto_new_vehicle"],Rotation:[180f,0f]}
-execute if entity @s[y_rotation=-135..-45] run summon minecraft:boat ~ ~ ~ {Invulnerable:1b,Tags:["gm4_vecto_vehicle","gm4_vecto_new_vehicle"],Rotation:[270f,0f]}
-
-team join gm4_vecto_nocoll @e[type=minecraft:boat,tag=gm4_vecto_new_vehicle,distance=..1,sort=nearest,limit=1]
-
-# link player to boat with id
-scoreboard players operation @e[type=minecraft:boat,tag=gm4_vecto_new_vehicle,distance=..1,sort=nearest,limit=1] gm4_vecto_id = @s gm4_vecto_id
-
-# set boat type
-execute if biome ~ ~ ~ #gm4_vecto_shamir:acacia run data merge entity @e[type=minecraft:boat,tag=gm4_vecto_new_vehicle,distance=..1,sort=nearest,limit=1] {Type:"acacia"}
-execute if biome ~ ~ ~ #gm4_vecto_shamir:birch run data merge entity @e[type=minecraft:boat,tag=gm4_vecto_new_vehicle,distance=..1,sort=nearest,limit=1] {Type:"birch"}
-execute if biome ~ ~ ~ #gm4_vecto_shamir:dark_oak run data merge entity @e[type=minecraft:boat,tag=gm4_vecto_new_vehicle,distance=..1,sort=nearest,limit=1] {Type:"dark_oak"}
-execute if biome ~ ~ ~ #gm4_vecto_shamir:jungle run data merge entity @e[type=minecraft:boat,tag=gm4_vecto_new_vehicle,distance=..1,sort=nearest,limit=1] {Type:"jungle"}
-execute if biome ~ ~ ~ #gm4_vecto_shamir:spruce run data merge entity @e[type=minecraft:boat,tag=gm4_vecto_new_vehicle,distance=..1,sort=nearest,limit=1] {Type:"spruce"}
-execute if biome ~ ~ ~ #gm4_vecto_shamir:mangrove run data merge entity @e[type=minecraft:boat,tag=gm4_vecto_new_vehicle,distance=..1,sort=nearest,limit=1] {Type:"mangrove"}
-execute if biome ~ ~ ~ #gm4_vecto_shamir:cherry run data merge entity @e[type=minecraft:boat,tag=gm4_vecto_new_vehicle,distance=..1,sort=nearest,limit=1] {Type:"cherry"}
-execute if biome ~ ~ ~ #gm4_vecto_shamir:bamboo run data merge entity @e[type=minecraft:boat,tag=gm4_vecto_new_vehicle,distance=..1,sort=nearest,limit=1] {Type:"bamboo"}
-
-# remove new tag
-tag @e[type=minecraft:boat,tag=gm4_vecto_new_vehicle,distance=..1,sort=nearest,limit=1] remove gm4_vecto_new_vehicle
-
-# effects
-execute if block ~ ~-1 ~ #minecraft:ice run playsound minecraft:entity.boat.paddle_land player @a[distance=..15] ~ ~ ~ 2 1
-execute unless block ~ ~-1 ~ #minecraft:ice run playsound minecraft:entity.boat.paddle_water player @a[distance=..15] ~ ~ ~ 2 1
diff --git a/gm4_vecto_shamir/backport_48/data/gm4_vecto_shamir/function/vehicle/spawn_boat_east.mcfunction b/gm4_vecto_shamir/backport_48/data/gm4_vecto_shamir/function/vehicle/spawn_boat_east.mcfunction
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/gm4_vecto_shamir/backport_48/data/gm4_vecto_shamir/function/vehicle/spawn_boat_north.mcfunction b/gm4_vecto_shamir/backport_48/data/gm4_vecto_shamir/function/vehicle/spawn_boat_north.mcfunction
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/gm4_vecto_shamir/backport_48/data/gm4_vecto_shamir/function/vehicle/spawn_boat_south.mcfunction b/gm4_vecto_shamir/backport_48/data/gm4_vecto_shamir/function/vehicle/spawn_boat_south.mcfunction
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/gm4_vecto_shamir/backport_48/data/gm4_vecto_shamir/function/vehicle/spawn_boat_west.mcfunction b/gm4_vecto_shamir/backport_48/data/gm4_vecto_shamir/function/vehicle/spawn_boat_west.mcfunction
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/gm4_vecto_shamir/beet.yaml b/gm4_vecto_shamir/beet.yaml
index b844a0ba09..5a2a8bafad 100644
--- a/gm4_vecto_shamir/beet.yaml
+++ b/gm4_vecto_shamir/beet.yaml
@@ -1,18 +1,9 @@
id: gm4_vecto_shamir
name: Vecto Shamir
-version: 1.5.X
+version: 1.6.X
data_pack:
load: .
- overlays:
- - formats:
- min_inclusive: 0
- max_inclusive: 48
- directory: backport_48
- - formats:
- min_inclusive: 61
- max_inclusive: 61
- directory: since_61
resource_pack:
load: ../gm4_metallurgy
@@ -25,7 +16,7 @@ meta:
gm4:
versioning:
required:
- gm4_metallurgy: 1.4.0
+ gm4_metallurgy: 1.5.0
schedule_loops: [main]
model_data:
- item: boots
diff --git a/gm4_vecto_shamir/data/gm4_vecto_shamir/function/vehicle/spawn_boat_east.mcfunction b/gm4_vecto_shamir/data/gm4_vecto_shamir/function/vehicle/spawn_boat_east.mcfunction
index b221fe6b4f..0320b80541 100644
--- a/gm4_vecto_shamir/data/gm4_vecto_shamir/function/vehicle/spawn_boat_east.mcfunction
+++ b/gm4_vecto_shamir/data/gm4_vecto_shamir/function/vehicle/spawn_boat_east.mcfunction
@@ -7,6 +7,7 @@ execute if biome ~ ~ ~ #gm4_vecto_shamir:cherry run summon minecraft:cherry_boat
execute if biome ~ ~ ~ #gm4_vecto_shamir:dark_oak run summon minecraft:dark_oak_boat ~ ~ ~ {Invulnerable:1b,Tags:["gm4_vecto_vehicle","gm4_vecto_new_vehicle"],Rotation:[270f,0f]}
execute if biome ~ ~ ~ #gm4_vecto_shamir:jungle run summon minecraft:jungle_boat ~ ~ ~ {Invulnerable:1b,Tags:["gm4_vecto_vehicle","gm4_vecto_new_vehicle"],Rotation:[270f,0f]}
execute if biome ~ ~ ~ #gm4_vecto_shamir:mangrove run summon minecraft:mangrove_boat ~ ~ ~ {Invulnerable:1b,Tags:["gm4_vecto_vehicle","gm4_vecto_new_vehicle"],Rotation:[270f,0f]}
+execute if biome ~ ~ ~ #gm4_vecto_shamir:pale_oak run summon minecraft:pale_oak_boat ~ ~ ~ {Invulnerable:1b,Tags:["gm4_vecto_vehicle","gm4_vecto_new_vehicle"],Rotation:[270f,0f]}
execute if biome ~ ~ ~ #gm4_vecto_shamir:spruce run summon minecraft:spruce_boat ~ ~ ~ {Invulnerable:1b,Tags:["gm4_vecto_vehicle","gm4_vecto_new_vehicle"],Rotation:[270f,0f]}
execute unless biome ~ ~ ~ #gm4_vecto_shamir:non_oak run summon minecraft:oak_boat ~ ~ ~ {Invulnerable:1b,Tags:["gm4_vecto_vehicle","gm4_vecto_new_vehicle"],Rotation:[270f,0f]}
diff --git a/gm4_vecto_shamir/data/gm4_vecto_shamir/function/vehicle/spawn_boat_north.mcfunction b/gm4_vecto_shamir/data/gm4_vecto_shamir/function/vehicle/spawn_boat_north.mcfunction
index f061cdb7a2..c124ddb049 100644
--- a/gm4_vecto_shamir/data/gm4_vecto_shamir/function/vehicle/spawn_boat_north.mcfunction
+++ b/gm4_vecto_shamir/data/gm4_vecto_shamir/function/vehicle/spawn_boat_north.mcfunction
@@ -7,6 +7,7 @@ execute if biome ~ ~ ~ #gm4_vecto_shamir:cherry run summon minecraft:cherry_boat
execute if biome ~ ~ ~ #gm4_vecto_shamir:dark_oak run summon minecraft:dark_oak_boat ~ ~ ~ {Invulnerable:1b,Tags:["gm4_vecto_vehicle","gm4_vecto_new_vehicle"],Rotation:[180f,0f]}
execute if biome ~ ~ ~ #gm4_vecto_shamir:jungle run summon minecraft:jungle_boat ~ ~ ~ {Invulnerable:1b,Tags:["gm4_vecto_vehicle","gm4_vecto_new_vehicle"],Rotation:[180f,0f]}
execute if biome ~ ~ ~ #gm4_vecto_shamir:mangrove run summon minecraft:mangrove_boat ~ ~ ~ {Invulnerable:1b,Tags:["gm4_vecto_vehicle","gm4_vecto_new_vehicle"],Rotation:[180f,0f]}
+execute if biome ~ ~ ~ #gm4_vecto_shamir:pale_oak run summon minecraft:pale_oak_boat ~ ~ ~ {Invulnerable:1b,Tags:["gm4_vecto_vehicle","gm4_vecto_new_vehicle"],Rotation:[180f,0f]}
execute if biome ~ ~ ~ #gm4_vecto_shamir:spruce run summon minecraft:spruce_boat ~ ~ ~ {Invulnerable:1b,Tags:["gm4_vecto_vehicle","gm4_vecto_new_vehicle"],Rotation:[180f,0f]}
execute unless biome ~ ~ ~ #gm4_vecto_shamir:non_oak run summon minecraft:oak_boat ~ ~ ~ {Invulnerable:1b,Tags:["gm4_vecto_vehicle","gm4_vecto_new_vehicle"],Rotation:[180f,0f]}
diff --git a/gm4_vecto_shamir/data/gm4_vecto_shamir/function/vehicle/spawn_boat_south.mcfunction b/gm4_vecto_shamir/data/gm4_vecto_shamir/function/vehicle/spawn_boat_south.mcfunction
index 2c8692f31f..b3bb64836a 100644
--- a/gm4_vecto_shamir/data/gm4_vecto_shamir/function/vehicle/spawn_boat_south.mcfunction
+++ b/gm4_vecto_shamir/data/gm4_vecto_shamir/function/vehicle/spawn_boat_south.mcfunction
@@ -7,6 +7,7 @@ execute if biome ~ ~ ~ #gm4_vecto_shamir:cherry run summon minecraft:cherry_boat
execute if biome ~ ~ ~ #gm4_vecto_shamir:dark_oak run summon minecraft:dark_oak_boat ~ ~ ~ {Invulnerable:1b,Tags:["gm4_vecto_vehicle","gm4_vecto_new_vehicle"],Rotation:[0f,0f]}
execute if biome ~ ~ ~ #gm4_vecto_shamir:jungle run summon minecraft:jungle_boat ~ ~ ~ {Invulnerable:1b,Tags:["gm4_vecto_vehicle","gm4_vecto_new_vehicle"],Rotation:[0f,0f]}
execute if biome ~ ~ ~ #gm4_vecto_shamir:mangrove run summon minecraft:mangrove_boat ~ ~ ~ {Invulnerable:1b,Tags:["gm4_vecto_vehicle","gm4_vecto_new_vehicle"],Rotation:[0f,0f]}
+execute if biome ~ ~ ~ #gm4_vecto_shamir:pale_oak run summon minecraft:pale_oak_boat ~ ~ ~ {Invulnerable:1b,Tags:["gm4_vecto_vehicle","gm4_vecto_new_vehicle"],Rotation:[0f,0f]}
execute if biome ~ ~ ~ #gm4_vecto_shamir:spruce run summon minecraft:spruce_boat ~ ~ ~ {Invulnerable:1b,Tags:["gm4_vecto_vehicle","gm4_vecto_new_vehicle"],Rotation:[0f,0f]}
execute unless biome ~ ~ ~ #gm4_vecto_shamir:non_oak run summon minecraft:oak_boat ~ ~ ~ {Invulnerable:1b,Tags:["gm4_vecto_vehicle","gm4_vecto_new_vehicle"],Rotation:[0f,0f]}
diff --git a/gm4_vecto_shamir/data/gm4_vecto_shamir/function/vehicle/spawn_boat_west.mcfunction b/gm4_vecto_shamir/data/gm4_vecto_shamir/function/vehicle/spawn_boat_west.mcfunction
index 98df26f96f..f84ea91f0e 100644
--- a/gm4_vecto_shamir/data/gm4_vecto_shamir/function/vehicle/spawn_boat_west.mcfunction
+++ b/gm4_vecto_shamir/data/gm4_vecto_shamir/function/vehicle/spawn_boat_west.mcfunction
@@ -7,6 +7,7 @@ execute if biome ~ ~ ~ #gm4_vecto_shamir:cherry run summon minecraft:cherry_boat
execute if biome ~ ~ ~ #gm4_vecto_shamir:dark_oak run summon minecraft:dark_oak_boat ~ ~ ~ {Invulnerable:1b,Tags:["gm4_vecto_vehicle","gm4_vecto_new_vehicle"],Rotation:[90f,0f]}
execute if biome ~ ~ ~ #gm4_vecto_shamir:jungle run summon minecraft:jungle_boat ~ ~ ~ {Invulnerable:1b,Tags:["gm4_vecto_vehicle","gm4_vecto_new_vehicle"],Rotation:[90f,0f]}
execute if biome ~ ~ ~ #gm4_vecto_shamir:mangrove run summon minecraft:mangrove_boat ~ ~ ~ {Invulnerable:1b,Tags:["gm4_vecto_vehicle","gm4_vecto_new_vehicle"],Rotation:[90f,0f]}
+execute if biome ~ ~ ~ #gm4_vecto_shamir:pale_oak run summon minecraft:pale_oak_boat ~ ~ ~ {Invulnerable:1b,Tags:["gm4_vecto_vehicle","gm4_vecto_new_vehicle"],Rotation:[90f,0f]}
execute if biome ~ ~ ~ #gm4_vecto_shamir:spruce run summon minecraft:spruce_boat ~ ~ ~ {Invulnerable:1b,Tags:["gm4_vecto_vehicle","gm4_vecto_new_vehicle"],Rotation:[90f,0f]}
execute unless biome ~ ~ ~ #gm4_vecto_shamir:non_oak run summon minecraft:oak_boat ~ ~ ~ {Invulnerable:1b,Tags:["gm4_vecto_vehicle","gm4_vecto_new_vehicle"],Rotation:[90f,0f]}
diff --git a/gm4_vecto_shamir/data/gm4_vecto_shamir/loot_table/band.json b/gm4_vecto_shamir/data/gm4_vecto_shamir/loot_table/band.json
index 07ae396274..732fd1e358 100644
--- a/gm4_vecto_shamir/data/gm4_vecto_shamir/loot_table/band.json
+++ b/gm4_vecto_shamir/data/gm4_vecto_shamir/loot_table/band.json
@@ -23,7 +23,7 @@
"lore": [
{
"translate": "item.gm4.shamir.vecto",
- "fallback": "Vecto",
+ "fallback": "Vecto Shamir",
"italic": false,
"color": "gray"
}
diff --git a/gm4_vecto_shamir/data/gm4_vecto_shamir/tags/worldgen/biome/pale_oak.json b/gm4_vecto_shamir/data/gm4_vecto_shamir/tags/worldgen/biome/pale_oak.json
index 42f3d31015..33a51a7be1 100644
--- a/gm4_vecto_shamir/data/gm4_vecto_shamir/tags/worldgen/biome/pale_oak.json
+++ b/gm4_vecto_shamir/data/gm4_vecto_shamir/tags/worldgen/biome/pale_oak.json
@@ -1,5 +1,5 @@
{
"values": [
- { "id": "minecraft:pale_garden", "required": false }
+ "minecraft:pale_garden"
]
}
diff --git a/gm4_vecto_shamir/since_61/data/gm4_vecto_shamir/function/vehicle/spawn_boat_east.mcfunction b/gm4_vecto_shamir/since_61/data/gm4_vecto_shamir/function/vehicle/spawn_boat_east.mcfunction
deleted file mode 100644
index 0320b80541..0000000000
--- a/gm4_vecto_shamir/since_61/data/gm4_vecto_shamir/function/vehicle/spawn_boat_east.mcfunction
+++ /dev/null
@@ -1,13 +0,0 @@
-# run from spawn_boat
-
-execute if biome ~ ~ ~ #gm4_vecto_shamir:acacia run summon minecraft:acacia_boat ~ ~ ~ {Invulnerable:1b,Tags:["gm4_vecto_vehicle","gm4_vecto_new_vehicle"],Rotation:[270f,0f]}
-execute if biome ~ ~ ~ #gm4_vecto_shamir:bamboo run summon minecraft:bamboo_raft ~ ~ ~ {Invulnerable:1b,Tags:["gm4_vecto_vehicle","gm4_vecto_new_vehicle"],Rotation:[270f,0f]}
-execute if biome ~ ~ ~ #gm4_vecto_shamir:birch run summon minecraft:birch_boat ~ ~ ~ {Invulnerable:1b,Tags:["gm4_vecto_vehicle","gm4_vecto_new_vehicle"],Rotation:[270f,0f]}
-execute if biome ~ ~ ~ #gm4_vecto_shamir:cherry run summon minecraft:cherry_boat ~ ~ ~ {Invulnerable:1b,Tags:["gm4_vecto_vehicle","gm4_vecto_new_vehicle"],Rotation:[270f,0f]}
-execute if biome ~ ~ ~ #gm4_vecto_shamir:dark_oak run summon minecraft:dark_oak_boat ~ ~ ~ {Invulnerable:1b,Tags:["gm4_vecto_vehicle","gm4_vecto_new_vehicle"],Rotation:[270f,0f]}
-execute if biome ~ ~ ~ #gm4_vecto_shamir:jungle run summon minecraft:jungle_boat ~ ~ ~ {Invulnerable:1b,Tags:["gm4_vecto_vehicle","gm4_vecto_new_vehicle"],Rotation:[270f,0f]}
-execute if biome ~ ~ ~ #gm4_vecto_shamir:mangrove run summon minecraft:mangrove_boat ~ ~ ~ {Invulnerable:1b,Tags:["gm4_vecto_vehicle","gm4_vecto_new_vehicle"],Rotation:[270f,0f]}
-execute if biome ~ ~ ~ #gm4_vecto_shamir:pale_oak run summon minecraft:pale_oak_boat ~ ~ ~ {Invulnerable:1b,Tags:["gm4_vecto_vehicle","gm4_vecto_new_vehicle"],Rotation:[270f,0f]}
-execute if biome ~ ~ ~ #gm4_vecto_shamir:spruce run summon minecraft:spruce_boat ~ ~ ~ {Invulnerable:1b,Tags:["gm4_vecto_vehicle","gm4_vecto_new_vehicle"],Rotation:[270f,0f]}
-
-execute unless biome ~ ~ ~ #gm4_vecto_shamir:non_oak run summon minecraft:oak_boat ~ ~ ~ {Invulnerable:1b,Tags:["gm4_vecto_vehicle","gm4_vecto_new_vehicle"],Rotation:[270f,0f]}
diff --git a/gm4_vecto_shamir/since_61/data/gm4_vecto_shamir/function/vehicle/spawn_boat_north.mcfunction b/gm4_vecto_shamir/since_61/data/gm4_vecto_shamir/function/vehicle/spawn_boat_north.mcfunction
deleted file mode 100644
index c124ddb049..0000000000
--- a/gm4_vecto_shamir/since_61/data/gm4_vecto_shamir/function/vehicle/spawn_boat_north.mcfunction
+++ /dev/null
@@ -1,13 +0,0 @@
-# run from spawn_boat
-
-execute if biome ~ ~ ~ #gm4_vecto_shamir:acacia run summon minecraft:acacia_boat ~ ~ ~ {Invulnerable:1b,Tags:["gm4_vecto_vehicle","gm4_vecto_new_vehicle"],Rotation:[180f,0f]}
-execute if biome ~ ~ ~ #gm4_vecto_shamir:bamboo run summon minecraft:bamboo_raft ~ ~ ~ {Invulnerable:1b,Tags:["gm4_vecto_vehicle","gm4_vecto_new_vehicle"],Rotation:[180f,0f]}
-execute if biome ~ ~ ~ #gm4_vecto_shamir:birch run summon minecraft:birch_boat ~ ~ ~ {Invulnerable:1b,Tags:["gm4_vecto_vehicle","gm4_vecto_new_vehicle"],Rotation:[180f,0f]}
-execute if biome ~ ~ ~ #gm4_vecto_shamir:cherry run summon minecraft:cherry_boat ~ ~ ~ {Invulnerable:1b,Tags:["gm4_vecto_vehicle","gm4_vecto_new_vehicle"],Rotation:[180f,0f]}
-execute if biome ~ ~ ~ #gm4_vecto_shamir:dark_oak run summon minecraft:dark_oak_boat ~ ~ ~ {Invulnerable:1b,Tags:["gm4_vecto_vehicle","gm4_vecto_new_vehicle"],Rotation:[180f,0f]}
-execute if biome ~ ~ ~ #gm4_vecto_shamir:jungle run summon minecraft:jungle_boat ~ ~ ~ {Invulnerable:1b,Tags:["gm4_vecto_vehicle","gm4_vecto_new_vehicle"],Rotation:[180f,0f]}
-execute if biome ~ ~ ~ #gm4_vecto_shamir:mangrove run summon minecraft:mangrove_boat ~ ~ ~ {Invulnerable:1b,Tags:["gm4_vecto_vehicle","gm4_vecto_new_vehicle"],Rotation:[180f,0f]}
-execute if biome ~ ~ ~ #gm4_vecto_shamir:pale_oak run summon minecraft:pale_oak_boat ~ ~ ~ {Invulnerable:1b,Tags:["gm4_vecto_vehicle","gm4_vecto_new_vehicle"],Rotation:[180f,0f]}
-execute if biome ~ ~ ~ #gm4_vecto_shamir:spruce run summon minecraft:spruce_boat ~ ~ ~ {Invulnerable:1b,Tags:["gm4_vecto_vehicle","gm4_vecto_new_vehicle"],Rotation:[180f,0f]}
-
-execute unless biome ~ ~ ~ #gm4_vecto_shamir:non_oak run summon minecraft:oak_boat ~ ~ ~ {Invulnerable:1b,Tags:["gm4_vecto_vehicle","gm4_vecto_new_vehicle"],Rotation:[180f,0f]}
diff --git a/gm4_vecto_shamir/since_61/data/gm4_vecto_shamir/function/vehicle/spawn_boat_south.mcfunction b/gm4_vecto_shamir/since_61/data/gm4_vecto_shamir/function/vehicle/spawn_boat_south.mcfunction
deleted file mode 100644
index b3bb64836a..0000000000
--- a/gm4_vecto_shamir/since_61/data/gm4_vecto_shamir/function/vehicle/spawn_boat_south.mcfunction
+++ /dev/null
@@ -1,13 +0,0 @@
-# run from spawn_boat
-
-execute if biome ~ ~ ~ #gm4_vecto_shamir:acacia run summon minecraft:acacia_boat ~ ~ ~ {Invulnerable:1b,Tags:["gm4_vecto_vehicle","gm4_vecto_new_vehicle"],Rotation:[0f,0f]}
-execute if biome ~ ~ ~ #gm4_vecto_shamir:bamboo run summon minecraft:bamboo_raft ~ ~ ~ {Invulnerable:1b,Tags:["gm4_vecto_vehicle","gm4_vecto_new_vehicle"],Rotation:[0f,0f]}
-execute if biome ~ ~ ~ #gm4_vecto_shamir:birch run summon minecraft:birch_boat ~ ~ ~ {Invulnerable:1b,Tags:["gm4_vecto_vehicle","gm4_vecto_new_vehicle"],Rotation:[0f,0f]}
-execute if biome ~ ~ ~ #gm4_vecto_shamir:cherry run summon minecraft:cherry_boat ~ ~ ~ {Invulnerable:1b,Tags:["gm4_vecto_vehicle","gm4_vecto_new_vehicle"],Rotation:[0f,0f]}
-execute if biome ~ ~ ~ #gm4_vecto_shamir:dark_oak run summon minecraft:dark_oak_boat ~ ~ ~ {Invulnerable:1b,Tags:["gm4_vecto_vehicle","gm4_vecto_new_vehicle"],Rotation:[0f,0f]}
-execute if biome ~ ~ ~ #gm4_vecto_shamir:jungle run summon minecraft:jungle_boat ~ ~ ~ {Invulnerable:1b,Tags:["gm4_vecto_vehicle","gm4_vecto_new_vehicle"],Rotation:[0f,0f]}
-execute if biome ~ ~ ~ #gm4_vecto_shamir:mangrove run summon minecraft:mangrove_boat ~ ~ ~ {Invulnerable:1b,Tags:["gm4_vecto_vehicle","gm4_vecto_new_vehicle"],Rotation:[0f,0f]}
-execute if biome ~ ~ ~ #gm4_vecto_shamir:pale_oak run summon minecraft:pale_oak_boat ~ ~ ~ {Invulnerable:1b,Tags:["gm4_vecto_vehicle","gm4_vecto_new_vehicle"],Rotation:[0f,0f]}
-execute if biome ~ ~ ~ #gm4_vecto_shamir:spruce run summon minecraft:spruce_boat ~ ~ ~ {Invulnerable:1b,Tags:["gm4_vecto_vehicle","gm4_vecto_new_vehicle"],Rotation:[0f,0f]}
-
-execute unless biome ~ ~ ~ #gm4_vecto_shamir:non_oak run summon minecraft:oak_boat ~ ~ ~ {Invulnerable:1b,Tags:["gm4_vecto_vehicle","gm4_vecto_new_vehicle"],Rotation:[0f,0f]}
diff --git a/gm4_vecto_shamir/since_61/data/gm4_vecto_shamir/function/vehicle/spawn_boat_west.mcfunction b/gm4_vecto_shamir/since_61/data/gm4_vecto_shamir/function/vehicle/spawn_boat_west.mcfunction
deleted file mode 100644
index f84ea91f0e..0000000000
--- a/gm4_vecto_shamir/since_61/data/gm4_vecto_shamir/function/vehicle/spawn_boat_west.mcfunction
+++ /dev/null
@@ -1,13 +0,0 @@
-# run from spawn_boat
-
-execute if biome ~ ~ ~ #gm4_vecto_shamir:acacia run summon minecraft:acacia_boat ~ ~ ~ {Invulnerable:1b,Tags:["gm4_vecto_vehicle","gm4_vecto_new_vehicle"],Rotation:[90f,0f]}
-execute if biome ~ ~ ~ #gm4_vecto_shamir:bamboo run summon minecraft:bamboo_raft ~ ~ ~ {Invulnerable:1b,Tags:["gm4_vecto_vehicle","gm4_vecto_new_vehicle"],Rotation:[90f,0f]}
-execute if biome ~ ~ ~ #gm4_vecto_shamir:birch run summon minecraft:birch_boat ~ ~ ~ {Invulnerable:1b,Tags:["gm4_vecto_vehicle","gm4_vecto_new_vehicle"],Rotation:[90f,0f]}
-execute if biome ~ ~ ~ #gm4_vecto_shamir:cherry run summon minecraft:cherry_boat ~ ~ ~ {Invulnerable:1b,Tags:["gm4_vecto_vehicle","gm4_vecto_new_vehicle"],Rotation:[90f,0f]}
-execute if biome ~ ~ ~ #gm4_vecto_shamir:dark_oak run summon minecraft:dark_oak_boat ~ ~ ~ {Invulnerable:1b,Tags:["gm4_vecto_vehicle","gm4_vecto_new_vehicle"],Rotation:[90f,0f]}
-execute if biome ~ ~ ~ #gm4_vecto_shamir:jungle run summon minecraft:jungle_boat ~ ~ ~ {Invulnerable:1b,Tags:["gm4_vecto_vehicle","gm4_vecto_new_vehicle"],Rotation:[90f,0f]}
-execute if biome ~ ~ ~ #gm4_vecto_shamir:mangrove run summon minecraft:mangrove_boat ~ ~ ~ {Invulnerable:1b,Tags:["gm4_vecto_vehicle","gm4_vecto_new_vehicle"],Rotation:[90f,0f]}
-execute if biome ~ ~ ~ #gm4_vecto_shamir:pale_oak run summon minecraft:pale_oak_boat ~ ~ ~ {Invulnerable:1b,Tags:["gm4_vecto_vehicle","gm4_vecto_new_vehicle"],Rotation:[90f,0f]}
-execute if biome ~ ~ ~ #gm4_vecto_shamir:spruce run summon minecraft:spruce_boat ~ ~ ~ {Invulnerable:1b,Tags:["gm4_vecto_vehicle","gm4_vecto_new_vehicle"],Rotation:[90f,0f]}
-
-execute unless biome ~ ~ ~ #gm4_vecto_shamir:non_oak run summon minecraft:oak_boat ~ ~ ~ {Invulnerable:1b,Tags:["gm4_vecto_vehicle","gm4_vecto_new_vehicle"],Rotation:[90f,0f]}
diff --git a/gm4_vecto_shamir/translations.csv b/gm4_vecto_shamir/translations.csv
index 2ef2e95438..35dcc7f586 100644
--- a/gm4_vecto_shamir/translations.csv
+++ b/gm4_vecto_shamir/translations.csv
@@ -1,5 +1,5 @@
key,en_us
-item.gm4.shamir.vecto,Vecto
+item.gm4.shamir.vecto,Vecto Shamir
text.gm4.guidebook.module_desc.vecto_shamir,"Adds the 'Vecto' Shamir to Metallury. Summon a Boat or Minecart out of thin air when in need, no more wasting an inventory slot!"
text.gm4.guidebook.vecto_shamir.description,Vecto creates temporary boats and minecarts for easy travel.
text.gm4.guidebook.vecto_shamir.usage,"The Vecto Shamir is found on Bismuth Bands. It can be placed onto boots.\n\nSneak on top of water, ice, or rails to summon a temporary boat or minecart.\nThis vehicle disappears once the owner is not nearby."
diff --git a/gm4_vertical_rails/beet.yaml b/gm4_vertical_rails/beet.yaml
index 6bb8a0e85c..4f59c5ddb0 100644
--- a/gm4_vertical_rails/beet.yaml
+++ b/gm4_vertical_rails/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_vertical_rails
name: Vertical Rails
-version: 1.5.X
+version: 1.6.X
data_pack:
load: .
diff --git a/gm4_vigere_shamir/beet.yaml b/gm4_vigere_shamir/beet.yaml
index 4ffba99b9a..58b082518f 100644
--- a/gm4_vigere_shamir/beet.yaml
+++ b/gm4_vigere_shamir/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_vigere_shamir
name: Vigere Shamir
-version: 1.4.X
+version: 1.5.X
data_pack:
load: .
@@ -16,7 +16,7 @@ meta:
gm4:
versioning:
required:
- gm4_metallurgy: 1.4.0
+ gm4_metallurgy: 1.5.0
schedule_loops: [main]
model_data:
- item: shield
diff --git a/gm4_vigere_shamir/data/gm4_vigere_shamir/loot_table/band.json b/gm4_vigere_shamir/data/gm4_vigere_shamir/loot_table/band.json
index 292b279f78..f310322bc2 100644
--- a/gm4_vigere_shamir/data/gm4_vigere_shamir/loot_table/band.json
+++ b/gm4_vigere_shamir/data/gm4_vigere_shamir/loot_table/band.json
@@ -23,7 +23,7 @@
"lore": [
{
"translate": "item.gm4.shamir.vigere",
- "fallback": "Vigere",
+ "fallback": "Vigere Shamir",
"italic": false,
"color": "gray"
}
diff --git a/gm4_vigere_shamir/translations.csv b/gm4_vigere_shamir/translations.csv
index aa85f53920..c966673e87 100644
--- a/gm4_vigere_shamir/translations.csv
+++ b/gm4_vigere_shamir/translations.csv
@@ -1,5 +1,5 @@
key,en_us
-item.gm4.shamir.vigere,Vigere
+item.gm4.shamir.vigere,Vigere Shamir
text.gm4.guidebook.module_desc.vigere_shamir,Adds the shamir 'Vigere' to Metallurgy. It heals you when you block with a shield.
text.gm4.guidebook.vigere_shamir.description,Vigere alters shields to heal the user upon blocking an attack.
text.gm4.guidebook.vigere_shamir.usage,The Vigere Shamir is found on Barimium Bands. It can be placed onto shields.\n\nBlocking an attack will heal the user 1.5 hearts and apply Mining Fatigue VI for 3 seconds.\nHealing damages the shield more.
diff --git a/gm4_washing_tanks/beet.yaml b/gm4_washing_tanks/beet.yaml
index 3b31ff2af9..9b6ec6335d 100644
--- a/gm4_washing_tanks/beet.yaml
+++ b/gm4_washing_tanks/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_washing_tanks
name: Washing Tanks
-version: 1.4.X
+version: 1.5.X
data_pack:
load: .
@@ -12,7 +12,7 @@ meta:
gm4:
versioning:
required:
- gm4_liquid_tanks: 2.3.0
+ gm4_liquid_tanks: 2.7.0
website:
description: Die! Dye! Remove die from items in a Liquid Tank filled with Water, at the cost of â…“ of a bucket.
recommended: []
diff --git a/gm4_washing_tanks/data/gm4_washing_tanks/function/wash.mcfunction b/gm4_washing_tanks/data/gm4_washing_tanks/function/wash.mcfunction
index 43735f4602..31922058c4 100644
--- a/gm4_washing_tanks/data/gm4_washing_tanks/function/wash.mcfunction
+++ b/gm4_washing_tanks/data/gm4_washing_tanks/function/wash.mcfunction
@@ -2,8 +2,8 @@
#run from item_fill
# Copy item to armor stand offhand
-data modify entity @s HandItems[1] merge value {id:"minecraft:stick",count:1}
-data modify entity @s HandItems[1].id set from storage gm4_liquid_tanks:temp/tank input_slot.id
+data modify entity @s equipment.offhand merge value {id:"minecraft:stick",count:1}
+data modify entity @s equipment.offhand.id set from storage gm4_liquid_tanks:temp/tank input_slot.id
execute if predicate gm4_washing_tanks:glass as @e[type=marker,tag=gm4_liquid_tank,distance=..0.6,limit=1] run function gm4_washing_tanks:washing_recipes/glass
execute if predicate gm4_washing_tanks:glass_pane as @e[type=marker,tag=gm4_liquid_tank,distance=..0.6,limit=1] run function gm4_washing_tanks:washing_recipes/glass_pane
@@ -15,4 +15,4 @@ execute if predicate gm4_washing_tanks:armour if data storage gm4_liquid_tanks:t
execute if predicate gm4_washing_tanks:shulker_box as @e[type=marker,tag=gm4_liquid_tank,distance=..0.6,limit=1] run function gm4_washing_tanks:washing_recipes/shulker_box
# Clear armor stand offhand
-data modify entity @s HandItems[1] set value {}
+data remove entity @s equipment.offhand
diff --git a/gm4_weighted_armour/assets/translations.csv b/gm4_weighted_armour/assets/translations.csv
index c0642e0fb0..168454d3fd 100644
--- a/gm4_weighted_armour/assets/translations.csv
+++ b/gm4_weighted_armour/assets/translations.csv
@@ -1,5 +1,5 @@
key,en_us
-item.gm4.shamir.helious,Helious
+item.gm4.shamir.helious,Helious Shamir
text.gm4.guidebook.module_desc.helious_shamir,"Perfect for UHCs, this module forces you to balance protection with speed."
text.gm4.guidebook.helious_shamir.description,"Helious hinders weighted armour, allowing users to wear more armour without slowing down."
text.gm4.guidebook.helious_shamir.usage,The Helious Shamir is found on Aluminium Bands. It can be placed onto armour.\n\nEach Helious piece will reduce weighted armour by one slowness level. Too little of weight will cause levitation and wither effects.
diff --git a/gm4_weighted_armour/beet.yaml b/gm4_weighted_armour/beet.yaml
index dc67d1ddd6..5afe20d37f 100644
--- a/gm4_weighted_armour/beet.yaml
+++ b/gm4_weighted_armour/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_weighted_armour
name: Weighted Armour
-version: 1.7.X
+version: 1.8.X
data_pack:
load: .
diff --git a/gm4_weighted_armour/data/gm4_helious_shamir/loot_table/band.json b/gm4_weighted_armour/data/gm4_helious_shamir/loot_table/band.json
index 3cda3c2bbd..44139c383e 100644
--- a/gm4_weighted_armour/data/gm4_helious_shamir/loot_table/band.json
+++ b/gm4_weighted_armour/data/gm4_helious_shamir/loot_table/band.json
@@ -23,7 +23,7 @@
"lore": [
{
"translate": "item.gm4.shamir.helious",
- "fallback": "Helious",
+ "fallback": "Helious Shamir",
"italic": false,
"color": "gray"
}
diff --git a/gm4_xp_storage/beet.yaml b/gm4_xp_storage/beet.yaml
index a4658acc30..84b2ba9259 100644
--- a/gm4_xp_storage/beet.yaml
+++ b/gm4_xp_storage/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_xp_storage
name: XP Storage
-version: 1.6.X
+version: 1.7.X
data_pack:
load: .
diff --git a/gm4_zauber_cauldrons/assets/model_data.yaml b/gm4_zauber_cauldrons/assets/model_data.yaml
index 86f5b42458..124f6f062c 100644
--- a/gm4_zauber_cauldrons/assets/model_data.yaml
+++ b/gm4_zauber_cauldrons/assets/model_data.yaml
@@ -66,7 +66,9 @@ model_data:
forward: item/bottled_magicol/temperate_potion
- item: clock
reference: gui/advancement/zauber_cauldrons_make_magicol
- template: advancement
+ template:
+ name: advancement
+ forward: minecraft:clock_00
- item: grass_block
reference: gui/advancement/zauber_cauldrons_paint_biome
template: advancement
diff --git a/gm4_zauber_cauldrons/beet.yaml b/gm4_zauber_cauldrons/beet.yaml
index 63bd7cb468..e61a2c3af4 100644
--- a/gm4_zauber_cauldrons/beet.yaml
+++ b/gm4_zauber_cauldrons/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_zauber_cauldrons
name: Zauber Cauldrons
-version: 1.12.X
+version: 1.13.X
data_pack:
load: .
@@ -24,10 +24,10 @@ meta:
minecraft: []
versioning:
required:
- lib_forceload: 1.4.0
- lib_brewing: 1.2.0
- lib_trades: 1.5.0
- lib_potion_tracking: 1.2.0
+ lib_forceload: 1.5.0
+ lib_brewing: 1.4.0
+ lib_trades: 1.6.0
+ lib_potion_tracking: 1.3.0
schedule_loops:
- main
- cauldron/extra_items/process_bottled_vex_items
diff --git a/gm4_zauber_cauldrons/data/gm4_zauber_cauldrons/function/recipes/flowers/poison.mcfunction b/gm4_zauber_cauldrons/data/gm4_zauber_cauldrons/function/recipes/flowers/poison.mcfunction
index 0d9a8e3759..067451c8ff 100644
--- a/gm4_zauber_cauldrons/data/gm4_zauber_cauldrons/function/recipes/flowers/poison.mcfunction
+++ b/gm4_zauber_cauldrons/data/gm4_zauber_cauldrons/function/recipes/flowers/poison.mcfunction
@@ -3,7 +3,7 @@
# run from recipes/flowers/check_poisonous_flowers
execute align xyz run kill @e[type=item,dx=0,dy=0,dz=0]
-summon area_effect_cloud ~ ~.75 ~ {CustomName:'"the mess they made"',Radius:2.1f,Duration:2147483647,RadiusOnUse:-0.1f,RadiusPerTick:-0.005f,ReapplicationDelay:40,potion_contents:{custom_effects:[{id:"minecraft:poison",amplifier:2,duration:3200}]}}
+summon area_effect_cloud ~ ~.75 ~ {CustomName:'"the mess they made"',Radius:2.1f,Duration:-1,RadiusOnUse:-0.1f,RadiusPerTick:-0.005f,ReapplicationDelay:40,potion_contents:{custom_effects:[{id:"minecraft:poison",amplifier:2,duration:3200}]}}
playsound entity.elder_guardian.curse block @a[distance=..16] ~ ~ ~ 0.6 0.7
scoreboard players set $recipe_success gm4_zc_data 1
diff --git a/gm4_zauber_cauldrons/data/gm4_zauber_cauldrons/function/recipes/potions/environmental_effects/instant_damage.mcfunction b/gm4_zauber_cauldrons/data/gm4_zauber_cauldrons/function/recipes/potions/environmental_effects/instant_damage.mcfunction
index 9feb4fba2e..bbed692c14 100644
--- a/gm4_zauber_cauldrons/data/gm4_zauber_cauldrons/function/recipes/potions/environmental_effects/instant_damage.mcfunction
+++ b/gm4_zauber_cauldrons/data/gm4_zauber_cauldrons/function/recipes/potions/environmental_effects/instant_damage.mcfunction
@@ -4,4 +4,4 @@
# applies environmental effects caused by recipes
particle heart ~ ~.2 ~ .25 .2 .25 10 5
-summon area_effect_cloud ~ ~.75 ~ {Radius:1.25f,Duration:2147483647,RadiusOnUse:-0.09f,RadiusPerTick:0.0f,ReapplicationDelay:20,potion_contents:{custom_effects:[{id:"minecraft:instant_health",amplifier:2,duration:1}]}}
+summon area_effect_cloud ~ ~.75 ~ {Radius:1.25f,Duration:-1,RadiusOnUse:-0.09f,RadiusPerTick:0.0f,ReapplicationDelay:20,potion_contents:{custom_effects:[{id:"minecraft:instant_health",amplifier:2,duration:1}]}}
diff --git a/gm4_zauber_cauldrons/data/gm4_zauber_cauldrons/function/recipes/potions/environmental_effects/instant_health.mcfunction b/gm4_zauber_cauldrons/data/gm4_zauber_cauldrons/function/recipes/potions/environmental_effects/instant_health.mcfunction
index 519cfd943f..811a4606bd 100644
--- a/gm4_zauber_cauldrons/data/gm4_zauber_cauldrons/function/recipes/potions/environmental_effects/instant_health.mcfunction
+++ b/gm4_zauber_cauldrons/data/gm4_zauber_cauldrons/function/recipes/potions/environmental_effects/instant_health.mcfunction
@@ -3,4 +3,4 @@
# run from recipes/potions/ recipes
# applies environmental effects caused by recipes
-summon area_effect_cloud ~ ~.75 ~ {CustomName:'{"translate":"entity.gm4.zauber_cauldrons.smog.instant_health","fallback":"their own incompetence"}',Radius:2.1f,Duration:2147483647,RadiusOnUse:-0.75f,RadiusPerTick:-0.0005f,ReapplicationDelay:0,potion_contents:{custom_effects:[{id:"minecraft:instant_damage",amplifier:8,duration:40}]}}
+summon area_effect_cloud ~ ~.75 ~ {CustomName:'{"translate":"entity.gm4.zauber_cauldrons.smog.instant_health","fallback":"their own incompetence"}',Radius:2.1f,Duration:-1,RadiusOnUse:-0.75f,RadiusPerTick:-0.0005f,ReapplicationDelay:0,potion_contents:{custom_effects:[{id:"minecraft:instant_damage",amplifier:8,duration:40}]}}
diff --git a/gm4_zauber_cauldrons/data/gm4_zauber_cauldrons/function/recipes/potions/environmental_effects/regeneration.mcfunction b/gm4_zauber_cauldrons/data/gm4_zauber_cauldrons/function/recipes/potions/environmental_effects/regeneration.mcfunction
index 9edb1cdc30..0e823019c7 100644
--- a/gm4_zauber_cauldrons/data/gm4_zauber_cauldrons/function/recipes/potions/environmental_effects/regeneration.mcfunction
+++ b/gm4_zauber_cauldrons/data/gm4_zauber_cauldrons/function/recipes/potions/environmental_effects/regeneration.mcfunction
@@ -3,4 +3,4 @@
# run from recipes/potions/ recipes
# applies environmental effects caused by recipes
-summon area_effect_cloud ~ ~.75 ~ {CustomName:'{"translate":"entity.gm4.zauber_cauldrons.smog.regeneration","fallback":"the mess they made"}',Radius:1.8f,Duration:2147483647,RadiusOnUse:-0.01f,RadiusPerTick:-0.0002f,ReapplicationDelay:40,potion_contents:{custom_effects:[{id:"minecraft:wither",amplifier:3,duration:1280}]}}
+summon area_effect_cloud ~ ~.75 ~ {CustomName:'{"translate":"entity.gm4.zauber_cauldrons.smog.regeneration","fallback":"the mess they made"}',Radius:1.8f,Duration:-1,RadiusOnUse:-0.01f,RadiusPerTick:-0.0002f,ReapplicationDelay:40,potion_contents:{custom_effects:[{id:"minecraft:wither",amplifier:3,duration:1280}]}}
diff --git a/gm4_zauber_cauldrons/data/gm4_zauber_cauldrons/loot_table/items/wormhole.json b/gm4_zauber_cauldrons/data/gm4_zauber_cauldrons/loot_table/items/wormhole.json
index 54e3c3e6b3..e7650d24c2 100644
--- a/gm4_zauber_cauldrons/data/gm4_zauber_cauldrons/loot_table/items/wormhole.json
+++ b/gm4_zauber_cauldrons/data/gm4_zauber_cauldrons/loot_table/items/wormhole.json
@@ -16,7 +16,11 @@
"potion": "minecraft:thick",
"custom_color": 8587123
},
- "minecraft:hide_additional_tooltip": {}
+ "minecraft:tooltip_display": {
+ "hidden_components": [
+ "minecraft:potion_contents"
+ ]
+ }
}
},
{
diff --git a/gm4_zauber_cauldrons/data/gm4_zauber_cauldrons/templates/loot_tables/bottled_magicol.json b/gm4_zauber_cauldrons/data/gm4_zauber_cauldrons/templates/loot_tables/bottled_magicol.json
index c761241cd8..b725078216 100644
--- a/gm4_zauber_cauldrons/data/gm4_zauber_cauldrons/templates/loot_tables/bottled_magicol.json
+++ b/gm4_zauber_cauldrons/data/gm4_zauber_cauldrons/templates/loot_tables/bottled_magicol.json
@@ -14,7 +14,11 @@
"minecraft:potion_contents": {
"custom_color": {{potion_color}}
},
- "minecraft:hide_additional_tooltip": {}
+ "minecraft:tooltip_display": {
+ "hidden_components": [
+ "minecraft:potion_contents"
+ ]
+ }
}
},
{
diff --git a/gm4_zauber_cauldrons/data/gm4_zauber_cauldrons/templates/loot_tables/replace_offhand_crystal.json b/gm4_zauber_cauldrons/data/gm4_zauber_cauldrons/templates/loot_tables/replace_offhand_crystal.json
index 16cd21749f..07aabaeae2 100644
--- a/gm4_zauber_cauldrons/data/gm4_zauber_cauldrons/templates/loot_tables/replace_offhand_crystal.json
+++ b/gm4_zauber_cauldrons/data/gm4_zauber_cauldrons/templates/loot_tables/replace_offhand_crystal.json
@@ -11,11 +11,15 @@
"function": "minecraft:set_components",
"components": {
"minecraft:custom_model_data": "item/crystal/{{effect}}",
- "minecraft:hide_additional_tooltip": {},
"minecraft:firework_explosion": {
"colors": [
{{custom_potion_color}}
]
+ },
+ "minecraft:tooltip_display": {
+ "hidden_components": [
+ "minecraft:firework_explosion"
+ ]
}
}
},
diff --git a/gm4_zauber_cauldrons/data/gm4_zauber_cauldrons/templates/loot_tables/zauber_potion.json b/gm4_zauber_cauldrons/data/gm4_zauber_cauldrons/templates/loot_tables/zauber_potion.json
index 8e09b730ab..e4ff4ffc3f 100644
--- a/gm4_zauber_cauldrons/data/gm4_zauber_cauldrons/templates/loot_tables/zauber_potion.json
+++ b/gm4_zauber_cauldrons/data/gm4_zauber_cauldrons/templates/loot_tables/zauber_potion.json
@@ -14,7 +14,11 @@
"custom_color": {{custom_potion_color}},
"custom_effects": {{custom_potion_effects}}
},
- "minecraft:hide_additional_tooltip": {}
+ "minecraft:tooltip_display": {
+ "hidden_components": [
+ "minecraft:potion_contents"
+ ]
+ }
}
},
{
diff --git a/gm4_zauber_liquids/beet.yaml b/gm4_zauber_liquids/beet.yaml
index 6756e6ebe0..31ef2629b2 100644
--- a/gm4_zauber_liquids/beet.yaml
+++ b/gm4_zauber_liquids/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_zauber_liquids
name: Zauber Liquids
-version: 1.8.X
+version: 1.9.X
data_pack:
load: .
@@ -13,8 +13,8 @@ meta:
minecraft: []
versioning:
required:
- gm4_liquid_tanks: 2.3.0
- gm4_zauber_cauldrons: 1.12.0
+ gm4_liquid_tanks: 2.7.0
+ gm4_zauber_cauldrons: 1.13.0
website:
description: From cauldron-made potions to potion-filled tanks! Store your tier IV potions and wormholes in Liquid Tanks!
recommended: []
diff --git a/gm4_ziprails/beet.yaml b/gm4_ziprails/beet.yaml
index 98f010f05d..0db14cb56b 100644
--- a/gm4_ziprails/beet.yaml
+++ b/gm4_ziprails/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_ziprails
name: Ziprails
-version: 1.5.X
+version: 1.6.X
data_pack:
load: .
diff --git a/lib_brewing/beet.yaml b/lib_brewing/beet.yaml
index 1fc87f7bf9..ef2f2847e9 100644
--- a/lib_brewing/beet.yaml
+++ b/lib_brewing/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_brewing
name: Gamemode 4 Brewing
-version: 1.3.X
+version: 1.4.X
description: Allows datapacks to replace custom potions with splash and lingering potions when brewed in a brewing stand.
data_pack:
diff --git a/lib_brewing/data/gm4_brewing/function/mark_adjacent_brewing_stand.mcfunction b/lib_brewing/data/gm4_brewing/function/mark_adjacent_brewing_stand.mcfunction
new file mode 100644
index 0000000000..c9f8b566e5
--- /dev/null
+++ b/lib_brewing/data/gm4_brewing/function/mark_adjacent_brewing_stand.mcfunction
@@ -0,0 +1,16 @@
+# marches along and places a marker once a newly placed brewing stand is found
+# @s = player who has placed a brewing stand
+# at location along a ray originating from the player's eyes
+# run from gm4_brewing:place_brewing_stand
+
+# check for newly placed brewing stand, return when found
+execute positioned ~1 ~ ~ if block ~ ~ ~ brewing_stand align xyz unless entity @e[type=marker,tag=gm4_brewing_stand,dx=0,limit=1] run return run summon marker ~.5 ~.5 ~.5 {Tags:["gm4_brewing_stand"],CustomName:"gm4_brewing_stand"}
+execute positioned ~ ~1 ~ if block ~ ~ ~ brewing_stand align xyz unless entity @e[type=marker,tag=gm4_brewing_stand,dx=0,limit=1] run return run summon marker ~.5 ~.5 ~.5 {Tags:["gm4_brewing_stand"],CustomName:"gm4_brewing_stand"}
+execute positioned ~ ~ ~1 if block ~ ~ ~ brewing_stand align xyz unless entity @e[type=marker,tag=gm4_brewing_stand,dx=0,limit=1] run return run summon marker ~.5 ~.5 ~.5 {Tags:["gm4_brewing_stand"],CustomName:"gm4_brewing_stand"}
+execute positioned ~-1 ~ ~ if block ~ ~ ~ brewing_stand align xyz unless entity @e[type=marker,tag=gm4_brewing_stand,dx=0,limit=1] run return run summon marker ~.5 ~.5 ~.5 {Tags:["gm4_brewing_stand"],CustomName:"gm4_brewing_stand"}
+execute positioned ~ ~-1 ~ if block ~ ~ ~ brewing_stand align xyz unless entity @e[type=marker,tag=gm4_brewing_stand,dx=0,limit=1] run return run summon marker ~.5 ~.5 ~.5 {Tags:["gm4_brewing_stand"],CustomName:"gm4_brewing_stand"}
+execute positioned ~ ~ ~-1 if block ~ ~ ~ brewing_stand align xyz unless entity @e[type=marker,tag=gm4_brewing_stand,dx=0,limit=1] run return run summon marker ~.5 ~.5 ~.5 {Tags:["gm4_brewing_stand"],CustomName:"gm4_brewing_stand"}
+
+# advance
+scoreboard players remove $ray gm4_count 1
+execute if score $ray gm4_count matches 0.. positioned ^ ^ ^0.013 run function gm4_brewing:mark_brewing_stand
diff --git a/lib_brewing/data/gm4_brewing/function/mark_brewing_stand.mcfunction b/lib_brewing/data/gm4_brewing/function/mark_brewing_stand.mcfunction
new file mode 100644
index 0000000000..a7bd740a7c
--- /dev/null
+++ b/lib_brewing/data/gm4_brewing/function/mark_brewing_stand.mcfunction
@@ -0,0 +1,12 @@
+# marches along and places a marker once a newly placed brewing stand is found
+# @s = player who has placed a brewing stand
+# at location along a ray originating from the player's eyes
+# run from gm4_brewing:place_brewing_stand
+
+# check for newly placed brewing stand, return when found
+execute if block ~ ~ ~ brewing_stand align xyz unless entity @e[type=marker,tag=gm4_brewing_stand,dx=0,limit=1] run return run summon marker ~.5 ~.5 ~.5 {Tags:["gm4_brewing_stand"],CustomName:"gm4_brewing_stand"}
+
+# advance
+scoreboard players remove $ray gm4_count 1
+execute if score $ray gm4_count matches 0.. positioned ^ ^ ^0.013 run return run function gm4_brewing:mark_brewing_stand
+execute unless score $ray gm4_count matches 0.. run return fail
diff --git a/lib_brewing/data/gm4_brewing/function/place_brewing_stand.mcfunction b/lib_brewing/data/gm4_brewing/function/place_brewing_stand.mcfunction
index 272f546016..ccf773671a 100644
--- a/lib_brewing/data/gm4_brewing/function/place_brewing_stand.mcfunction
+++ b/lib_brewing/data/gm4_brewing/function/place_brewing_stand.mcfunction
@@ -1,17 +1,20 @@
+# Initiates the search for the newly placed brewing stand
# @s = player that just placed a brewing stand
+# at @s
# run from advancement place_brewing_stand
# revoke advancement
advancement revoke @s only gm4_brewing:place_brewing_stand
-# raycast
-summon marker ~ ~ ~ {Tags:["gm4_brewing_ray"]}
-execute anchored eyes positioned ^ ^ ^ anchored feet run tp @e[type=marker,tag=gm4_brewing_ray,limit=1] ^ ^ ^ ~ ~
-scoreboard players set $ray gm4_count 0
-execute as @e[type=marker,tag=gm4_brewing_ray,limit=1] at @s run function gm4_brewing:ray
-execute unless score $found gm4_count matches 1 anchored eyes positioned ^ ^ ^ anchored feet run tp @e[type=marker,tag=gm4_brewing_ray,limit=1] ^ ^ ^ ~ ~
-execute unless score $found gm4_count matches 1 as @e[type=marker,tag=gm4_brewing_ray,limit=1] at @s run function gm4_brewing:ray_backup
+# find newly placed brewing stand and place marker
+# check blocks on looking vector
+scoreboard players set $ray gm4_count 500
+execute store success score $found_brewing_stand gm4_count anchored eyes positioned ^ ^ ^ run function gm4_brewing:mark_brewing_stand
-kill @e[type=marker,tag=gm4_brewing_ray]
+# check adjacent blocks
+execute unless score $found_brewing_stand gm4_count matches 1 run function gm4_brewing:mark_adjacent_brewing_stand
+scoreboard players reset $found_brewing_stand gm4_count
+
+# reset fake players
scoreboard players reset $ray gm4_count
scoreboard players reset $found gm4_count
diff --git a/lib_brewing/data/gm4_brewing/function/ray.mcfunction b/lib_brewing/data/gm4_brewing/function/ray.mcfunction
deleted file mode 100644
index 2c6f15d4a8..0000000000
--- a/lib_brewing/data/gm4_brewing/function/ray.mcfunction
+++ /dev/null
@@ -1,11 +0,0 @@
-# @s = marker ray used to find the brewing stand
-# run from gm4_brewing:place_brewing_stand
-
-# check blocks around the marker ray
-scoreboard players set $found gm4_count 0
-execute store success score $found gm4_count align xyz positioned ~0.5 ~0.5 ~0.5 if block ~ ~ ~ brewing_stand unless entity @e[type=marker,distance=..0.1,tag=gm4_brewing_stand,limit=1] run summon marker ~ ~ ~ {Tags:["gm4_brewing_stand"],CustomName:'"gm4_brewing_stand"'}
-
-# move forward
-scoreboard players add $ray gm4_count 1
-tp @s ^ ^ ^0.01
-execute if score $ray gm4_count matches 0..500 at @s unless score $found gm4_count matches 1 run function gm4_brewing:ray
diff --git a/lib_brewing/data/gm4_brewing/function/ray_backup.mcfunction b/lib_brewing/data/gm4_brewing/function/ray_backup.mcfunction
deleted file mode 100644
index 56962b7a77..0000000000
--- a/lib_brewing/data/gm4_brewing/function/ray_backup.mcfunction
+++ /dev/null
@@ -1,17 +0,0 @@
-# @s = marker ray used to find the brewing stand
-# run from gm4_brewing:place_brewing_stand
-
-# check blocks around the marker ray
-scoreboard players set $found gm4_count 0
-execute store success score $found gm4_count align xyz positioned ~0.5 ~0.5 ~0.5 if block ~ ~ ~ brewing_stand unless entity @e[type=marker,distance=..0.1,tag=gm4_brewing_stand,limit=1] run summon marker ~ ~ ~ {Tags:["gm4_brewing_stand"],CustomName:'"gm4_brewing_stand"'}
-execute if score $found gm4_count matches 0 store success score $found gm4_count align xyz positioned ~0.5 ~1.5 ~0.5 if block ~ ~ ~ brewing_stand unless entity @e[type=marker,distance=..0.1,tag=gm4_brewing_stand,limit=1] run summon marker ~ ~ ~ {Tags:["gm4_brewing_stand"],CustomName:'"gm4_brewing_stand"'}
-execute if score $found gm4_count matches 0 store success score $found gm4_count align xyz positioned ~0.5 ~-0.5 ~0.5 if block ~ ~ ~ brewing_stand unless entity @e[type=marker,distance=..0.1,tag=gm4_brewing_stand,limit=1] run summon marker ~ ~ ~ {Tags:["gm4_brewing_stand"],CustomName:'"gm4_brewing_stand"'}
-execute if score $found gm4_count matches 0 store success score $found gm4_count align xyz positioned ~1.5 ~0.5 ~0.5 if block ~ ~ ~ brewing_stand unless entity @e[type=marker,distance=..0.1,tag=gm4_brewing_stand,limit=1] run summon marker ~ ~ ~ {Tags:["gm4_brewing_stand"],CustomName:'"gm4_brewing_stand"'}
-execute if score $found gm4_count matches 0 store success score $found gm4_count align xyz positioned ~-0.5 ~0.5 ~0.5 if block ~ ~ ~ brewing_stand unless entity @e[type=marker,distance=..0.1,tag=gm4_brewing_stand,limit=1] run summon marker ~ ~ ~ {Tags:["gm4_brewing_stand"],CustomName:'"gm4_brewing_stand"'}
-execute if score $found gm4_count matches 0 store success score $found gm4_count align xyz positioned ~0.5 ~0.5 ~1.5 if block ~ ~ ~ brewing_stand unless entity @e[type=marker,distance=..0.1,tag=gm4_brewing_stand,limit=1] run summon marker ~ ~ ~ {Tags:["gm4_brewing_stand"],CustomName:'"gm4_brewing_stand"'}
-execute if score $found gm4_count matches 0 store success score $found gm4_count align xyz positioned ~0.5 ~0.5 ~-0.5 if block ~ ~ ~ brewing_stand unless entity @e[type=marker,distance=..0.1,tag=gm4_brewing_stand,limit=1] run summon marker ~ ~ ~ {Tags:["gm4_brewing_stand"],CustomName:'"gm4_brewing_stand"'}
-
-# move forward
-scoreboard players remove $ray gm4_count 1
-tp @s ^ ^ ^0.01
-execute if score $ray gm4_count matches 0..500 at @s unless score $found gm4_count matches 1 run function gm4_brewing:ray_backup
diff --git a/lib_custom_crafters/beet.yaml b/lib_custom_crafters/beet.yaml
index a063786909..30a52d3475 100644
--- a/lib_custom_crafters/beet.yaml
+++ b/lib_custom_crafters/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_custom_crafters
name: Gamemode 4 Custom Crafters
-version: 3.3.X
+version: 3.4.X
description: A dropper-based custom crafter for custom item crafting purposes.
data_pack:
@@ -33,8 +33,8 @@ meta:
gm4:
versioning:
required:
- lib_machines: 1.3.0
- lib_forceload: 1.4.0
+ lib_machines: 1.4.0
+ lib_forceload: 1.5.0
schedule_loops: [main]
extra_version_injections:
functions:
diff --git a/lib_custom_crafters/data/gm4/recipe/custom_crafter.json b/lib_custom_crafters/data/gm4/recipe/custom_crafter.json
index ff77b40436..7da5b56dfb 100644
--- a/lib_custom_crafters/data/gm4/recipe/custom_crafter.json
+++ b/lib_custom_crafters/data/gm4/recipe/custom_crafter.json
@@ -19,7 +19,7 @@
"minecraft:custom_model_data": "gm4_custom_crafters:item/custom_crafter",
"minecraft:profile": "$gm4_custom_crafters:custom_crafter",
"minecraft:custom_data": "{gm4_machines:{id:'custom_crafter'}}",
- "minecraft:custom_name": "{\"translate\":\"block.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"color\":\"white\",\"italic\":false}"
+ "minecraft:custom_name": {"translate":"block.gm4.custom_crafter","fallback":"Custom Crafter","color":"white","italic":false}
}
}
}
diff --git a/lib_custom_crafters/data/gm4_custom_crafters/function/load.mcfunction b/lib_custom_crafters/data/gm4_custom_crafters/function/load.mcfunction
index 42eb8bb8a8..720a16fe17 100644
--- a/lib_custom_crafters/data/gm4_custom_crafters/function/load.mcfunction
+++ b/lib_custom_crafters/data/gm4_custom_crafters/function/load.mcfunction
@@ -2,9 +2,3 @@ scoreboard objectives add gm4_crafting dummy
scoreboard objectives add gm4_count dummy
schedule function gm4_custom_crafters:main 1t
-
-# NOTE remove in 1.21 update
-execute if entity @e[type=armor_stand,tag=gm4_custom_crafter_stand] run scoreboard players set custom_crafters gm4_earliest_version 300000
- # since libraries have no persistent data prior to 1.20, this is needed to differentiate a fresh install from an world that had seen an earlier CC version
-
-
diff --git a/lib_custom_crafters/data/gm4_custom_crafters/function/machine/craft_in_place/create.mcfunction b/lib_custom_crafters/data/gm4_custom_crafters/function/machine/craft_in_place/create.mcfunction
index 01ac813862..05551ff4fa 100644
--- a/lib_custom_crafters/data/gm4_custom_crafters/function/machine/craft_in_place/create.mcfunction
+++ b/lib_custom_crafters/data/gm4_custom_crafters/function/machine/craft_in_place/create.mcfunction
@@ -1,7 +1,7 @@
# creates the custom crafter in a dropper
# @s = player who opened the dropper while holding a crafting table
-# located at the center of the opened dropper
-# run from gm4_custom_crafters:machine/craft_in_place/player_used_item
+# located at align xyz of the dropper
+# run from gm4_custom_crafters:machine/craft_in_place/find_dropper
# get rotation of original dropper
execute if block ~ ~ ~ dropper[facing=down] run scoreboard players set $rotation gm4_machine_data 1
@@ -18,5 +18,5 @@ setblock ~ ~ ~ air
clear @s[gamemode=!creative,gamemode=!spectator] crafting_table 1
# create custom crafter
-function gm4_custom_crafters:machine/create
+execute positioned ~.5 ~.5 ~.5 run function gm4_custom_crafters:machine/create
advancement grant @s only gm4:custom_crafters
diff --git a/lib_custom_crafters/data/gm4_custom_crafters/function/machine/craft_in_place/find_dropper.mcfunction b/lib_custom_crafters/data/gm4_custom_crafters/function/machine/craft_in_place/find_dropper.mcfunction
new file mode 100644
index 0000000000..854e67cfe7
--- /dev/null
+++ b/lib_custom_crafters/data/gm4_custom_crafters/function/machine/craft_in_place/find_dropper.mcfunction
@@ -0,0 +1,12 @@
+# raycast to find the dropper
+# @s = marker ray
+# located ^ ^ ^0.X, X = number of iterations
+# run from gm4_custom_crafters:machine/craft_in_place/player_used_item
+
+# check if a dropper is present
+# | nested execute is needed as ANY dropper should match this search, but droppers with items in slot 4 or 7 should cancel the creation, not skip to the next raycast depth
+execute if block ~ ~ ~ dropper align xyz unless entity @e[type=marker,tag=gm4_machine_marker,dx=0] run return run execute unless data block ~ ~ ~ Items[{Slot:4b}] unless data block ~ ~ ~ Items[{Slot:7b}] run function gm4_custom_crafters:machine/craft_in_place/create
+
+# advance
+scoreboard players remove $ray gm4_count 1
+execute if score $ray gm4_count matches 0.. positioned ^ ^ ^0.013 run function gm4_custom_crafters:machine/craft_in_place/find_dropper
diff --git a/lib_custom_crafters/data/gm4_custom_crafters/function/machine/craft_in_place/player_used_item.mcfunction b/lib_custom_crafters/data/gm4_custom_crafters/function/machine/craft_in_place/player_used_item.mcfunction
index 02b36debe5..8109f4d0dc 100644
--- a/lib_custom_crafters/data/gm4_custom_crafters/function/machine/craft_in_place/player_used_item.mcfunction
+++ b/lib_custom_crafters/data/gm4_custom_crafters/function/machine/craft_in_place/player_used_item.mcfunction
@@ -6,14 +6,5 @@
advancement revoke @s only gm4_custom_crafters:create_custom_crafter
# raycast to find dropper
-summon marker ~ ~ ~ {Tags:["gm4_machine_ray"]}
-execute anchored eyes positioned ^ ^ ^ anchored feet run tp @e[type=marker,tag=gm4_machine_ray,limit=1] ^ ^ ^ ~ ~
-scoreboard players set $ray gm4_count 0
-execute as @e[type=marker,tag=gm4_machine_ray,limit=1] at @s run function gm4_custom_crafters:machine/craft_in_place/ray
-
-# place custom crafter at location of dropper
-execute at @e[type=marker,tag=gm4_new_machine_marker,limit=1] unless data block ~ ~ ~ Items[{Slot:4b}] unless data block ~ ~ ~ Items[{Slot:7b}] run function gm4_custom_crafters:machine/craft_in_place/create
-
-# clean up
-kill @e[type=marker,tag=gm4_machine_ray]
-kill @e[type=marker,tag=gm4_new_machine_marker,limit=1]
+scoreboard players set $ray gm4_count 500
+execute anchored eyes positioned ^ ^ ^ run function gm4_custom_crafters:machine/craft_in_place/find_dropper
diff --git a/lib_custom_crafters/data/gm4_custom_crafters/function/machine/craft_in_place/ray.mcfunction b/lib_custom_crafters/data/gm4_custom_crafters/function/machine/craft_in_place/ray.mcfunction
deleted file mode 100644
index e26c994720..0000000000
--- a/lib_custom_crafters/data/gm4_custom_crafters/function/machine/craft_in_place/ray.mcfunction
+++ /dev/null
@@ -1,12 +0,0 @@
-# raycast to find the dropper
-# @s = marker ray
-# located ^ ^ ^0.X, X = number of iterations
-# run from gm4_custom_crafters:machine/craft_in_place/player_used_item
-
-# check blocks around the marker ray
-scoreboard players set $found gm4_count 0
-execute store success score $found gm4_count if block ~ ~ ~ dropper align xyz positioned ~0.5 ~0.5 ~0.5 unless entity @e[type=marker,tag=gm4_machine_marker,distance=..0.1] run summon marker ~ ~ ~ {Tags:["gm4_machine_marker","gm4_new_machine_marker"]}
-
-# move forward
-scoreboard players add $ray gm4_count 1
-execute if score $ray gm4_count matches 0..50 unless score $found gm4_count matches 1 positioned ^ ^ ^0.1 run function gm4_custom_crafters:machine/craft_in_place/ray
diff --git a/lib_custom_crafters/data/gm4_custom_crafters/function/machine/rotate/down.mcfunction b/lib_custom_crafters/data/gm4_custom_crafters/function/machine/rotate/down.mcfunction
index 39a6494453..6f0bade7bf 100644
--- a/lib_custom_crafters/data/gm4_custom_crafters/function/machine/rotate/down.mcfunction
+++ b/lib_custom_crafters/data/gm4_custom_crafters/function/machine/rotate/down.mcfunction
@@ -4,8 +4,8 @@
# run from gm4_custom_crafters:machine/create
# place dropper
-setblock ~ ~ ~ dropper[facing=down]{CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.custom_crafter","fallback":"Custom Crafter"},[{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.custom_crafter","fallback":"Custom Crafter","font":"gm4:half_invert"},{"translate":"container.gm4.custom_crafter","fallback":"Custom Crafter","font":"gm4:offscreen"},{"translate":"gui.gm4.custom_crafter","fallback":"","font":"gm4:container_gui","color":"white"},{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.custom_crafter","fallback":"Custom Crafter","font":"gm4:half_invert"},{"translate":"container.gm4.custom_crafter","fallback":"Custom Crafter","font":"gm4:default","color":"#404040"}]]}'}
+setblock ~ ~ ~ dropper[facing=down]{CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.custom_crafter","fallback":"Custom Crafter"},[{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.custom_crafter","fallback":"Custom Crafter","font":"gm4:half_invert"},{"translate":"container.gm4.custom_crafter","fallback":"Custom Crafter","font":"gm4:offscreen"},{"translate":"gui.gm4.custom_crafter","fallback":"","font":"gm4:container_gui","color":"white"},{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.custom_crafter","fallback":"Custom Crafter","font":"gm4:half_invert"},{"translate":"container.gm4.custom_crafter","fallback":"Custom Crafter","font":"gm4:default","color":"#404040"}]]}}
# summon display and marker entity
-summon item_display ~ ~0.5 ~ {Tags:["gm4_no_edit","gm4_custom_crafter_display","gm4_machine_display","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_custom_crafter_display"',item:{id:"crafting_table",count:1,components:{"minecraft:custom_model_data":"block/custom_crafter_down"}},item_display:head,brightness:{sky:15,block:15},Rotation:[180.0f,0.0f],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0.001f,0f],scale:[0.438,0.438,0.438]}}
-summon marker ~ ~ ~ {Tags:["gm4_custom_crafter","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_custom_crafter"',Rotation:[180.0f,0.0f]}
+summon item_display ~ ~0.5 ~ {Tags:["gm4_no_edit","gm4_custom_crafter_display","gm4_machine_display","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:"gm4_custom_crafter_display",item:{id:"crafting_table",count:1,components:{"minecraft:custom_model_data":"block/custom_crafter_down"}},item_display:head,brightness:{sky:15,block:15},Rotation:[180.0f,0.0f],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0.001f,0f],scale:[0.438,0.438,0.438]}}
+summon marker ~ ~ ~ {Tags:["gm4_custom_crafter","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:"gm4_custom_crafter",Rotation:[180.0f,0.0f]}
diff --git a/lib_custom_crafters/data/gm4_custom_crafters/function/machine/rotate/east.mcfunction b/lib_custom_crafters/data/gm4_custom_crafters/function/machine/rotate/east.mcfunction
index abda9559a0..d1b07727b4 100644
--- a/lib_custom_crafters/data/gm4_custom_crafters/function/machine/rotate/east.mcfunction
+++ b/lib_custom_crafters/data/gm4_custom_crafters/function/machine/rotate/east.mcfunction
@@ -4,8 +4,8 @@
# run from gm4_custom_crafters:machine/create
# place dropper
-setblock ~ ~ ~ dropper[facing=east]{CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.custom_crafter","fallback":"Custom Crafter"},[{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.custom_crafter","fallback":"Custom Crafter","font":"gm4:half_invert"},{"translate":"container.gm4.custom_crafter","fallback":"Custom Crafter","font":"gm4:offscreen"},{"translate":"gui.gm4.custom_crafter","fallback":"","font":"gm4:container_gui","color":"white"},{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.custom_crafter","fallback":"Custom Crafter","font":"gm4:half_invert"},{"translate":"container.gm4.custom_crafter","fallback":"Custom Crafter","font":"gm4:default","color":"#404040"}]]}'}
+setblock ~ ~ ~ dropper[facing=east]{CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.custom_crafter","fallback":"Custom Crafter"},[{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.custom_crafter","fallback":"Custom Crafter","font":"gm4:half_invert"},{"translate":"container.gm4.custom_crafter","fallback":"Custom Crafter","font":"gm4:offscreen"},{"translate":"gui.gm4.custom_crafter","fallback":"","font":"gm4:container_gui","color":"white"},{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.custom_crafter","fallback":"Custom Crafter","font":"gm4:half_invert"},{"translate":"container.gm4.custom_crafter","fallback":"Custom Crafter","font":"gm4:default","color":"#404040"}]]}}
# summon display and marker entity
-summon item_display ~ ~0.5 ~ {Tags:["gm4_no_edit","gm4_custom_crafter_display","gm4_machine_display","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_custom_crafter_display"',item:{id:"crafting_table",count:1,components:{"minecraft:custom_model_data":"block/custom_crafter_side"}},item_display:head,brightness:{sky:15,block:15},Rotation:[-90.0f,0.0f],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0.001f,0f],scale:[0.438,0.438,0.438]}}
-summon marker ~ ~ ~ {Tags:["gm4_custom_crafter","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_custom_crafter"',Rotation:[-90.0f,0.0f]}
+summon item_display ~ ~0.5 ~ {Tags:["gm4_no_edit","gm4_custom_crafter_display","gm4_machine_display","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:"gm4_custom_crafter_display",item:{id:"crafting_table",count:1,components:{"minecraft:custom_model_data":"block/custom_crafter_side"}},item_display:head,brightness:{sky:15,block:15},Rotation:[-90.0f,0.0f],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0.001f,0f],scale:[0.438,0.438,0.438]}}
+summon marker ~ ~ ~ {Tags:["gm4_custom_crafter","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:"gm4_custom_crafter",Rotation:[-90.0f,0.0f]}
diff --git a/lib_custom_crafters/data/gm4_custom_crafters/function/machine/rotate/north.mcfunction b/lib_custom_crafters/data/gm4_custom_crafters/function/machine/rotate/north.mcfunction
index 8a3fbf93f2..daa99a0d47 100644
--- a/lib_custom_crafters/data/gm4_custom_crafters/function/machine/rotate/north.mcfunction
+++ b/lib_custom_crafters/data/gm4_custom_crafters/function/machine/rotate/north.mcfunction
@@ -4,8 +4,8 @@
# run from gm4_custom_crafters:machine/create
# place dropper
-setblock ~ ~ ~ dropper[facing=north]{CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.custom_crafter","fallback":"Custom Crafter"},[{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.custom_crafter","fallback":"Custom Crafter","font":"gm4:half_invert"},{"translate":"container.gm4.custom_crafter","fallback":"Custom Crafter","font":"gm4:offscreen"},{"translate":"gui.gm4.custom_crafter","fallback":"","font":"gm4:container_gui","color":"white"},{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.custom_crafter","fallback":"Custom Crafter","font":"gm4:half_invert"},{"translate":"container.gm4.custom_crafter","fallback":"Custom Crafter","font":"gm4:default","color":"#404040"}]]}'}
+setblock ~ ~ ~ dropper[facing=north]{CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.custom_crafter","fallback":"Custom Crafter"},[{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.custom_crafter","fallback":"Custom Crafter","font":"gm4:half_invert"},{"translate":"container.gm4.custom_crafter","fallback":"Custom Crafter","font":"gm4:offscreen"},{"translate":"gui.gm4.custom_crafter","fallback":"","font":"gm4:container_gui","color":"white"},{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.custom_crafter","fallback":"Custom Crafter","font":"gm4:half_invert"},{"translate":"container.gm4.custom_crafter","fallback":"Custom Crafter","font":"gm4:default","color":"#404040"}]]}}
# summon display and marker entity
-summon item_display ~ ~0.5 ~ {Tags:["gm4_no_edit","gm4_custom_crafter_display","gm4_machine_display","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_custom_crafter_display"',item:{id:"crafting_table",count:1,components:{"minecraft:custom_model_data":"block/custom_crafter_side"}},item_display:head,brightness:{sky:15,block:15},Rotation:[180.0f,0.0f],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0.001f,0f],scale:[0.438,0.438,0.438]}}
-summon marker ~ ~ ~ {Tags:["gm4_custom_crafter","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_custom_crafter"',Rotation:[180.0f,0.0f]}
+summon item_display ~ ~0.5 ~ {Tags:["gm4_no_edit","gm4_custom_crafter_display","gm4_machine_display","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:"gm4_custom_crafter_display",item:{id:"crafting_table",count:1,components:{"minecraft:custom_model_data":"block/custom_crafter_side"}},item_display:head,brightness:{sky:15,block:15},Rotation:[180.0f,0.0f],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0.001f,0f],scale:[0.438,0.438,0.438]}}
+summon marker ~ ~ ~ {Tags:["gm4_custom_crafter","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:"gm4_custom_crafter",Rotation:[180.0f,0.0f]}
diff --git a/lib_custom_crafters/data/gm4_custom_crafters/function/machine/rotate/south.mcfunction b/lib_custom_crafters/data/gm4_custom_crafters/function/machine/rotate/south.mcfunction
index 9c8fbd605d..3f27c572b2 100644
--- a/lib_custom_crafters/data/gm4_custom_crafters/function/machine/rotate/south.mcfunction
+++ b/lib_custom_crafters/data/gm4_custom_crafters/function/machine/rotate/south.mcfunction
@@ -4,8 +4,8 @@
# run from gm4_custom_crafters:machine/create
# place dropper
-setblock ~ ~ ~ dropper[facing=south]{CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.custom_crafter","fallback":"Custom Crafter"},[{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.custom_crafter","fallback":"Custom Crafter","font":"gm4:half_invert"},{"translate":"container.gm4.custom_crafter","fallback":"Custom Crafter","font":"gm4:offscreen"},{"translate":"gui.gm4.custom_crafter","fallback":"","font":"gm4:container_gui","color":"white"},{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.custom_crafter","fallback":"Custom Crafter","font":"gm4:half_invert"},{"translate":"container.gm4.custom_crafter","fallback":"Custom Crafter","font":"gm4:default","color":"#404040"}]]}'}
+setblock ~ ~ ~ dropper[facing=south]{CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.custom_crafter","fallback":"Custom Crafter"},[{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.custom_crafter","fallback":"Custom Crafter","font":"gm4:half_invert"},{"translate":"container.gm4.custom_crafter","fallback":"Custom Crafter","font":"gm4:offscreen"},{"translate":"gui.gm4.custom_crafter","fallback":"","font":"gm4:container_gui","color":"white"},{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.custom_crafter","fallback":"Custom Crafter","font":"gm4:half_invert"},{"translate":"container.gm4.custom_crafter","fallback":"Custom Crafter","font":"gm4:default","color":"#404040"}]]}}
# summon display and marker entity
-summon item_display ~ ~0.5 ~ {Tags:["gm4_no_edit","gm4_custom_crafter_display","gm4_machine_display","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_custom_crafter_display"',item:{id:"crafting_table",count:1,components:{"minecraft:custom_model_data":"block/custom_crafter_side"}},item_display:head,brightness:{sky:15,block:15},Rotation:[0.0f,0.0f],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0.001f,0f],scale:[0.438,0.438,0.438]}}
-summon marker ~ ~ ~ {Tags:["gm4_custom_crafter","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_custom_crafter"',Rotation:[0.0f,0.0f]}
+summon item_display ~ ~0.5 ~ {Tags:["gm4_no_edit","gm4_custom_crafter_display","gm4_machine_display","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:"gm4_custom_crafter_display",item:{id:"crafting_table",count:1,components:{"minecraft:custom_model_data":"block/custom_crafter_side"}},item_display:head,brightness:{sky:15,block:15},Rotation:[0.0f,0.0f],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0.001f,0f],scale:[0.438,0.438,0.438]}}
+summon marker ~ ~ ~ {Tags:["gm4_custom_crafter","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:"gm4_custom_crafter",Rotation:[0.0f,0.0f]}
diff --git a/lib_custom_crafters/data/gm4_custom_crafters/function/machine/rotate/up.mcfunction b/lib_custom_crafters/data/gm4_custom_crafters/function/machine/rotate/up.mcfunction
index a6ecb9f184..fa41cd8b58 100644
--- a/lib_custom_crafters/data/gm4_custom_crafters/function/machine/rotate/up.mcfunction
+++ b/lib_custom_crafters/data/gm4_custom_crafters/function/machine/rotate/up.mcfunction
@@ -4,8 +4,8 @@
# run from gm4_custom_crafters:machine/create
# place dropper
-setblock ~ ~ ~ dropper[facing=up]{CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.custom_crafter","fallback":"Custom Crafter"},[{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.custom_crafter","fallback":"Custom Crafter","font":"gm4:half_invert"},{"translate":"container.gm4.custom_crafter","fallback":"Custom Crafter","font":"gm4:offscreen"},{"translate":"gui.gm4.custom_crafter","fallback":"","font":"gm4:container_gui","color":"white"},{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.custom_crafter","fallback":"Custom Crafter","font":"gm4:half_invert"},{"translate":"container.gm4.custom_crafter","fallback":"Custom Crafter","font":"gm4:default","color":"#404040"}]]}'}
+setblock ~ ~ ~ dropper[facing=up]{CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.custom_crafter","fallback":"Custom Crafter"},[{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.custom_crafter","fallback":"Custom Crafter","font":"gm4:half_invert"},{"translate":"container.gm4.custom_crafter","fallback":"Custom Crafter","font":"gm4:offscreen"},{"translate":"gui.gm4.custom_crafter","fallback":"","font":"gm4:container_gui","color":"white"},{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.custom_crafter","fallback":"Custom Crafter","font":"gm4:half_invert"},{"translate":"container.gm4.custom_crafter","fallback":"Custom Crafter","font":"gm4:default","color":"#404040"}]]}}
# summon display and marker entity
-summon item_display ~ ~0.5 ~ {Tags:["gm4_no_edit","gm4_custom_crafter_display","gm4_machine_display","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_custom_crafter_display"',item:{id:"crafting_table",count:1,components:{"minecraft:custom_model_data":"block/custom_crafter"}},item_display:head,brightness:{sky:15,block:15},Rotation:[0.0f,0.0f],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0.001f,0f],scale:[0.438,0.438,0.438]}}
-summon marker ~ ~ ~ {Tags:["gm4_custom_crafter","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_custom_crafter"',Rotation:[0.0f,0.0f]}
+summon item_display ~ ~0.5 ~ {Tags:["gm4_no_edit","gm4_custom_crafter_display","gm4_machine_display","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:"gm4_custom_crafter_display",item:{id:"crafting_table",count:1,components:{"minecraft:custom_model_data":"block/custom_crafter"}},item_display:head,brightness:{sky:15,block:15},Rotation:[0.0f,0.0f],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0.001f,0f],scale:[0.438,0.438,0.438]}}
+summon marker ~ ~ ~ {Tags:["gm4_custom_crafter","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:"gm4_custom_crafter",Rotation:[0.0f,0.0f]}
diff --git a/lib_custom_crafters/data/gm4_custom_crafters/function/machine/rotate/west.mcfunction b/lib_custom_crafters/data/gm4_custom_crafters/function/machine/rotate/west.mcfunction
index 0697567b04..e9fcb80550 100644
--- a/lib_custom_crafters/data/gm4_custom_crafters/function/machine/rotate/west.mcfunction
+++ b/lib_custom_crafters/data/gm4_custom_crafters/function/machine/rotate/west.mcfunction
@@ -4,8 +4,8 @@
# run from gm4_custom_crafters:machine/create
# place dropper
-setblock ~ ~ ~ dropper[facing=west]{CustomName:'{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.custom_crafter","fallback":"Custom Crafter"},[{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.custom_crafter","fallback":"Custom Crafter","font":"gm4:half_invert"},{"translate":"container.gm4.custom_crafter","fallback":"Custom Crafter","font":"gm4:offscreen"},{"translate":"gui.gm4.custom_crafter","fallback":"","font":"gm4:container_gui","color":"white"},{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.custom_crafter","fallback":"Custom Crafter","font":"gm4:half_invert"},{"translate":"container.gm4.custom_crafter","fallback":"Custom Crafter","font":"gm4:default","color":"#404040"}]]}'}
+setblock ~ ~ ~ dropper[facing=west]{CustomName:{"translate":"gm4.second","fallback":"%1$s","with":[{"translate":"container.gm4.custom_crafter","fallback":"Custom Crafter"},[{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.custom_crafter","fallback":"Custom Crafter","font":"gm4:half_invert"},{"translate":"container.gm4.custom_crafter","fallback":"Custom Crafter","font":"gm4:offscreen"},{"translate":"gui.gm4.custom_crafter","fallback":"","font":"gm4:container_gui","color":"white"},{"text":" ","font":"gm4:half_invert"},{"translate":"container.gm4.custom_crafter","fallback":"Custom Crafter","font":"gm4:half_invert"},{"translate":"container.gm4.custom_crafter","fallback":"Custom Crafter","font":"gm4:default","color":"#404040"}]]}}
# summon display and marker entity
-summon item_display ~ ~0.5 ~ {Tags:["gm4_no_edit","gm4_custom_crafter_display","gm4_machine_display","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_custom_crafter_display"',item:{id:"crafting_table",count:1,components:{"minecraft:custom_model_data":"block/custom_crafter_side"}},item_display:head,brightness:{sky:15,block:15},Rotation:[90.0f,0.0f],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0.001f,0f],scale:[0.438,0.438,0.438]}}
-summon marker ~ ~ ~ {Tags:["gm4_custom_crafter","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_custom_crafter"',Rotation:[90.0f,0.0f]}
+summon item_display ~ ~0.5 ~ {Tags:["gm4_no_edit","gm4_custom_crafter_display","gm4_machine_display","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:"gm4_custom_crafter_display",item:{id:"crafting_table",count:1,components:{"minecraft:custom_model_data":"block/custom_crafter_side"}},item_display:head,brightness:{sky:15,block:15},Rotation:[90.0f,0.0f],transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0.001f,0f],scale:[0.438,0.438,0.438]}}
+summon marker ~ ~ ~ {Tags:["gm4_custom_crafter","gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:"gm4_custom_crafter",Rotation:[90.0f,0.0f]}
diff --git a/lib_custom_crafters/data/gm4_custom_crafters/function/upgrade_paths/3.1.mcfunction b/lib_custom_crafters/data/gm4_custom_crafters/function/upgrade_paths/3.1.mcfunction
index 70bf2823c9..bd24e02a21 100644
--- a/lib_custom_crafters/data/gm4_custom_crafters/function/upgrade_paths/3.1.mcfunction
+++ b/lib_custom_crafters/data/gm4_custom_crafters/function/upgrade_paths/3.1.mcfunction
@@ -1,9 +1,9 @@
-execute as @e[type=armor_stand,tag=gm4_custom_crafter_stand,nbt={ArmorItems:[{},{},{},{id:"minecraft:crafting_table",count:1,components:{"minecraft:custom_model_data":3420001}}]}] at @s align y run summon item_display ~ ~1.0 ~ {Tags:["gm4_no_edit","gm4_custom_crafter_display","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_custom_crafter_stand"',item:{id:"crafting_table",count:1,components:{"minecraft:custom_model_data":"block/custom_crafter"}},Rotation:[0.0f,0.0f],item_display:head,transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0.001f,0f],scale:[0.438,0.438,0.438]}}
-execute as @e[type=armor_stand,tag=gm4_custom_crafter_stand,nbt={ArmorItems:[{},{},{},{id:"minecraft:crafting_table",count:1,components:{"minecraft:custom_model_data":3420007}}]}] at @s align y run summon item_display ~ ~1.0 ~ {Tags:["gm4_no_edit","gm4_custom_crafter_display","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_custom_crafter_stand"',item:{id:"crafting_table",count:1,components:{"minecraft:custom_model_data":"block/custom_crafter_down"}},Rotation:[180.0f,0.0f],item_display:head,transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0.001f,0f],scale:[0.438,0.438,0.438]}}
+execute as @e[type=armor_stand,tag=gm4_custom_crafter_stand,nbt={equipment:{head:{id:"minecraft:crafting_table",count:1,components:{"minecraft:custom_model_data":{floats:[3420001F]}}}}}] at @s align y run summon item_display ~ ~1.0 ~ {Tags:["gm4_no_edit","gm4_custom_crafter_display","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:"gm4_custom_crafter_stand",item:{id:"crafting_table",count:1,components:{"minecraft:custom_model_data":"block/custom_crafter"}},Rotation:[0.0f,0.0f],item_display:head,transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0.001f,0f],scale:[0.438,0.438,0.438]}}
+execute as @e[type=armor_stand,tag=gm4_custom_crafter_stand,nbt={equipment:{head:{id:"minecraft:crafting_table",count:1,components:{"minecraft:custom_model_data":{floats:[3420007F]}}}}}] at @s align y run summon item_display ~ ~1.0 ~ {Tags:["gm4_no_edit","gm4_custom_crafter_display","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:"gm4_custom_crafter_stand",item:{id:"crafting_table",count:1,components:{"minecraft:custom_model_data":"block/custom_crafter_down"}},Rotation:[180.0f,0.0f],item_display:head,transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0.001f,0f],scale:[0.438,0.438,0.438]}}
-execute as @e[type=armor_stand,tag=gm4_custom_crafter_stand,y_rotation=-90,nbt={ArmorItems:[{},{},{},{id:"minecraft:crafting_table",count:1,components:{"minecraft:custom_model_data":3420006}}]}] at @s align y run summon item_display ~ ~1.0 ~ {Tags:["gm4_no_edit","gm4_custom_crafter_display","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_custom_crafter_stand"',item:{id:"crafting_table",count:1,components:{"minecraft:custom_model_data":"block/custom_crafter_side"}},Rotation:[-90.0f,0.0f],item_display:head,transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0.001f,0f],scale:[0.438,0.438,0.438]}}
-execute as @e[type=armor_stand,tag=gm4_custom_crafter_stand,y_rotation=180,nbt={ArmorItems:[{},{},{},{id:"minecraft:crafting_table",count:1,components:{"minecraft:custom_model_data":3420006}}]}] at @s align y run summon item_display ~ ~1.0 ~ {Tags:["gm4_no_edit","gm4_custom_crafter_display","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_custom_crafter_stand"',item:{id:"crafting_table",count:1,components:{"minecraft:custom_model_data":"block/custom_crafter_side"}},Rotation:[180.0f,0.0f],item_display:head,transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0.001f,0f],scale:[0.438,0.438,0.438]}}
-execute as @e[type=armor_stand,tag=gm4_custom_crafter_stand,y_rotation=0,nbt={ArmorItems:[{},{},{},{id:"minecraft:crafting_table",count:1,components:{"minecraft:custom_model_data":3420006}}]}] at @s align y run summon item_display ~ ~1.0 ~ {Tags:["gm4_no_edit","gm4_custom_crafter_display","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_custom_crafter_stand"',item:{id:"crafting_table",count:1,components:{"minecraft:custom_model_data":"block/custom_crafter_side"}},Rotation:[0.0f,0.0f],item_display:head,transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0.001f,0f],scale:[0.438,0.438,0.438]}}
-execute as @e[type=armor_stand,tag=gm4_custom_crafter_stand,y_rotation=90,nbt={ArmorItems:[{},{},{},{id:"minecraft:crafting_table",count:1,components:{"minecraft:custom_model_data":3420006}}]}] at @s align y run summon item_display ~ ~1.0 ~ {Tags:["gm4_no_edit","gm4_custom_crafter_display","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:'"gm4_custom_crafter_stand"',item:{id:"crafting_table",count:1,components:{"minecraft:custom_model_data":"block/custom_crafter_side"}},Rotation:[90.0f,0.0f],item_display:head,transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0.001f,0f],scale:[0.438,0.438,0.438]}}
+execute as @e[type=armor_stand,tag=gm4_custom_crafter_stand,y_rotation=-90,nbt={equipment:{head:{id:"minecraft:crafting_table",count:1,components:{"minecraft:custom_model_data":{floats:[3420006F]}}}}}] at @s align y run summon item_display ~ ~1.0 ~ {Tags:["gm4_no_edit","gm4_custom_crafter_display","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:"gm4_custom_crafter_stand",item:{id:"crafting_table",count:1,components:{"minecraft:custom_model_data":"block/custom_crafter_side"}},Rotation:[-90.0f,0.0f],item_display:head,transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0.001f,0f],scale:[0.438,0.438,0.438]}}
+execute as @e[type=armor_stand,tag=gm4_custom_crafter_stand,y_rotation=180,nbt={equipment:{head:{id:"minecraft:crafting_table",count:1,components:{"minecraft:custom_model_data":{floats:[3420006F]}}}}}] at @s align y run summon item_display ~ ~1.0 ~ {Tags:["gm4_no_edit","gm4_custom_crafter_display","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:"gm4_custom_crafter_stand",item:{id:"crafting_table",count:1,components:{"minecraft:custom_model_data":"block/custom_crafter_side"}},Rotation:[180.0f,0.0f],item_display:head,transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0.001f,0f],scale:[0.438,0.438,0.438]}}
+execute as @e[type=armor_stand,tag=gm4_custom_crafter_stand,y_rotation=0,nbt={equipment:{head:{id:"minecraft:crafting_table",count:1,components:{"minecraft:custom_model_data":{floats:[3420006F]}}}}}] at @s align y run summon item_display ~ ~1.0 ~ {Tags:["gm4_no_edit","gm4_custom_crafter_display","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:"gm4_custom_crafter_stand",item:{id:"crafting_table",count:1,components:{"minecraft:custom_model_data":"block/custom_crafter_side"}},Rotation:[0.0f,0.0f],item_display:head,transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0.001f,0f],scale:[0.438,0.438,0.438]}}
+execute as @e[type=armor_stand,tag=gm4_custom_crafter_stand,y_rotation=90,nbt={equipment:{head:{id:"minecraft:crafting_table",count:1,components:{"minecraft:custom_model_data":{floats:[3420006F]}}}}}] at @s align y run summon item_display ~ ~1.0 ~ {Tags:["gm4_no_edit","gm4_custom_crafter_display","gm4_machine_stand","smithed.entity","smithed.strict","gm4_new_machine"],CustomName:"gm4_custom_crafter_stand",item:{id:"crafting_table",count:1,components:{"minecraft:custom_model_data":"block/custom_crafter_side"}},Rotation:[90.0f,0.0f],item_display:head,transformation:{left_rotation:[0f,0f,0f,1f],right_rotation:[0f,0f,0f,1f],translation:[0f,0.001f,0f],scale:[0.438,0.438,0.438]}}
execute as @e[type=armor_stand,tag=gm4_custom_crafter_stand] at @s align xyz if entity @e[type=item_display,tag=gm4_custom_crafter_display,dy=0.001] run kill @s
diff --git a/lib_custom_crafters/data/gm4_custom_crafters/guidebook/custom_crafters.json b/lib_custom_crafters/data/gm4_custom_crafters/guidebook/custom_crafters.json
index 632455c30b..09d91e02e5 100644
--- a/lib_custom_crafters/data/gm4_custom_crafters/guidebook/custom_crafters.json
+++ b/lib_custom_crafters/data/gm4_custom_crafters/guidebook/custom_crafters.json
@@ -62,7 +62,7 @@
"blocks": [
"minecraft:dropper"
],
- "nbt": "{CustomName:'{\"translate\":\"gm4.second\",\"fallback\":\"%1$s\",\"with\":[{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\"},{\"text\":\" \",\"extra\":[{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:offscreen\"},{\"translate\":\"gui.gm4.custom_crafter\",\"fallback\":\"\",\"font\":\"gm4:container_gui\",\"color\":\"white\"},{\"text\":\" \",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:default\",\"color\":\"#404040\"}],\"font\":\"gm4:half_invert\"}]}'}"
+ "nbt": "{CustomName:{\"translate\":\"gm4.second\",\"fallback\":\"%1$s\",\"with\":[{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\"},{\"text\":\" \",\"extra\":[{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:offscreen\"},{\"translate\":\"gui.gm4.custom_crafter\",\"fallback\":\"\",\"font\":\"gm4:container_gui\",\"color\":\"white\"},{\"text\":\" \",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:half_invert\"},{\"translate\":\"container.gm4.custom_crafter\",\"fallback\":\"Custom Crafter\",\"font\":\"gm4:default\",\"color\":\"#404040\"}],\"font\":\"gm4:half_invert\"}]}}"
}
}
}
diff --git a/lib_custom_crafters/generate_item_tags.py b/lib_custom_crafters/generate_item_tags.py
index 4d43eb5e1b..d3bfbab00f 100644
--- a/lib_custom_crafters/generate_item_tags.py
+++ b/lib_custom_crafters/generate_item_tags.py
@@ -4,13 +4,11 @@
def beet_default(ctx: Context):
"""Creates a predicate for every vanilla item tag and a function checking all of these predicates."""
vanilla = ctx.inject(Vanilla)
- # Intentionally left at 1.21.3, not supporting new crafting recipes
- vanilla.minecraft_version = '1.21.3'
+ vanilla.minecraft_version = '1.21.5'
item_tags = vanilla.data.item_tags
item_tags = [
id.removeprefix("minecraft:")
for id in item_tags
- if id not in ("minecraft:flowers", "minecraft:tall_flowers", "minecraft:trim_templates")
]
for id in item_tags:
diff --git a/lib_forceload/README.md b/lib_forceload/README.md
index 55ce63b415..2cec526c7c 100644
--- a/lib_forceload/README.md
+++ b/lib_forceload/README.md
@@ -23,7 +23,7 @@ Every dimension gets a `birch_wall_sign` placed at `29999998 1 7133`. This can b
example:
```
-data modify block 29999998 1 7133 front_text.messages[0] set value '[{"text": "killed by "},{"storage":"my_storage:register", "nbt":"my_text.name"}]'
+data modify block 29999998 1 7133 front_text.messages[0] set value [{"text": "killed by "},{"storage":"my_storage:register", "nbt":"my_text.name"}]
data modify entity @s CustomName set from block ~ ~ ~ front_text.messages[0]
```
diff --git a/lib_forceload/beet.yaml b/lib_forceload/beet.yaml
index ed626b3293..e6a45ce947 100644
--- a/lib_forceload/beet.yaml
+++ b/lib_forceload/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_forceload
name: Gamemode 4 Forceload
-version: 1.4.X
+version: 1.5.X
description: lib_forceload is a mcfunction library adding a forceloaded chunk with common utlities.
data_pack:
diff --git a/lib_forceload/data/gm4_forceload/function/init_ow_chunk.mcfunction b/lib_forceload/data/gm4_forceload/function/init_ow_chunk.mcfunction
index 16f28cc9e9..98735a71d4 100644
--- a/lib_forceload/data/gm4_forceload/function/init_ow_chunk.mcfunction
+++ b/lib_forceload/data/gm4_forceload/function/init_ow_chunk.mcfunction
@@ -3,7 +3,7 @@
function gm4_forceload:init_chunk
setblock 29999998 1 7131 minecraft:repeating_command_block{auto:1b,Command:"function #gm4_forceload:command_block_tick"}
-summon armor_stand 29999999 0 7135 {UUID:[I;3427655,262148,262159,80613453],Invulnerable:1b,Invisible:1b,Marker:1b,Tags:["smithed.entity","smithed.strict"],CustomName:'"lib_forceload_armorstand"'}
+summon armor_stand 29999999 0 7135 {UUID:[I;3427655,262148,262159,80613453],Invulnerable:1b,Invisible:1b,Marker:1b,Tags:["smithed.entity","smithed.strict"],CustomName:"lib_forceload_armorstand"}
#alias uuid lib_forceload_armorstand 344d47-4-4-4-f04ce104d
scoreboard players add #max gm4_dimension 1
diff --git a/lib_forceload/data/gm4_forceload/function/load.mcfunction b/lib_forceload/data/gm4_forceload/function/load.mcfunction
index 13f75953c0..170e07507c 100644
--- a/lib_forceload/data/gm4_forceload/function/load.mcfunction
+++ b/lib_forceload/data/gm4_forceload/function/load.mcfunction
@@ -2,9 +2,6 @@ scoreboard objectives add gm4_dimension dummy
gamerule commandBlockOutput false
execute store success score $initialized gm4_dimension if block 29999998 1 7133 birch_wall_sign
-execute if score $initialized gm4_dimension matches 0 run summon marker ~ 0 ~ {CustomName:'"minecraft:overworld"',Tags:["gm4_dimension","gm4_new_dimension"]}
+execute if score $initialized gm4_dimension matches 0 run summon marker ~ 0 ~ {CustomName:"minecraft:overworld",Tags:["gm4_dimension","gm4_new_dimension"]}
execute if score $initialized gm4_dimension matches 0 as @e[type=marker,tag=gm4_new_dimension,limit=1] run function gm4_forceload:init_ow_chunk
function gm4_forceload:load_wait
-
-# remove this after 1.21: summons new armor stand entity if missing
-execute if loaded 29999998 1 7133 unless entity 344d47-4-4-4-f04ce104d run summon armor_stand 29999999 0 7135 {UUID:[I;3427655,262148,262159,80613453],Invulnerable:1b,Invisible:1b,Marker:1b,Tags:["smithed.entity","smithed.strict"],CustomName:'"lib_forceload_armorstand"'}
diff --git a/lib_forceload/data/gm4_forceload/function/set_marker_data.mcfunction b/lib_forceload/data/gm4_forceload/function/set_marker_data.mcfunction
index 2ca62accaf..3f4cf217d2 100644
--- a/lib_forceload/data/gm4_forceload/function/set_marker_data.mcfunction
+++ b/lib_forceload/data/gm4_forceload/function/set_marker_data.mcfunction
@@ -7,7 +7,7 @@ scoreboard players add #max gm4_dimension 1
scoreboard players operation @s gm4_dimension = #max gm4_dimension
# name
-data modify block 29999998 1 7133 front_text.messages[0] set value '{"nbt": "Dimension", "entity": "@a[tag=gm4_in_new_dimension,limit=1]"}'
+data modify block 29999998 1 7133 front_text.messages[0] set value {"nbt": "Dimension", "entity": "@a[tag=gm4_in_new_dimension,limit=1]"}
data modify entity @s CustomName set from block 29999998 1 7133 front_text.messages[0]
# move to forceloaded chunk
diff --git a/lib_lore/beet.yaml b/lib_lore/beet.yaml
index 3508220310..d22ac41ac7 100644
--- a/lib_lore/beet.yaml
+++ b/lib_lore/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_lore
name: Gamemode 4 Lore
-version: 1.2.X
+version: 1.3.X
description: Allows other datapacks to easily search, remove, insert, and replace lines of lore on items.
data_pack:
diff --git a/lib_lore/example_use/data/gm4_example_pack/functions/insert_examples.mcfunction b/lib_lore/example_use/data/gm4_example_pack/functions/insert_examples.mcfunction
index 8129cc6ce5..e5902f3999 100644
--- a/lib_lore/example_use/data/gm4_example_pack/functions/insert_examples.mcfunction
+++ b/lib_lore/example_use/data/gm4_example_pack/functions/insert_examples.mcfunction
@@ -4,8 +4,8 @@
# set inputs
data modify storage gm4_lore:temp Source set from entity @s SelectedItem.components."minecraft:lore"
-data modify storage gm4_lore:temp Target set value '{"text":"The inserted lines will appear after this line"}'
-data modify storage gm4_lore:temp Input set value ['{"text":"This line will be inserted after the line"}','{"text":"This line will also be inserted after the line"}','{"text":"Same with this line"}']
+data modify storage gm4_lore:temp Target set value {"text":"The inserted lines will appear after this line"}
+data modify storage gm4_lore:temp Input set value [{"text":"This line will be inserted after the line"},{"text":"This line will also be inserted after the line"},{"text":"Same with this line"}]
# run operation
function #gm4_lore:insert
# update player's item with item modifier
@@ -17,8 +17,8 @@ item modify entity @s weapon.mainhand gm4_example_pack:update_player
# set inputs
data modify storage gm4_lore:temp Source set from entity @e[type=item,limit=1,sort=nearest] Item.components."minecraft:lore"
-data modify storage gm4_lore:temp Target set value '{"text":"The inserted lines will appear before this line since start is -1"}'
-data modify storage gm4_lore:temp Input set value ['{"text":"This line will be inserted before the line"}','{"text":"This line will also be inserted, following the previous line (still in front of the TARGET_LINE)"}']
+data modify storage gm4_lore:temp Target set value {"text":"The inserted lines will appear before this line since start is -1"}
+data modify storage gm4_lore:temp Input set value [{"text":"This line will be inserted before the line"},{"text":"This line will also be inserted, following the previous line (still in front of the TARGET_LINE)"}]
scoreboard players set $start gm4_lore -1
# run operation
function #gm4_lore:insert
@@ -30,11 +30,11 @@ data modify entity @e[type=item,limit=1,sort=nearest] Item.components."minecraft
## Inserts Lore in one item, and also transfers them to another item
# set inputs
-summon item ~ ~ ~ {Tags:["item_1"],Item:{components:{"minecraft:lore":['{"text":"TARGET_LINE"}','{"text":"The inserted lines will appear after this line"}','{"text":"The inserted lines will appear before this line"}']}}}
+summon item ~ ~ ~ {Tags:["item_1"],Item:{components:{"minecraft:lore":[{"text":"TARGET_LINE"},{"text":"The inserted lines will appear after this line"},{"text":"The inserted lines will appear before this line"}]}}}
data modify storage gm4_lore:temp Source set from entity @e[type=item,tag=item_1,limit=1] Item.components."minecraft:lore"
-data modify storage gm4_lore:temp Target set value '{"text":"TARGET_LINE"}'
+data modify storage gm4_lore:temp Target set value {"text":"TARGET_LINE"}
scoreboard players set $start gm4_lore 1
-data modify storage gm4_lore:temp Input set value ['{"text":"This line will be inserted"}','{"text":"This line will follow the line before it"}']
+data modify storage gm4_lore:temp Input set value [{"text":"This line will be inserted"},{"text":"This line will follow the line before it"}]
# run operation
function #gm4_lore:insert
# set updated lore into item_1
diff --git a/lib_lore/example_use/data/gm4_example_pack/functions/remove_examples.mcfunction b/lib_lore/example_use/data/gm4_example_pack/functions/remove_examples.mcfunction
index 3b23483f88..8139000270 100644
--- a/lib_lore/example_use/data/gm4_example_pack/functions/remove_examples.mcfunction
+++ b/lib_lore/example_use/data/gm4_example_pack/functions/remove_examples.mcfunction
@@ -4,7 +4,7 @@
# set inputs
data modify storage gm4_lore:temp Source set from entity @s SelectedItem.components."minecraft:lore"
-data modify storage gm4_lore:temp Target set value '{"text":"This line will be removed"}'
+data modify storage gm4_lore:temp Target set value {"text":"This line will be removed"}
# run operation
function #gm4_lore:remove
# update player's item with item modifier
@@ -16,7 +16,7 @@ item modify entity @s weapon.mainhand gm4_example_pack:update_player
# set inputs
data modify storage gm4_lore:temp Source set from entity @e[type=item,limit=1,sort=nearest] Item.components."minecraft:lore"
-data modify storage gm4_lore:temp Target set value '{"text":"The 3 lines before this line will be removed"}'
+data modify storage gm4_lore:temp Target set value {"text":"The 3 lines before this line will be removed"}
scoreboard players set $start gm4_lore -3
scoreboard players set $extra gm4_lore 2
# run operation
@@ -29,9 +29,9 @@ data modify entity @e[type=item,limit=1,sort=nearest] Item.components."minecraft
## Removes lore from one item, and transfers it to another item
# set inputs
-summon item ~ ~ ~ {Tags:["item_1"],Item:{components:{"minecraft:lore":['{"text":"This line and the ones after will be searched for the TARGET_LINE"}','{"text":"FILLER_LINE"}','{"text":"TARGET_LINE"}','{"text":"The line after this line will be removed, since start is 2 (2 after TARGET_LINE)"}','{"text":"This line will be removed and appended to another item"}','{"text":"This line will be removed and appended to another item since extra is -1"}','{"text":"This line will be removed and appended to another item since extra is -1"}']}}}
+summon item ~ ~ ~ {Tags:["item_1"],Item:{components:{"minecraft:lore":[{"text":"This line and the ones after will be searched for the TARGET_LINE"},{"text":"FILLER_LINE"},{"text":"TARGET_LINE"},{"text":"The line after this line will be removed, since start is 2 (2 after TARGET_LINE)"},{"text":"This line will be removed and appended to another item"},{"text":"This line will be removed and appended to another item since extra is -1"},{"text":"This line will be removed and appended to another item since extra is -1"}]}}}
data modify storage gm4_lore:temp Source set from entity @e[type=item,tag=item_1,limit=1] Item.components."minecraft:lore"
-data modify storage gm4_lore:temp Target set value '{"text":"TARGET_LINE"}'
+data modify storage gm4_lore:temp Target set value {"text":"TARGET_LINE"}
scoreboard players set $start gm4_lore 2
scoreboard players set $extra gm4_lore -1
# run operation
diff --git a/lib_lore/example_use/data/gm4_example_pack/functions/replace_examples.mcfunction b/lib_lore/example_use/data/gm4_example_pack/functions/replace_examples.mcfunction
index 3fec6585fd..a941b295cd 100644
--- a/lib_lore/example_use/data/gm4_example_pack/functions/replace_examples.mcfunction
+++ b/lib_lore/example_use/data/gm4_example_pack/functions/replace_examples.mcfunction
@@ -4,8 +4,8 @@
# set inputs
data modify storage gm4_lore:temp Source set from entity @s SelectedItem.components."minecraft:lore"
-data modify storage gm4_lore:temp Target set value '{"text":"This line will be replaced"}'
-data modify storage gm4_lore:temp Input set value ['{"text":"This line will replace the line"}']
+data modify storage gm4_lore:temp Target set value {"text":"This line will be replaced"}
+data modify storage gm4_lore:temp Input set value [{"text":"This line will replace the line"}]
# run operation
function #gm4_lore:replace
# update player's item with item modifier
@@ -17,8 +17,8 @@ item modify entity @s weapon.mainhand gm4_example_pack:update_player
# set inputs
data modify storage gm4_lore:temp Source set from entity @e[type=item,limit=1,sort=nearest] Item.components."minecraft:lore"
-data modify storage gm4_lore:temp Target set value '{"text":"This line will be replaced"}'
-data modify storage gm4_lore:temp Input set value ['{"text":"This line will replace the line"}','{"text":"This line will follow the line before it"}']
+data modify storage gm4_lore:temp Target set value {"text":"This line will be replaced"}
+data modify storage gm4_lore:temp Input set value [{"text":"This line will replace the line"},{"text":"This line will follow the line before it"}]
# run operation
function #gm4_lore:replace
# update item
@@ -29,11 +29,11 @@ data modify entity @e[type=item,limit=1,sort=nearest] Item.components."minecraft
## Replaces Lore in one item, and transfers it to another item
# set inputs
-summon item ~ ~ ~ {Tags:["item_1"],Item:{components:{"minecraft:lore":['{"text":"TARGET_LINE"}','{"text":"The first two lines will be skipped/ignored"}','{"text":"The line after this one will be replaced"}','{"text":"TARGET_LINE"}','{"text":"This line will remain at the end"}']}}}
+summon item ~ ~ ~ {Tags:["item_1"],Item:{id:"minecraf:stick",components:{"minecraft:lore":[{"text":"TARGET_LINE"},{"text":"The first two lines will be skipped/ignored"},{"text":"The line after this one will be replaced"},{"text":"TARGET_LINE"},{"text":"This line will remain at the end"}]}}}
data modify storage gm4_lore:temp Source set from entity @e[type=item,tag=item_1,limit=1] Item.components."minecraft:lore"
-data modify storage gm4_lore:temp Target set value '{"text":"TARGET_LINE"}'
+data modify storage gm4_lore:temp Target set value {"text":"TARGET_LINE"}
scoreboard players set $start gm4_lore 2
-data modify storage gm4_lore:temp Input set value ['{"text":"This line will replace the TARGET_LINE"}','{"text":"This line will follow the line before it"}']
+data modify storage gm4_lore:temp Input set value [{"text":"This line will replace the TARGET_LINE"},{"text":"This line will follow the line before it"}]
# run operation
function #gm4_lore:replace
# set updated lore into item_1
diff --git a/lib_machines/README.md b/lib_machines/README.md
index 214910033f..80a17ffdc0 100644
--- a/lib_machines/README.md
+++ b/lib_machines/README.md
@@ -23,7 +23,7 @@ execute if score $placed_block gm4_machine_data matches 0 if data storage gm4_ma
The function `MODULE_NAMESPACE:machine/create` should have the following commands:
```mcfunction
scoreboard players set $placed_block gm4_machine_data 1
-summon marker ~ ~ ~ {Tags:["gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","IDENTIFIER","ADD ANY EXTRA TAGS"],CustomName:'"PLEASE NAME YOUR MACHINE MARKERS"',<...>}
+summon marker ~ ~ ~ {Tags:["gm4_machine_marker","smithed.block","smithed.entity","smithed.strict","IDENTIFIER","ADD ANY EXTRA TAGS"],CustomName:"PLEASE NAME YOUR MACHINE MARKERS",<...>}
```
Each machine block has a marker entity located at the center of the block (`align xyz positioned ~0.5 ~0.5 ~0.5`) with the tag `gm4_machine_marker`.
diff --git a/lib_machines/beet.yaml b/lib_machines/beet.yaml
index 8e05bd8049..6e9f0895a3 100644
--- a/lib_machines/beet.yaml
+++ b/lib_machines/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_machines
name: Gamemode 4 Machines
-version: 1.3.X
+version: 1.4.X
description: lib_machines is a mcfunction library that adds logic for placing and breaking custom blocks.
data_pack:
@@ -15,7 +15,7 @@ meta:
gm4:
versioning:
required:
- lib_forceload: 1.4.0
+ lib_forceload: 1.5.0
schedule_loops: [main]
extra_version_injections:
functions:
diff --git a/lib_machines/data/gm4_machines/function/tick.mcfunction b/lib_machines/data/gm4_machines/function/tick.mcfunction
index aedea5408d..602d20c1c1 100644
--- a/lib_machines/data/gm4_machines/function/tick.mcfunction
+++ b/lib_machines/data/gm4_machines/function/tick.mcfunction
@@ -9,5 +9,5 @@ execute as @e[type=item_display,tag=gm4_machine_cart,predicate=!gm4_machines:has
execute as @e[type=area_effect_cloud,tag=gm4_machine_cart,predicate=!gm4_machines:has_vehicle] at @s run function #gm4_machines:destroy_cart
execute as @e[type=marker,tag=gm4_machine_cart,predicate=!gm4_machines:has_vehicle] at @s run function #gm4_machines:destroy_cart
-# NOTE 1.21 update, remove this line
+# Necessary for liquid minecarts
execute as @e[type=armor_stand,tag=gm4_machine_cart,predicate=!gm4_machines:has_vehicle] at @s run function #gm4_machines:destroy_cart
diff --git a/lib_player_death/beet.yaml b/lib_player_death/beet.yaml
index 78d6182322..712afa3710 100644
--- a/lib_player_death/beet.yaml
+++ b/lib_player_death/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_player_death
name: Gamemode 4 Player Death
-version: 1.2.X
+version: 1.3.X
data_pack:
load:
diff --git a/lib_player_motion/LICENSE.md b/lib_player_motion/LICENSE.md
new file mode 100644
index 0000000000..789563fc8d
--- /dev/null
+++ b/lib_player_motion/LICENSE.md
@@ -0,0 +1,45 @@
+MIT License
+
+Copyright (c) 2025 Gamemode 4 Development
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+---
+
+MIT License
+
+Copyright (c) 2024 BigPapi13, MulverineX
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/lib_player_motion/README.md b/lib_player_motion/README.md
new file mode 100644
index 0000000000..c77b0656b7
--- /dev/null
+++ b/lib_player_motion/README.md
@@ -0,0 +1,18 @@
+# lib_player_motion
+The [Player Motion](https://modrinth.com/datapack/player_motion) library prefixed with the GM4 namespace and properly versioned to prevent conflicts with other versions of player motion.
+
+## changes
+The following usage changes have been made to the original player motion library:
+- The scoreboard objective `gm4_player_motion.api.launch` should be used instead of `player_motion.api.launch` when setting the parameters for the launch.
+- The function tags `#gm4_player_motion:launch_xyz` and `#gm4_player_motion:launch_looking` function tags should be used instead of the `player_motion:api/launch_xyz` and `player_motion:api/launch_looking` functions.
+
+The following file changes have been made to the original player motion library:
+- The `#minecraft:load` function tag has been removed in favor of lantern load.
+- The `player_motion` namespace has been changed to `gm4_player_motion` to prevent potential conflicts with other versions of the player motion library.
+- The `player_motion:internal/technical/load` function has been moved to `gm4_player_motion:load` as per GM4 file conventions.
+- The `#gm4_player_motion:launch_xyz` and `#gm4_player_motion:launch_looking` functions tags have been added as version-checked API calls.
+
+The following implementation changes have been made to the original player motion library:
+- All scoreboard objectives and storage references use `gm4_player_motion` instead of `player_motion` to prevent potential conflicts with other versions of the player motion library.
+- The UUID for the marker used to get vectors has been changed to a different UUID to prevent potential conflicts with other versions of the player motion library.
+- The marker is kept at 29999998 0 7133 instead of 0 0 0 to prevent forceloading 0 0; instead the GM4 forceloaded chunk is used to keep the marker selectable.
diff --git a/lib_player_motion/beet.yaml b/lib_player_motion/beet.yaml
new file mode 100644
index 0000000000..6073c2a1c8
--- /dev/null
+++ b/lib_player_motion/beet.yaml
@@ -0,0 +1,23 @@
+id: gm4_player_motion
+name: Gamemode 4 Player Motion
+version: 1.0.0
+
+data_pack:
+ load:
+ data: data
+
+pipeline:
+ - gm4.plugins.extend.library
+ - gm4.plugins.include.lib_forceload
+
+meta:
+ gm4:
+ versioning:
+ required:
+ lib_forceload: 1.5.0
+ schedule_loops: [internal/technical/tick]
+ credits:
+ Original Creator:
+ - MulverineX
+ Adapted for GM4 by:
+ - BPR
diff --git a/lib_player_motion/data/gm4_player_motion/function/api/launch_looking.mcfunction b/lib_player_motion/data/gm4_player_motion/function/api/launch_looking.mcfunction
new file mode 100644
index 0000000000..10efba7fe5
--- /dev/null
+++ b/lib_player_motion/data/gm4_player_motion/function/api/launch_looking.mcfunction
@@ -0,0 +1,18 @@
+#> gm4_player_motion:api/launch_looking
+# Launches the player in the input direction
+execute if entity @s[type=!player] run return fail
+execute on vehicle run return fail
+
+scoreboard players set $function_called gm4_player_motion.internal.dummy 1
+tag @s add gm4_player_motion.launch
+
+execute store result storage gm4_player_motion:math strength double 0.0001 run scoreboard players get $strength gm4_player_motion.api.launch
+execute as 9a347e6c-1ce5-434a-b717-6707d51f4299 in minecraft:overworld positioned 0.0 0.0 0.0 run function gm4_player_motion:internal/math/looking_to_xyz with storage gm4_player_motion:math
+# ^ changed UUID to prevent potential conflict
+execute store result score $out gm4_player_motion.internal.motion.x run data get storage gm4_player_motion:math motion[0] 10000
+execute store result score $out gm4_player_motion.internal.motion.y run data get storage gm4_player_motion:math motion[1] 10000
+execute store result score $out gm4_player_motion.internal.motion.z run data get storage gm4_player_motion:math motion[2] 10000
+
+scoreboard players operation @s gm4_player_motion.internal.motion.x += $out gm4_player_motion.internal.motion.x
+scoreboard players operation @s gm4_player_motion.internal.motion.y += $out gm4_player_motion.internal.motion.y
+scoreboard players operation @s gm4_player_motion.internal.motion.z += $out gm4_player_motion.internal.motion.z
diff --git a/lib_player_motion/data/gm4_player_motion/function/api/launch_xyz.mcfunction b/lib_player_motion/data/gm4_player_motion/function/api/launch_xyz.mcfunction
new file mode 100644
index 0000000000..147268dd9c
--- /dev/null
+++ b/lib_player_motion/data/gm4_player_motion/function/api/launch_xyz.mcfunction
@@ -0,0 +1,11 @@
+#> gm4_player_motion-1.4:api/launch_xyz
+# Launches the player in the input direction
+execute if entity @s[type=!player] run return fail
+execute on vehicle run return fail
+
+scoreboard players set $function_called gm4_player_motion.internal.dummy 1
+tag @s add gm4_player_motion.launch
+
+scoreboard players operation @s gm4_player_motion.internal.motion.x += $x gm4_player_motion.api.launch
+scoreboard players operation @s gm4_player_motion.internal.motion.y += $y gm4_player_motion.api.launch
+scoreboard players operation @s gm4_player_motion.internal.motion.z += $z gm4_player_motion.api.launch
\ No newline at end of file
diff --git a/lib_player_motion/data/gm4_player_motion/function/internal/launch/exp_pos.mcfunction b/lib_player_motion/data/gm4_player_motion/function/internal/launch/exp_pos.mcfunction
new file mode 100644
index 0000000000..9e1bab8767
--- /dev/null
+++ b/lib_player_motion/data/gm4_player_motion/function/internal/launch/exp_pos.mcfunction
@@ -0,0 +1,3 @@
+#> gm4_player_motion:internal/launch/exp_pos
+$tp 9a347e6c-1ce5-434a-b717-6707d51f4299f ^ ^ ^$(d)
+# ^ (GM4) changed UUID to prevent potential conflict
diff --git a/lib_player_motion/data/gm4_player_motion/function/internal/launch/gamemode/get.mcfunction b/lib_player_motion/data/gm4_player_motion/function/internal/launch/gamemode/get.mcfunction
new file mode 100644
index 0000000000..8ef0e55965
--- /dev/null
+++ b/lib_player_motion/data/gm4_player_motion/function/internal/launch/gamemode/get.mcfunction
@@ -0,0 +1,5 @@
+#> gm4_player_motion:internal/launch/gamemode/get
+execute if entity @s[gamemode=survival] run return run scoreboard players set $mode gm4_player_motion.internal.gamemode 0
+execute if entity @s[gamemode=creative] run return run scoreboard players set $mode gm4_player_motion.internal.gamemode 1
+execute if entity @s[gamemode=adventure] run return run scoreboard players set $mode gm4_player_motion.internal.gamemode 2
+execute if entity @s[gamemode=spectator] run scoreboard players set $mode gm4_player_motion.internal.gamemode 3
diff --git a/lib_player_motion/data/gm4_player_motion/function/internal/launch/gamemode/restore.mcfunction b/lib_player_motion/data/gm4_player_motion/function/internal/launch/gamemode/restore.mcfunction
new file mode 100644
index 0000000000..b1fb857e70
--- /dev/null
+++ b/lib_player_motion/data/gm4_player_motion/function/internal/launch/gamemode/restore.mcfunction
@@ -0,0 +1,5 @@
+#> gm4_player_motion:internal/launch/gamemode/restore
+execute if score $mode gm4_player_motion.internal.gamemode matches 0 run return run gamemode survival @s
+execute if score $mode gm4_player_motion.internal.gamemode matches 1 run return run gamemode creative @s
+execute if score $mode gm4_player_motion.internal.gamemode matches 2 run return run gamemode adventure @s
+execute if score $mode gm4_player_motion.internal.gamemode matches 3 run gamemode spectator @s
diff --git a/lib_player_motion/data/gm4_player_motion/function/internal/launch/main.mcfunction b/lib_player_motion/data/gm4_player_motion/function/internal/launch/main.mcfunction
new file mode 100644
index 0000000000..ea4d5e15fe
--- /dev/null
+++ b/lib_player_motion/data/gm4_player_motion/function/internal/launch/main.mcfunction
@@ -0,0 +1,33 @@
+#> gm4_player_motion:internal/launch/main
+# Launches players in the input direction
+
+execute \
+ store result storage gm4_player_motion:math motion[0] double 0.0001 \
+ store result storage gm4_player_motion:math motion_x double 0.0001 run \
+ scoreboard players operation $motion_x gm4_player_motion.internal.math = @s gm4_player_motion.internal.motion.x
+execute \
+ store result storage gm4_player_motion:math motion[1] double 0.0001 \
+ store result storage gm4_player_motion:math motion_y double 0.0001 run \
+ scoreboard players operation $motion_y gm4_player_motion.internal.math = @s gm4_player_motion.internal.motion.y
+execute \
+ store result storage gm4_player_motion:math motion[2] double 0.0001 \
+ store result storage gm4_player_motion:math motion_z double 0.0001 run \
+ scoreboard players operation $motion_z gm4_player_motion.internal.math = @s gm4_player_motion.internal.motion.z
+
+execute in minecraft:overworld run function gm4_player_motion:internal/math/main
+attribute @s knockback_resistance modifier add gm4_player_motion:disable_knockback_resistance -1 add_multiplied_total
+function gm4_player_motion:internal/launch/gamemode/get
+gamemode creative
+tp ~ ~10000 ~
+execute rotated as @s positioned ~ ~10000 ~ run function gm4_player_motion:internal/summon/main with storage gm4_player_motion:math
+tp ~ ~ ~
+function gm4_player_motion:internal/launch/gamemode/restore
+attribute @s knockback_resistance modifier remove gm4_player_motion:disable_knockback_resistance
+
+scoreboard players set $function_called gm4_player_motion.internal.dummy 0
+tag @s remove gm4_player_motion.launch
+
+# Reset scoreboards
+scoreboard players reset @s gm4_player_motion.internal.motion.x
+scoreboard players reset @s gm4_player_motion.internal.motion.y
+scoreboard players reset @s gm4_player_motion.internal.motion.z
diff --git a/lib_player_motion/data/gm4_player_motion/function/internal/math/eyelevel.mcfunction b/lib_player_motion/data/gm4_player_motion/function/internal/math/eyelevel.mcfunction
new file mode 100644
index 0000000000..d97c6c6771
--- /dev/null
+++ b/lib_player_motion/data/gm4_player_motion/function/internal/math/eyelevel.mcfunction
@@ -0,0 +1,9 @@
+#> gm4_player_motion:internal/math/eyelevel
+# eyelevel=y(eyes)-y(player)
+execute anchored eyes positioned ^ ^ ^ if entity @s[distance=...41] run \
+ return run scoreboard players set $eyelevel gm4_player_motion.internal.math 40
+
+execute anchored eyes positioned ^ ^ ^ if entity @s[distance=..1.27] run \
+ return run scoreboard players set $eyelevel gm4_player_motion.internal.math 127
+
+scoreboard players set $eyelevel gm4_player_motion.internal.math 162
diff --git a/lib_player_motion/data/gm4_player_motion/function/internal/math/full_power/sine.mcfunction b/lib_player_motion/data/gm4_player_motion/function/internal/math/full_power/sine.mcfunction
new file mode 100644
index 0000000000..7c32511359
--- /dev/null
+++ b/lib_player_motion/data/gm4_player_motion/function/internal/math/full_power/sine.mcfunction
@@ -0,0 +1,4 @@
+# > gm4_player_motion:internal/math/full_power/sine
+$execute store result score $n_full_exp gm4_player_motion.internal.math run data get storage gm4_player_motion:trig arr[$(angle)]
+scoreboard players operation $n_full_exp gm4_player_motion.internal.math *= $motion_y gm4_player_motion.internal.math
+execute store result score $sub_power gm4_player_motion.internal.math run scoreboard players operation $n_full_exp gm4_player_motion.internal.math /= #constant.1000 gm4_player_motion.internal.const
diff --git a/lib_player_motion/data/gm4_player_motion/function/internal/math/full_power/tp.mcfunction b/lib_player_motion/data/gm4_player_motion/function/internal/math/full_power/tp.mcfunction
new file mode 100644
index 0000000000..e037114bb1
--- /dev/null
+++ b/lib_player_motion/data/gm4_player_motion/function/internal/math/full_power/tp.mcfunction
@@ -0,0 +1,9 @@
+# > gm4_player_motion:internal/math/full_power/tp
+execute store result storage gm4_player_motion:math pos[0] double 0.1 run scoreboard players get $motion_x gm4_player_motion.internal.math
+execute store result storage gm4_player_motion:math pos[1] double 0.1 run scoreboard players get $motion_y gm4_player_motion.internal.math
+execute store result storage gm4_player_motion:math pos[2] double 0.1 run scoreboard players get $motion_z gm4_player_motion.internal.math
+data modify entity @s Pos set from storage gm4_player_motion:math pos
+execute at @s facing 0.0 0.0 0.0 run tp @s 0 0 0 0 ~
+execute store result storage gm4_player_motion:math magnitude.angle int 1 run data get entity @s Rotation[1] 100
+tp @s 29999998.0 0.0 7133.0
+# ^ (GM4) move entity back to GM4 forceloaded chunk
diff --git a/lib_player_motion/data/gm4_player_motion/function/internal/math/full_power/trig.mcfunction b/lib_player_motion/data/gm4_player_motion/function/internal/math/full_power/trig.mcfunction
new file mode 100644
index 0000000000..735c3b3d2f
--- /dev/null
+++ b/lib_player_motion/data/gm4_player_motion/function/internal/math/full_power/trig.mcfunction
@@ -0,0 +1,4 @@
+# > gm4_player_motion:internal/math/full_power/trig
+execute as 9a347e6c-1ce5-434a-b717-6707d51f4299 run function gm4_player_motion:internal/math/full_power/tp
+# ^ (GM4) changed UUID to prevent potential conflict
+function gm4_player_motion:internal/math/full_power/sine with storage gm4_player_motion:math magnitude
diff --git a/lib_player_motion/data/gm4_player_motion/function/internal/math/looking_to_xyz.mcfunction b/lib_player_motion/data/gm4_player_motion/function/internal/math/looking_to_xyz.mcfunction
new file mode 100644
index 0000000000..178718adcb
--- /dev/null
+++ b/lib_player_motion/data/gm4_player_motion/function/internal/math/looking_to_xyz.mcfunction
@@ -0,0 +1,5 @@
+#> gm4_player_motion:internal/math/looking_to_xyz
+$tp @s ^ ^ ^$(strength)
+data modify storage gm4_player_motion:math motion set from entity @s Pos
+tp @s 29999998.0 0.0 7133.0
+# ^ (GM4) changed to move back to GM4 forceloaded chunk coords
diff --git a/lib_player_motion/data/gm4_player_motion/function/internal/math/main.mcfunction b/lib_player_motion/data/gm4_player_motion/function/internal/math/main.mcfunction
new file mode 100644
index 0000000000..0576428e16
--- /dev/null
+++ b/lib_player_motion/data/gm4_player_motion/function/internal/math/main.mcfunction
@@ -0,0 +1,114 @@
+#> gm4_player_motion:internal/math/main
+
+# full_power=sqrt(motion_x²+motion_y²+motion_z²)
+ # Save sign of $motion_y
+ execute store success score $negative_sine gm4_player_motion.internal.math \
+ if score $motion_y gm4_player_motion.internal.math matches ..-1
+
+ # Normalize
+ execute if score $motion_x gm4_player_motion.internal.math matches ..-1 run \
+ scoreboard players operation $motion_x gm4_player_motion.internal.math *= #constant.-1 gm4_player_motion.internal.const
+
+ execute if score $motion_y gm4_player_motion.internal.math matches ..-1 run \
+ scoreboard players operation $motion_y gm4_player_motion.internal.math *= #constant.-1 gm4_player_motion.internal.const
+
+ execute if score $motion_z gm4_player_motion.internal.math matches ..-1 run \
+ scoreboard players operation $motion_z gm4_player_motion.internal.math *= #constant.-1 gm4_player_motion.internal.const
+
+ # Sets angle before exchange
+ scoreboard players set $angle gm4_player_motion.internal.math 0
+
+ execute if score $motion_y gm4_player_motion.internal.math matches 0 run \
+ scoreboard players set $angle gm4_player_motion.internal.math 1
+
+ # SuperSwordTW's method. Credit: https://github.com/SuperSwordTW/Distance-Trig-Calc-3d
+ execute if score $motion_y gm4_player_motion.internal.math matches 0 run \
+ scoreboard players operation $motion_y gm4_player_motion.internal.math >< $motion_x gm4_player_motion.internal.math
+
+ execute if score $motion_y gm4_player_motion.internal.math matches 0 run \
+ scoreboard players operation $motion_y gm4_player_motion.internal.math >< $motion_z gm4_player_motion.internal.math
+
+ function gm4_player_motion:internal/math/full_power/trig
+
+# n_full_exp=floor(full_power/0.865)
+ scoreboard players operation $n_full_exp gm4_player_motion.internal.math /= #constant.fpc gm4_player_motion.internal.const
+
+# Change back the angle
+ execute if score $angle gm4_player_motion.internal.math matches 1 run data modify storage gm4_player_motion:math magnitude.angle set value 0
+
+# eyelevel=y(eyes)-y(player)
+ function gm4_player_motion:internal/math/eyelevel
+
+# sub power operations
+ # sub_power=floor(full_power%0.8)
+ scoreboard players operation $sub_power gm4_player_motion.internal.math %= #constant.fpc gm4_player_motion.internal.const
+
+ # d12=1-sub_power
+ scoreboard players set $d12 gm4_player_motion.internal.math 10000
+ scoreboard players operation $d12 gm4_player_motion.internal.math -= $sub_power gm4_player_motion.internal.math
+
+ # Formula d=-(eyelevel*sinα + d12*12 * cos(arcsin(cosα*eyelevel/(d12*12))))
+
+ # d12 = d12*12
+ scoreboard players operation $d12 gm4_player_motion.internal.math *= #constant.12 gm4_player_motion.internal.const
+
+ # Obtain sinα and cosα
+ function gm4_player_motion:internal/math/trig/sine with storage gm4_player_motion:math magnitude
+
+ # cosα *= eyelevel, record cosα for later use
+ scoreboard players operation $cosine gm4_player_motion.internal.math *= $eyelevel gm4_player_motion.internal.math
+ scoreboard players operation $cosine1 gm4_player_motion.internal.math = $cosine gm4_player_motion.internal.math
+
+ # cosα /= d12 = cosα*eyelevel / (d12*12)
+ scoreboard players operation $cosine gm4_player_motion.internal.math *= #constant.10 gm4_player_motion.internal.const
+
+ scoreboard players operation $cosine gm4_player_motion.internal.math /= $d12 gm4_player_motion.internal.math
+
+ # obtain cos(arcsin(cosα*eyelevel/(d12*12))))
+ execute store result storage gm4_player_motion:math magnitude.quotient int 1 run scoreboard players get $cosine gm4_player_motion.internal.math
+
+ function gm4_player_motion:internal/math/trig/arcsine with storage gm4_player_motion:math magnitude
+
+ # cos(arcsin(cosα*eyelevel/(d12)))) *= d12
+ scoreboard players operation $d gm4_player_motion.internal.math *= $d12 gm4_player_motion.internal.math
+
+ scoreboard players operation $d gm4_player_motion.internal.math /= #constant.1000 gm4_player_motion.internal.const
+
+ # sinα *= eyelevel, record sine for later use
+ scoreboard players operation $sine gm4_player_motion.internal.math *= $eyelevel gm4_player_motion.internal.math
+
+ scoreboard players operation $sine gm4_player_motion.internal.math /= #constant.10 gm4_player_motion.internal.const
+
+ scoreboard players operation $sine1 gm4_player_motion.internal.math = $sine gm4_player_motion.internal.math
+
+ # d += sine
+ execute store result storage gm4_player_motion:math d double -0.0001 run \
+ scoreboard players operation $d gm4_player_motion.internal.math += $sine gm4_player_motion.internal.math
+
+
+# full power operations
+ # d12=1-fpc(0.8) = 0.2
+ scoreboard players set $d12 gm4_player_motion.internal.math 2000
+
+ #full_d = -(eyelevel*sinα + (d12*12)*cos(arcsin(cosα*eyelevel/(d12*12))))
+
+ # d12 = d12*12
+ scoreboard players operation $d12 gm4_player_motion.internal.math *= #constant.12 gm4_player_motion.internal.const
+
+ # cosine1 = cosα*eyelevel, cosine1 /= d12
+ scoreboard players operation $cosine1 gm4_player_motion.internal.math *= #constant.10 gm4_player_motion.internal.const
+
+ scoreboard players operation $cosine1 gm4_player_motion.internal.math /= $d12 gm4_player_motion.internal.math
+
+ # Obtain cos(arcsin(cosine1))
+ execute store result storage gm4_player_motion:math magnitude.quotient int 1 run scoreboard players get $cosine1 gm4_player_motion.internal.math
+
+ function gm4_player_motion:internal/math/trig/arcsine with storage gm4_player_motion:math magnitude
+
+ # cos(arcsin(cosα*eyelevel/(d12)))) *= d12
+ scoreboard players operation $d gm4_player_motion.internal.math *= $d12 gm4_player_motion.internal.math
+ scoreboard players operation $d gm4_player_motion.internal.math /= #constant.1000 gm4_player_motion.internal.const
+
+ # d += sine1
+ execute store result storage gm4_player_motion:math full_d double -0.0001 run \
+ scoreboard players operation $d gm4_player_motion.internal.math += $sine1 gm4_player_motion.internal.math
diff --git a/lib_player_motion/data/gm4_player_motion/function/internal/math/trig/arcsine.mcfunction b/lib_player_motion/data/gm4_player_motion/function/internal/math/trig/arcsine.mcfunction
new file mode 100644
index 0000000000..fdbb467bce
--- /dev/null
+++ b/lib_player_motion/data/gm4_player_motion/function/internal/math/trig/arcsine.mcfunction
@@ -0,0 +1 @@
+$execute store result score $d gm4_player_motion.internal.math run data get storage gm4_player_motion:arcsine arr[$(quotient)]
\ No newline at end of file
diff --git a/lib_player_motion/data/gm4_player_motion/function/internal/math/trig/sine.mcfunction b/lib_player_motion/data/gm4_player_motion/function/internal/math/trig/sine.mcfunction
new file mode 100644
index 0000000000..dea3105f5e
--- /dev/null
+++ b/lib_player_motion/data/gm4_player_motion/function/internal/math/trig/sine.mcfunction
@@ -0,0 +1,3 @@
+$execute store result score $sine gm4_player_motion.internal.math run data get storage gm4_player_motion:sine arr[$(angle)]
+execute if score $negative_sine gm4_player_motion.internal.math matches 1 run scoreboard players operation $sine gm4_player_motion.internal.math *= #constant.-1 gm4_player_motion.internal.const
+$execute store result score $cosine gm4_player_motion.internal.math run data get storage gm4_player_motion:cosine arr[$(angle)]
\ No newline at end of file
diff --git a/lib_player_motion/data/gm4_player_motion/function/internal/summon/crystal.mcfunction b/lib_player_motion/data/gm4_player_motion/function/internal/summon/crystal.mcfunction
new file mode 100644
index 0000000000..e14979e555
--- /dev/null
+++ b/lib_player_motion/data/gm4_player_motion/function/internal/summon/crystal.mcfunction
@@ -0,0 +1,3 @@
+#> gm4_player_motion:internal/summon/crystal
+$execute if score $n_full_exp gm4_player_motion.internal.math matches 1.. anchored eyes positioned ^ ^ ^$(full_d) run function gm4_player_motion:internal/summon/loop
+$execute anchored eyes positioned ^ ^ ^$(d) summon end_crystal run damage @s 0
diff --git a/lib_player_motion/data/gm4_player_motion/function/internal/summon/loop.mcfunction b/lib_player_motion/data/gm4_player_motion/function/internal/summon/loop.mcfunction
new file mode 100644
index 0000000000..9b865cd272
--- /dev/null
+++ b/lib_player_motion/data/gm4_player_motion/function/internal/summon/loop.mcfunction
@@ -0,0 +1,4 @@
+#> gm4_player_motion:internal/summon/loop
+scoreboard players remove $n_full_exp gm4_player_motion.internal.math 1
+execute summon end_crystal run damage @s 0
+execute if score $n_full_exp gm4_player_motion.internal.math matches 1.. run function gm4_player_motion:internal/summon/loop
diff --git a/lib_player_motion/data/gm4_player_motion/function/internal/summon/main.mcfunction b/lib_player_motion/data/gm4_player_motion/function/internal/summon/main.mcfunction
new file mode 100644
index 0000000000..54148f51ad
--- /dev/null
+++ b/lib_player_motion/data/gm4_player_motion/function/internal/summon/main.mcfunction
@@ -0,0 +1,2 @@
+#> gm4_player_motion:internal/summon/main
+$execute facing ~$(motion_x) ~$(motion_y) ~$(motion_z) run function gm4_player_motion:internal/summon/crystal with storage gm4_player_motion:math
diff --git a/lib_player_motion/data/gm4_player_motion/function/internal/technical/tick.mcfunction b/lib_player_motion/data/gm4_player_motion/function/internal/technical/tick.mcfunction
new file mode 100644
index 0000000000..7b6b6d58ee
--- /dev/null
+++ b/lib_player_motion/data/gm4_player_motion/function/internal/technical/tick.mcfunction
@@ -0,0 +1,6 @@
+#> gm4_player_motion:internal/technical/tick
+# TICK FUNCTION
+schedule function gm4_player_motion:internal/technical/tick 1t append
+
+# LAUNCH PLAYERS
+execute if score $function_called gm4_player_motion.internal.dummy matches 1 as @a[tag=gm4_player_motion.launch] at @s run function gm4_player_motion:internal/launch/main
diff --git a/lib_player_motion/data/gm4_player_motion/function/internal/technical/trig.mcfunction b/lib_player_motion/data/gm4_player_motion/function/internal/technical/trig.mcfunction
new file mode 100644
index 0000000000..b16f2fe9d8
--- /dev/null
+++ b/lib_player_motion/data/gm4_player_motion/function/internal/technical/trig.mcfunction
@@ -0,0 +1,4 @@
+ data modify storage gm4_player_motion:trig arr set value [10000000,5729580,2864790,1909860,1432390,1145920,954929,818511,716197,636620,572958,520871,477465,440737,409255,381972,358099,337034,318310,301557,286479,272837,260436,249112,238733,229183,220369,212207,204628,197572,190986,184825,179050,173624,168517,163703,159155,154854,150779,146913,143240,139746,136419,133247,130218,127325,124557,121907,119367,116931,114593,112346,110185,108106,106104,104175,102315,100520,98787,97113,95494,93929,92414,90947,89526,88149,86813,85518,84260,83039,81853,80700,79579,78489,77428,76396,75391,74412,73458,72528,71622,70737,69875,69033,68211,67409,66625,65859,65111,64379,63664,62965,62280,61611,60955,60314,59685,59070,58467,57877,57298,56731,56175,55629,55095,54570,54055,53550,53054,52568,52090,51621,51160,50707,50262,49825,49396,48974,48559,48151,47749,47355,46967,46585,46209,45840,45476,45118,44766,44419,44077,43741,43409,43083,42761,42445,42133,41825,41522,41224,40929,40639,40353,40071,39792,39518,39247,38980,38717,38457,38201,37948,37699,37452,37209,36969,36732,36498,36267,36039,35814,35592,35372,35155,34941,34729,34520,34313,34109,33907,33708,33511,33316,33123,32933,32745,32559,32375,32193,32014,31836,31660,31486,31314,31144,30976,30809,30644,30481,30320,30161,30003,29847,29692,29539,29388,29238,29089,28943,28797,28653,28511,28370,28230,28092,27955,27819,27685,27552,27420,27289,27160,27032,26905,26779,26655,26532,26409,26288,26168,26049,25932,25815,25699,25584,25471,25358,25247,25136,25026,24917,24810,24703,24597,24492,24388,24284,24182,24080,23980,23880,23781,23682,23585,23488,23393,23298,23203,23110,23017,22925,22834,22743,22653,22564,22476,22388,22301,22215,22129,22044,21959,21876,21793,21710,21628,21547,21466,21386,21307,21228,21150,21072,20995,20918,20842,20767,20692,20618,20544,20470,20398,20325,20254,20182,20112,20041,19972,19902,19833,19765,19697,19630,19563,19496,19430,19365,19300,19235,19171,19107,19043,18980,18918,18856,18794,18733,18672,18611,18551,18491,18432,18373,18314,18256,18198,18140,18083,18026,17970,17914,17858,17803,17748,17693,17638,17584,17531,17477,17424,17371,17319,17267,17215,17164,17112,17062,17011,16961,16911,16861,16812,16763,16714,16665,16617,16569,16521,16474,16427,16380,16333,16287,16241,16195,16149,16104,16059,16014,15970,15925,15881,15838,15794,15751,15708,15665,15622,15580,15538,15496,15454,15412,15371,15330,15289,15249,15208,15168,15128,15088,15049,15010,14970,14931,14893,14854,14816,14778,14740,14702,14665,14627,14590,14553,14516,14480,14443,14407,14371,14335,14299,14264,14229,14193,14158,14124,14089,14054,14020,13986,13952,13918,13885,13851,13818,13785,13752,13719,13686,13654,13621,13589,13557,13525,13493,13462,13430,13399,13368,13337,13306,13275,13244,13214,13184,13153,13123,13093,13064,13034,13005,12975,12946,12917,12888,12859,12830,12802,12773,12745,12717,12689,12661,12633,12605,12578,12550,12523,12496,12468,12442,12415,12388,12361,12335,12308,12282,12256,12230,12204,12178,12152,12127,12101,12076,12050,12025,12000,11975,11950,11925,11901,11876,11852,11827,11803,11779,11755,11731,11707,11683,11659,11636,11612,11589,11566,11542,11519,11496,11473,11450,11428,11405,11382,11360,11338,11315,11293,11271,11249,11227,11205,11183,11162,11140,11118,11097,11076,11054,11033,11012,10991,10970,10949,10928,10908,10887,10866,10846,10825,10805,10785,10765,10745,10725,10705,10685,10665,10645,10626,10606,10586,10567,10548,10528,10509,10490,10471,10452,10433,10414,10395,10377,10358,10339,10321,10302,10284,10265,10247,10229,10211,10193,10175,10157,10139,10121,10103,10086,10068,10050,10033,10015,9998,9981,9963,9946,9929,9912,9895,9878,9861,9844,9827,9811,9794,9777,9761,9744,9728,9711,9695,9679,9663,9646,9630,9614,9598,9582,9566,9550,9535,9519,9503,9487,9472,9456,9441,9425,9410,9395,9379,9364,9349,9334,9319,9304,9289,9274,9259,9244,9229,9214,9200,9185,9170,9156,9141,9127,9112,9098,9084,9069,9055,9041,9027,9013,8999,8985,8971,8957,8943,8929,8915,8901,8888,8874,8860,8847,8833,8820,8806,8793,8779,8766,8753,8739,8726,8713,8700,8687,8674,8661,8648,8635,8622,8609,8596,8583,8571,8558,8545,8533,8520,8507,8495,8482,8470,8458,8445,8433,8421,8408,8396,8384,8372,8360,8347,8335,8323,8311,8299,8287,8276,8264,8252,8240,8228,8217,8205,8193,8182,8170,8159,8147,8136,8124,8113,8101,8090,8079,8067,8056,8045,8034,8023,8011,8000,7989,7978,7967,7956,7945,7934,7923,7913,7902,7891,7880,7870,7859,7848,7837,7827,7816,7806,7795,7785,7774,7764,7753,7743,7733,7722,7712,7702,7691,7681,7671,7661,7651,7641,7630,7620,7610,7600,7590,7580,7570,7561,7551,7541,7531,7521,7511,7502,7492,7482,7473,7463,7453,7444,7434,7425,7415,7406,7396,7387,7377,7368,7358,7349,7340,7330,7321,7312,7303,7294,7284,7275,7266,7257,7248,7239,7230,7221,7212,7203,7194,7185,7176,7167,7158,7149,7140,7132,7123,7114,7105,7097,7088,7079,7071,7062,7053,7045,7036,7028,7019,7011,7002,6994,6985,6977,6968,6960,6952,6943,6935,6927,6919,6910,6902,6894,6886,6877,6869,6861,6853,6845,6837,6829,6821,6813,6805,6797,6789,6781,6773,6765,6757,6749,6741,6734,6726,6718,6710,6702,6695,6687,6679,6671,6664,6656,6649,6641,6633,6626,6618,6611,6603,6596,6588,6581,6573,6566,6558,6551,6543,6536,6529,6521,6514,6507,6499,6492,6485,6478,6470,6463,6456,6449,6442,6435,6427,6420,6413,6406,6399,6392,6385,6378,6371,6364,6357,6350,6343,6336,6329,6322,6315,6309,6302,6295,6288,6281,6274,6268,6261,6254,6247,6241,6234,6227,6221,6214,6207,6201,6194,6187,6181,6174,6168,6161,6155,6148,6142,6135,6129,6122,6116,6109,6103,6097,6090,6084,6077,6071,6065,6058,6052,6046,6039,6033,6027,6021,6014,6008,6002,5996,5990,5983,5977,5971,5965,5959,5953,5947,5941,5935,5929,5922,5916,5910,5904,5898,5892,5887,5881,5875,5869,5863,5857,5851,5845,5839,5833,5828,5822,5816,5810,5804,5798,5793,5787,5781,5775,5770,5764,5758,5753,5747,5741,5736,5730,5724,5719,5713,5707,5702,5696,5691,5685,5680,5674,5669,5663,5657,5652,5647,5641,5636,5630,5625,5619,5614,5608,5603,5598,5592,5587,5582,5576,5571,5566,5560,5555,5550,5544,5539,5534,5529,5523,5518,5513,5508,5502,5497,5492,5487,5482,5477,5471,5466,5461,5456,5451,5446,5441,5436,5431,5426,5421,5416,5410,5405,5400,5395,5390,5385,5381,5376,5371,5366,5361,5356,5351,5346,5341,5336,5331,5326,5322,5317,5312,5307,5302,5297,5293,5288,5283,5278,5273,5269,5264,5259,5254,5250,5245,5240,5236,5231,5226,5222,5217,5212,5208,5203,5198,5194,5189,5184,5180,5175,5171,5166,5162,5157,5152,5148,5143,5139,5134,5130,5125,5121,5116,5112,5107,5103,5098,5094,5090,5085,5081,5076,5072,5068,5063,5059,5054,5050,5046,5041,5037,5033,5028,5024,5020,5015,5011,5007,5002,4998,4994,4990,4985,4981,4977,4973,4968,4964,4960,4956,4952,4947,4943,4939,4935,4931,4927,4922,4918,4914,4910,4906,4902,4898,4894,4890,4885,4881,4877,4873,4869,4865,4861,4857,4853,4849,4845,4841,4837,4833,4829,4825,4821,4817,4813,4809,4805,4801,4797,4793,4790,4786,4782,4778,4774,4770,4766,4762,4758,4755,4751,4747,4743,4739,4735,4732,4728,4724,4720,4716,4713,4709,4705,4701,4697,4694,4690,4686,4682,4679,4675,4671,4668,4664,4660,4656,4653,4649,4645,4642,4638,4634,4631,4627,4623,4620,4616,4612,4609,4605,4602,4598,4594,4591,4587,4584,4580,4576,4573,4569,4566,4562,4559,4555,4552,4548,4545,4541,4538,4534,4531,4527,4524,4520,4517,4513,4510,4506,4503,4499,4496,4492,4489,4486,4482,4479,4475,4472,4469,4465,4462,4458,4455,4452,4448,4445,4442,4438,4435,4432,4428,4425,4422,4418,4415,4412,4408,4405,4402,4398,4395,4392,4389,4385,4382,4379,4375,4372,4369,4366,4362,4359,4356,4353,4350,4346,4343,4340,4337,4334,4330,4327,4324,4321,4318,4315,4311,4308,4305,4302,4299,4296,4293,4289,4286,4283,4280,4277,4274,4271,4268,4265,4261,4258,4255,4252,4249,4246,4243,4240,4237,4234,4231,4228,4225,4222,4219,4216,4213,4210,4207,4204,4201,4198,4195,4192,4189,4186,4183,4180,4177,4174,4171,4168,4165,4162,4159,4156,4153,4151,4148,4145,4142,4139,4136,4133,4130,4127,4124,4122,4119,4116,4113,4110,4107,4104,4101,4099,4096,4093,4090,4087,4084,4082,4079,4076,4073,4070,4068,4065,4062,4059,4056,4054,4051,4048,4045,4043,4040,4037,4034,4032,4029,4026,4023,4021,4018,4015,4012,4010,4007,4004,4002,3999,3996,3993,3991,3988,3985,3983,3980,3977,3975,3972,3969,3967,3964,3961,3959,3956,3953,3951,3948,3946,3943,3940,3938,3935,3932,3930,3927,3925,3922,3919,3917,3914,3912,3909,3906,3904,3901,3899,3896,3894,3891,3889,3886,3883,3881,3878,3876,3873,3871,3868,3866,3863,3861,3858,3856,3853,3851,3848,3846,3843,3841,3838,3836,3833,3831,3828,3826,3823,3821,3818,3816,3814,3811,3809,3806,3804,3801,3799,3796,3794,3792,3789,3787,3784,3782,3780,3777,3775,3772,3770,3768,3765,3763,3760,3758,3756,3753,3751,3749,3746,3744,3741,3739,3737,3734,3732,3730,3727,3725,3723,3720,3718,3716,3713,3711,3709,3706,3704,3702,3700,3697,3695,3693,3690,3688,3686,3684,3681,3679,3677,3674,3672,3670,3668,3665,3663,3661,3659,3656,3654,3652,3650,3647,3645,3643,3641,3639,3636,3634,3632,3630,3627,3625,3623,3621,3619,3616,3614,3612,3610,3608,3606,3603,3601,3599,3597,3595,3592,3590,3588,3586,3584,3582,3580,3577,3575,3573,3571,3569,3567,3565,3562,3560,3558,3556,3554,3552,3550,3548,3546,3543,3541,3539,3537,3535,3533,3531,3529,3527,3525,3523,3520,3518,3516,3514,3512,3510,3508,3506,3504,3502,3500,3498,3496,3494,3492,3490,3488,3486,3484,3481,3479,3477,3475,3473,3471,3469,3467,3465,3463,3461,3459,3457,3455,3453,3451,3449,3447,3445,3443,3441,3439,3437,3435,3434,3432,3430,3428,3426,3424,3422,3420,3418,3416,3414,3412,3410,3408,3406,3404,3402,3400,3398,3397,3395,3393,3391,3389,3387,3385,3383,3381,3379,3377,3376,3374,3372,3370,3368,3366,3364,3362,3360,3358,3357,3355,3353,3351,3349,3347,3345,3344,3342,3340,3338,3336,3334,3332,3331,3329,3327,3325,3323,3321,3319,3318,3316,3314,3312,3310,3309,3307,3305,3303,3301,3299,3298,3296,3294,3292,3290,3289,3287,3285,3283,3281,3280,3278,3276,3274,3273,3271,3269,3267,3265,3264,3262,3260,3258,3257,3255,3253,3251,3250,3248,3246,3244,3243,3241,3239,3237,3236,3234,3232,3230,3229,3227,3225,3223,3222,3220,3218,3217,3215,3213,3211,3210,3208,3206,3205,3203,3201,3199,3198,3196,3194,3193,3191,3189,3188,3186,3184,3183,3181,3179,3178,3176,3174,3173,3171,3169,3168,3166,3164,3163,3161,3159,3158,3156,3154,3153,3151,3149,3148,3146,3144,3143,3141,3140,3138,3136,3135,3133,3131,3130,3128,3127,3125,3123,3122,3120,3119,3117,3115,3114,3112,3111,3109,3107,3106,3104,3103,3101,3099,3098,3096,3095,3093,3091,3090,3088,3087,3085,3084,3082,3080,3079,3077,3076,3074,3073,3071,3069,3068,3066,3065,3063,3062,3060,3059,3057,3056,3054,3052,3051,3049,3048,3046,3045,3043,3042,3040,3039,3037,3036,3034,3033,3031,3030,3028,3027,3025,3024,3022,3021,3019,3018,3016,3015,3013,3012,3010,3009,3007,3006,3004,3003,3001,3000,2998,2997,2995,2994,2992,2991,2989,2988,2986,2985,2983,2982,2981,2979,2978,2976,2975,2973,2972,2970,2969,2967,2966,2965,2963,2962,2960,2959,2957,2956,2955,2953,2952,2950,2949,2947,2946,2944,2943,2942,2940,2939,2937,2936,2935,2933,2932,2930,2929,2928,2926,2925,2923,2922,2921,2919,2918,2916,2915,2914,2912,2911,2909,2908,2907,2905,2904,2902,2901,2900,2898,2897,2896,2894,2893,2891,2890,2889,2887,2886,2885,2883,2882,2881,2879,2878,2876,2875,2874,2872,2871,2870,2868,2867,2866,2864,2863,2862,2860,2859,2858,2856,2855,2854,2852,2851,2850,2848,2847,2846,2844,2843,2842,2840,2839,2838,2836,2835,2834,2832,2831,2830,2829,2827,2826,2825,2823,2822,2821,2819,2818,2817,2816,2814,2813,2812,2810,2809,2808,2807,2805,2804,2803,2801,2800,2799,2798,2796,2795,2794,2792,2791,2790,2789,2787,2786,2785,2784,2782,2781,2780,2779,2777,2776,2775,2774,2772,2771,2770,2769,2767,2766,2765,2764,2762,2761,2760,2759,2757,2756,2755,2754,2752,2751,2750,2749,2747,2746,2745,2744,2743,2741,2740,2739,2738,2736,2735,2734,2733,2732,2730,2729,2728,2727,2726,2724,2723,2722,2721,2720,2718,2717,2716,2715,2714,2712,2711,2710,2709,2708,2706,2705,2704,2703,2702,2701,2699,2698,2697,2696,2695,2693,2692,2691,2690,2689,2688,2686,2685,2684,2683,2682,2681,2679,2678,2677,2676,2675,2674,2672,2671,2670,2669,2668,2667,2666,2664,2663,2662,2661,2660,2659,2657,2656,2655,2654,2653,2652,2651,2650,2648,2647,2646,2645,2644,2643,2642,2640,2639,2638,2637,2636,2635,2634,2633,2631,2630,2629,2628,2627,2626,2625,2624,2623,2621,2620,2619,2618,2617,2616,2615,2614,2613,2612,2610,2609,2608,2607,2606,2605,2604,2603,2602,2601,2599,2598,2597,2596,2595,2594,2593,2592,2591,2590,2589,2588,2586,2585,2584,2583,2582,2581,2580,2579,2578,2577,2576,2575,2574,2573,2572,2570,2569,2568,2567,2566,2565,2564,2563,2562,2561,2560,2559,2558,2557,2556,2555,2554,2553,2551,2550,2549,2548,2547,2546,2545,2544,2543,2542,2541,2540,2539,2538,2537,2536,2535,2534,2533,2532,2531,2530,2529,2528,2527,2526,2525,2524,2523,2522,2521,2519,2518,2517,2516,2515,2514,2513,2512,2511,2510,2509,2508,2507,2506,2505,2504,2503,2502,2501,2500,2499,2498,2497,2496,2495,2494,2493,2492,2491,2490,2489,2488,2487,2486,2485,2484,2483,2482,2481,2480,2479,2479,2478,2477,2476,2475,2474,2473,2472,2471,2470,2469,2468,2467,2466,2465,2464,2463,2462,2461,2460,2459,2458,2457,2456,2455,2454,2453,2452,2451,2450,2449,2448,2448,2447,2446,2445,2444,2443,2442,2441,2440,2439,2438,2437,2436,2435,2434,2433,2432,2431,2430,2430,2429,2428,2427,2426,2425,2424,2423,2422,2421,2420,2419,2418,2417,2416,2416,2415,2414,2413,2412,2411,2410,2409,2408,2407,2406,2405,2404,2404,2403,2402,2401,2400,2399,2398,2397,2396,2395,2394,2394,2393,2392,2391,2390,2389,2388,2387,2386,2385,2384,2384,2383,2382,2381,2380,2379,2378,2377,2376,2375,2375,2374,2373,2372,2371,2370,2369,2368,2367,2367,2366,2365,2364,2363,2362,2361,2360,2360,2359,2358,2357,2356,2355,2354,2353,2352,2352,2351,2350,2349,2348,2347,2346,2346,2345,2344,2343,2342,2341,2340,2339,2339,2338,2337,2336,2335,2334,2333,2333,2332,2331,2330,2329,2328,2327,2327,2326,2325,2324,2323,2322,2321,2321,2320,2319,2318,2317,2316,2316,2315,2314,2313,2312,2311,2310,2310,2309,2308,2307,2306,2305,2305,2304,2303,2302,2301,2300,2300,2299,2298,2297,2296,2295,2295,2294,2293,2292,2291,2291,2290,2289,2288,2287,2286,2286,2285,2284,2283,2282,2281,2281,2280,2279,2278,2277,2277,2276,2275,2274,2273,2273,2272,2271,2270,2269,2269,2268,2267,2266,2265,2264,2264,2263,2262,2261,2260,2260,2259,2258,2257,2256,2256,2255,2254,2253,2252,2252,2251,2250,2249,2249,2248,2247,2246,2245,2245,2244,2243,2242,2241,2241,2240,2239,2238,2238,2237,2236,2235,2234,2234,2233,2232,2231,2231,2230,2229,2228,2227,2227,2226,2225,2224,2224,2223,2222,2221,2220,2220,2219,2218,2217,2217,2216,2215,2214,2214,2213,2212,2211,2211,2210,2209,2208,2207,2207,2206,2205,2204,2204,2203,2202,2201,2201,2200,2199,2198,2198,2197,2196,2195,2195,2194,2193,2192,2192,2191,2190,2189,2189,2188,2187,2186,2186,2185,2184,2184,2183,2182,2181,2181,2180,2179,2178,2178,2177,2176,2175,2175,2174,2173,2172,2172,2171,2170,2170,2169,2168,2167,2167,2166,2165,2164,2164,2163,2162,2162,2161,2160,2159,2159,2158,2157,2157,2156,2155,2154,2154,2153,2152,2151,2151,2150,2149,2149,2148,2147,2146,2146,2145,2144,2144,2143,2142,2142,2141,2140,2139,2139,2138,2137,2137,2136,2135,2134,2134,2133,2132,2132,2131,2130,2130,2129,2128,2127,2127,2126,2125,2125,2124,2123,2123,2122,2121,2121,2120,2119,2118,2118,2117,2116,2116,2115,2114,2114,2113,2112,2112,2111,2110,2109,2109,2108,2107,2107,2106,2105,2105,2104,2103,2103,2102,2101,2101,2100,2099,2099,2098,2097,2097,2096,2095,2095,2094,2093,2093,2092,2091,2091,2090,2089,2089,2088,2087,2087,2086,2085,2085,2084,2083,2083,2082,2081,2081,2080,2079,2079,2078,2077,2077,2076,2075,2075,2074,2073,2073,2072,2071,2071,2070,2069,2069,2068,2067,2067,2066,2065,2065,2064,2063,2063,2062,2062,2061,2060,2060,2059,2058,2058,2057,2056,2056,2055,2054,2054,2053,2052,2052,2051,2051,2050,2049,2049,2048,2047,2047,2046,2045,2045,2044,2044,2043,2042,2042,2041,2040,2040,2039,2038,2038,2037,2037,2036,2035,2035,2034,2033,2033,2032,2032,2031,2030,2030,2029,2028,2028,2027,2027,2026,2025,2025,2024,2023,2023,2022,2022,2021,2020,2020,2019,2018,2018,2017,2017,2016,2015,2015,2014,2014,2013,2012,2012,2011,2010,2010,2009,2009,2008,2007,2007,2006,2006,2005,2004,2004,2003,2003,2002,2001,2001,2000,2000,1999,1998,1998,1997,1996,1996,1995,1995,1994,1993,1993,1992,1992,1991,1990,1990,1989,1989,1988,1987,1987,1986,1986,1985,1985,1984,1983,1983,1982,1982,1981,1980,1980,1979,1979,1978,1977,1977,1976,1976,1975,1974,1974,1973,1973,1972,1972,1971,1970,1970,1969,1969,1968,1967,1967,1966,1966,1965,1965,1964,1963,1963,1962,1962,1961,1961,1960,1959,1959,1958,1958,1957,1956,1956,1955,1955,1954,1954,1953,1952,1952,1951,1951,1950,1950,1949,1948,1948,1947,1947,1946,1946,1945,1944,1944,1943,1943,1942,1942,1941,1941,1940,1939,1939,1938,1938,1937,1937,1936,1935,1935,1934,1934,1933,1933,1932,1932,1931,1930,1930,1929,1929,1928,1928,1927,1927,1926,1925,1925,1924,1924,1923,1923,1922,1922,1921,1920,1920,1919,1919,1918,1918,1917,1917,1916,1916,1915,1914,1914,1913,1913,1912,1912,1911,1911,1910,1910,1909,1908,1908,1907,1907,1906,1906,1905,1905,1904,1904,1903,1903,1902,1901,1901,1900,1900,1899,1899,1898,1898,1897,1897,1896,1896,1895,1895,1894,1893,1893,1892,1892,1891,1891,1890,1890,1889,1889,1888,1888,1887,1887,1886,1886,1885,1884,1884,1883,1883,1882,1882,1881,1881,1880,1880,1879,1879,1878,1878,1877,1877,1876,1876,1875,1875,1874,1874,1873,1872,1872,1871,1871,1870,1870,1869,1869,1868,1868,1867,1867,1866,1866,1865,1865,1864,1864,1863,1863,1862,1862,1861,1861,1860,1860,1859,1859,1858,1858,1857,1857,1856,1856,1855,1855,1854,1854,1853,1853,1852,1852,1851,1851,1850,1850,1849,1849,1848,1848,1847,1847,1846,1846,1845,1845,1844,1844,1843,1843,1842,1842,1841,1841,1840,1840,1839,1839,1838,1838,1837,1837,1836,1836,1835,1835,1834,1834,1833,1833,1832,1832,1831,1831,1830,1830,1829,1829,1828,1828,1827,1827,1826,1826,1825,1825,1824,1824,1823,1823,1822,1822,1821,1821,1820,1820,1819,1819,1819,1818,1818,1817,1817,1816,1816,1815,1815,1814,1814,1813,1813,1812,1812,1811,1811,1810,1810,1809,1809,1808,1808,1807,1807,1807,1806,1806,1805,1805,1804,1804,1803,1803,1802,1802,1801,1801,1800,1800,1799,1799,1799,1798,1798,1797,1797,1796,1796,1795,1795,1794,1794,1793,1793,1792,1792,1792,1791,1791,1790,1790,1789,1789,1788,1788,1787,1787,1786,1786,1785,1785,1785,1784,1784,1783,1783,1782,1782,1781,1781,1780,1780,1780,1779,1779,1778,1778,1777,1777,1776,1776,1775,1775,1774,1774,1774,1773,1773,1772,1772,1771,1771,1770,1770,1770,1769,1769,1768,1768,1767,1767,1766,1766,1765,1765,1765,1764,1764,1763,1763,1762,1762,1761,1761,1761,1760,1760,1759,1759,1758,1758,1757,1757,1757,1756,1756,1755,1755,1754,1754,1753,1753,1753,1752,1752,1751,1751,1750,1750,1749,1749,1749,1748,1748,1747,1747,1746,1746,1746,1745,1745,1744,1744,1743,1743,1743,1742,1742,1741,1741,1740,1740,1739,1739,1739,1738,1738,1737,1737,1736,1736,1736,1735,1735,1734,1734,1733,1733,1733,1732,1732,1731,1731,1730,1730,1730,1729,1729,1728,1728,1727,1727,1727,1726,1726,1725,1725,1725,1724,1724,1723,1723,1722,1722,1722,1721,1721,1720,1720,1719,1719,1719,1718,1718,1717,1717,1717,1716,1716,1715,1715,1714,1714,1714,1713,1713,1712,1712,1712,1711,1711,1710,1710,1709,1709,1709,1708,1708,1707,1707,1707,1706,1706,1705,1705,1704,1704,1704,1703,1703,1702,1702,1702,1701,1701,1700,1700,1700,1699,1699,1698,1698,1698,1697,1697,1696,1696,1696,1695,1695,1694,1694,1693,1693,1693,1692,1692,1691,1691,1691,1690,1690,1689,1689,1689,1688,1688,1687,1687,1687,1686,1686,1685,1685,1685,1684,1684,1683,1683,1683,1682,1682,1681,1681,1681,1680,1680,1679,1679,1679,1678,1678,1678,1677,1677,1676,1676,1676,1675,1675,1674,1674,1674,1673,1673,1672,1672,1672,1671,1671,1670,1670,1670,1669,1669,1668,1668,1668,1667,1667,1667,1666,1666,1665,1665,1665,1664,1664,1663,1663,1663,1662,1662,1662,1661,1661,1660,1660,1660,1659,1659,1658,1658,1658,1657,1657,1657,1656,1656,1655,1655,1655,1654,1654,1653,1653,1653,1652,1652,1652,1651,1651,1650,1650,1650,1649,1649,1649,1648,1648,1647,1647,1647,1646,1646,1646,1645,1645,1644,1644,1644,1643,1643,1643,1642,1642,1641,1641,1641,1640,1640,1640,1639,1639,1638,1638,1638,1637,1637,1637,1636,1636,1635,1635,1635,1634,1634,1634,1633,1633,1633,1632,1632,1631,1631,1631,1630,1630,1630,1629,1629,1629,1628,1628,1627,1627,1627,1626,1626,1626,1625,1625,1624,1624,1624,1623,1623,1623,1622,1622,1622,1621,1621,1621,1620,1620,1619,1619,1619,1618,1618,1618,1617,1617,1617,1616,1616,1615,1615,1615,1614,1614,1614,1613,1613,1613,1612,1612,1612,1611,1611,1610,1610,1610,1609,1609,1609,1608,1608,1608,1607,1607,1607,1606,1606,1606,1605,1605,1604,1604,1604,1603,1603,1603,1602,1602,1602,1601,1601,1601,1600,1600,1600,1599,1599,1599,1598,1598,1597,1597,1597,1596,1596,1596,1595,1595,1595,1594,1594,1594,1593,1593,1593,1592,1592,1592,1591,1591,1591,1590,1590,1590,1589,1589,1589,1588,1588,1587,1587,1587,1586,1586,1586,1585,1585,1585,1584,1584,1584,1583,1583,1583,1582,1582,1582,1581,1581,1581,1580,1580,1580,1579,1579,1579,1578,1578,1578,1577,1577,1577,1576,1576,1576,1575,1575,1575,1574,1574,1574,1573,1573,1573,1572,1572,1572,1571,1571,1571,1570,1570,1570,1569,1569,1569,1568,1568,1568,1567,1567,1567,1566,1566,1566,1565,1565,1565,1564,1564,1564,1563,1563,1563,1562,1562,1562,1561,1561,1561,1560,1560,1560,1559,1559,1559,1558,1558,1558,1557,1557,1557,1557,1556,1556,1556,1555,1555,1555,1554,1554,1554,1553,1553,1553,1552,1552,1552,1551,1551,1551,1550,1550,1550,1549,1549,1549,1548,1548,1548,1548,1547,1547,1547,1546,1546,1546,1545,1545,1545,1544,1544,1544,1543,1543,1543,1542,1542,1542,1541,1541,1541,1541,1540,1540,1540,1539,1539,1539,1538,1538,1538,1537,1537,1537,1536,1536,1536,1536,1535,1535,1535,1534,1534,1534,1533,1533,1533,1532,1532,1532,1531,1531,1531,1531,1530,1530,1530,1529,1529,1529,1528,1528,1528,1527,1527,1527,1527,1526,1526,1526,1525,1525,1525,1524,1524,1524,1523,1523,1523,1523,1522,1522,1522,1521,1521,1521,1520,1520,1520,1519,1519,1519,1519,1518,1518,1518,1517,1517,1517,1516,1516,1516,1516,1515,1515,1515,1514,1514,1514,1513,1513,1513,1513,1512,1512,1512,1511,1511,1511,1510,1510,1510,1510,1509,1509,1509,1508,1508,1508,1507,1507,1507,1507,1506,1506,1506,1505,1505,1505,1505,1504,1504,1504,1503,1503,1503,1502,1502,1502,1502,1501,1501,1501,1500,1500,1500,1500,1499,1499,1499,1498,1498,1498,1497,1497,1497,1497,1496,1496,1496,1495,1495,1495,1495,1494,1494,1494,1493,1493,1493,1493,1492,1492,1492,1491,1491,1491,1491,1490,1490,1490,1489,1489,1489,1489,1488,1488,1488,1487,1487,1487,1486,1486,1486,1486,1485,1485,1485,1485,1484,1484,1484,1483,1483,1483,1483,1482,1482,1482,1481,1481,1481,1481,1480,1480,1480,1479,1479,1479,1479,1478,1478,1478,1477,1477,1477,1477,1476,1476,1476,1475,1475,1475,1475,1474,1474,1474,1474,1473,1473,1473,1472,1472,1472,1472,1471,1471,1471,1470,1470,1470,1470,1469,1469,1469,1469,1468,1468,1468,1467,1467,1467,1467,1466,1466,1466,1466,1465,1465,1465,1464,1464,1464,1464,1463,1463,1463,1462,1462,1462,1462,1461,1461,1461,1461,1460,1460,1460,1460,1459,1459,1459,1458,1458,1458,1458,1457,1457,1457,1457,1456,1456,1456,1455,1455,1455,1455,1454,1454,1454,1454,1453,1453,1453,1453,1452,1452,1452,1451,1451,1451,1451,1450,1450,1450,1450,1449,1449,1449,1449,1448,1448,1448,1447,1447,1447,1447,1446,1446,1446,1446,1445,1445,1445,1445,1444,1444,1444,1443,1443,1443,1443,1442,1442,1442,1442,1441,1441,1441,1441,1440,1440,1440,1440,1439,1439,1439,1439,1438,1438,1438,1437,1437,1437,1437,1436,1436,1436,1436,1435,1435,1435,1435,1434,1434,1434,1434,1433,1433,1433,1433,1432,1432,1432,1432,1431,1431,1431,1431,1430,1430,1430,1430,1429,1429,1429,1429,1428,1428,1428,1427,1427,1427,1427,1426,1426,1426,1426,1425,1425,1425,1425,1424,1424,1424,1424,1423,1423,1423,1423,1422,1422,1422,1422,1421,1421,1421,1421,1420,1420,1420,1420,1419,1419,1419,1419,1418,1418,1418,1418,1417,1417,1417,1417,1416,1416,1416,1416,1415,1415,1415,1415,1414,1414,1414,1414,1413,1413,1413,1413,1412,1412,1412,1412,1411,1411,1411,1411,1411,1410,1410,1410,1410,1409,1409,1409,1409,1408,1408,1408,1408,1407,1407,1407,1407,1406,1406,1406,1406,1405,1405,1405,1405,1404,1404,1404,1404,1403,1403,1403,1403,1402,1402,1402,1402,1402,1401,1401,1401,1401,1400,1400,1400,1400,1399,1399,1399,1399,1398,1398,1398,1398,1397,1397,1397,1397,1397,1396,1396,1396,1396,1395,1395,1395,1395,1394,1394,1394,1394,1393,1393,1393,1393,1392,1392,1392,1392,1392,1391,1391,1391,1391,1390,1390,1390,1390,1389,1389,1389,1389,1388,1388,1388,1388,1388,1387,1387,1387,1387,1386,1386,1386,1386,1385,1385,1385,1385,1385,1384,1384,1384,1384,1383,1383,1383,1383,1382,1382,1382,1382,1382,1381,1381,1381,1381,1380,1380,1380,1380,1379,1379,1379,1379,1379,1378,1378,1378,1378,1377,1377,1377,1377,1377,1376,1376,1376,1376,1375,1375,1375,1375,1374,1374,1374,1374,1374,1373,1373,1373,1373,1372,1372,1372,1372,1372,1371,1371,1371,1371,1370,1370,1370,1370,1370,1369,1369,1369,1369,1368,1368,1368,1368,1367,1367,1367,1367,1367,1366,1366,1366,1366,1365,1365,1365,1365,1365,1364,1364,1364,1364,1364,1363,1363,1363,1363,1362,1362,1362,1362,1362,1361,1361,1361,1361,1360,1360,1360,1360,1360,1359,1359,1359,1359,1358,1358,1358,1358,1358,1357,1357,1357,1357,1356,1356,1356,1356,1356,1355,1355,1355,1355,1355,1354,1354,1354,1354,1353,1353,1353,1353,1353,1352,1352,1352,1352,1352,1351,1351,1351,1351,1350,1350,1350,1350,1350,1349,1349,1349,1349,1349,1348,1348,1348,1348,1347,1347,1347,1347,1347,1346,1346,1346,1346,1346,1345,1345,1345,1345,1344,1344,1344,1344,1344,1343,1343,1343,1343,1343,1342,1342,1342,1342,1342,1341,1341,1341,1341,1341,1340,1340,1340,1340,1339,1339,1339,1339,1339,1338,1338,1338,1338,1338,1337,1337,1337,1337,1337,1336,1336,1336,1336,1336,1335,1335,1335,1335,1334,1334,1334,1334,1334,1333,1333,1333,1333,1333,1332,1332,1332,1332,1332,1331,1331,1331,1331,1331,1330,1330,1330,1330,1330,1329,1329,1329,1329,1329,1328,1328,1328,1328,1328,1327,1327,1327,1327,1327,1326,1326,1326,1326,1326,1325,1325,1325,1325,1325,1324,1324,1324,1324,1324,1323,1323,1323,1323,1323,1322,1322,1322,1322,1322,1321,1321,1321,1321,1321,1320,1320,1320,1320,1320,1319,1319,1319,1319,1319,1318,1318,1318,1318,1318,1317,1317,1317,1317,1317,1316,1316,1316,1316,1316,1315,1315,1315,1315,1315,1314,1314,1314,1314,1314,1313,1313,1313,1313,1313,1312,1312,1312,1312,1312,1311,1311,1311,1311,1311,1310,1310,1310,1310,1310,1310,1309,1309,1309,1309,1309,1308,1308,1308,1308,1308,1307,1307,1307,1307,1307,1306,1306,1306,1306,1306,1305,1305,1305,1305,1305,1305,1304,1304,1304,1304,1304,1303,1303,1303,1303,1303,1302,1302,1302,1302,1302,1301,1301,1301,1301,1301,1301,1300,1300,1300,1300,1300,1299,1299,1299,1299,1299,1298,1298,1298,1298,1298,1298,1297,1297,1297,1297,1297,1296,1296,1296,1296,1296,1295,1295,1295,1295,1295,1295,1294,1294,1294,1294,1294,1293,1293,1293,1293,1293,1292,1292,1292,1292,1292,1292,1291,1291,1291,1291,1291,1290,1290,1290,1290,1290,1290,1289,1289,1289,1289,1289,1288,1288,1288,1288,1288,1288,1287,1287,1287,1287,1287,1286,1286,1286,1286,1286,1286,1285,1285,1285,1285,1285,1284,1284,1284,1284,1284,1284,1283,1283,1283,1283,1283,1282,1282,1282,1282,1282,1282,1281,1281,1281,1281,1281,1280,1280,1280,1280,1280,1280,1279,1279,1279,1279,1279,1279,1278,1278,1278,1278,1278,1277,1277,1277,1277,1277,1277,1276,1276,1276,1276,1276,1276,1275,1275,1275,1275,1275,1274,1274,1274,1274,1274,1274,1273,1273,1273,1273,1273,1273,1272,1272,1272,1272,1272,1271,1271,1271,1271,1271,1271,1270,1270,1270,1270,1270,1270,1269,1269,1269,1269,1269,1269,1268,1268,1268,1268,1268,1267,1267,1267,1267,1267,1267,1266,1266,1266,1266,1266,1266,1265,1265,1265,1265,1265,1265,1264,1264,1264,1264,1264,1264,1263,1263,1263,1263,1263,1263,1262,1262,1262,1262,1262,1261,1261,1261,1261,1261,1261,1260,1260,1260,1260,1260,1260,1259,1259,1259,1259,1259,1259,1258,1258,1258,1258,1258,1258,1257,1257,1257,1257,1257,1257,1256,1256,1256,1256,1256,1256,1255,1255,1255,1255,1255,1255,1254,1254,1254,1254,1254,1254,1253,1253,1253,1253,1253,1253,1252,1252,1252,1252,1252,1252,1251,1251,1251,1251,1251,1251,1250,1250,1250,1250,1250,1250,1250,1249,1249,1249,1249,1249,1249,1248,1248,1248,1248,1248,1248,1247,1247,1247,1247,1247,1247,1246,1246,1246,1246,1246,1246,1245,1245,1245,1245,1245,1245,1244,1244,1244,1244,1244,1244,1244,1243,1243,1243,1243,1243,1243,1242,1242,1242,1242,1242,1242,1241,1241,1241,1241,1241,1241,1240,1240,1240,1240,1240,1240,1240,1239,1239,1239,1239,1239,1239,1238,1238,1238,1238,1238,1238,1237,1237,1237,1237,1237,1237,1237,1236,1236,1236,1236,1236,1236,1235,1235,1235,1235,1235,1235,1234,1234,1234,1234,1234,1234,1234,1233,1233,1233,1233,1233,1233,1232,1232,1232,1232,1232,1232,1232,1231,1231,1231,1231,1231,1231,1230,1230,1230,1230,1230,1230,1230,1229,1229,1229,1229,1229,1229,1228,1228,1228,1228,1228,1228,1228,1227,1227,1227,1227,1227,1227,1226,1226,1226,1226,1226,1226,1226,1225,1225,1225,1225,1225,1225,1224,1224,1224,1224,1224,1224,1224,1223,1223,1223,1223,1223,1223,1223,1222,1222,1222,1222,1222,1222,1221,1221,1221,1221,1221,1221,1221,1220,1220,1220,1220,1220,1220,1220,1219,1219,1219,1219,1219,1219,1218,1218,1218,1218,1218,1218,1218,1217,1217,1217,1217,1217,1217,1217,1216,1216,1216,1216,1216,1216,1216,1215,1215,1215,1215,1215,1215,1215,1214,1214,1214,1214,1214,1214,1213,1213,1213,1213,1213,1213,1213,1212,1212,1212,1212,1212,1212,1212,1211,1211,1211,1211,1211,1211,1211,1210,1210,1210,1210,1210,1210,1210,1209,1209,1209,1209,1209,1209,1209,1208,1208,1208,1208,1208,1208,1208,1207,1207,1207,1207,1207,1207,1207,1206,1206,1206,1206,1206,1206,1206,1205,1205,1205,1205,1205,1205,1205,1204,1204,1204,1204,1204,1204,1204,1203,1203,1203,1203,1203,1203,1203,1202,1202,1202,1202,1202,1202,1202,1201,1201,1201,1201,1201,1201,1201,1201,1200,1200,1200,1200,1200,1200,1200,1199,1199,1199,1199,1199,1199,1199,1198,1198,1198,1198,1198,1198,1198,1197,1197,1197,1197,1197,1197,1197,1196,1196,1196,1196,1196,1196,1196,1196,1195,1195,1195,1195,1195,1195,1195,1194,1194,1194,1194,1194,1194,1194,1193,1193,1193,1193,1193,1193,1193,1193,1192,1192,1192,1192,1192,1192,1192,1191,1191,1191,1191,1191,1191,1191,1191,1190,1190,1190,1190,1190,1190,1190,1189,1189,1189,1189,1189,1189,1189,1189,1188,1188,1188,1188,1188,1188,1188,1187,1187,1187,1187,1187,1187,1187,1187,1186,1186,1186,1186,1186,1186,1186,1185,1185,1185,1185,1185,1185,1185,1185,1184,1184,1184,1184,1184,1184,1184,1183,1183,1183,1183,1183,1183,1183,1183,1182,1182,1182,1182,1182,1182,1182,1182,1181,1181,1181,1181,1181,1181,1181,1180,1180,1180,1180,1180,1180,1180,1180,1179,1179,1179,1179,1179,1179,1179,1179,1178,1178,1178,1178,1178,1178,1178,1178,1177,1177,1177,1177,1177,1177,1177,1177,1176,1176,1176,1176,1176,1176,1176,1175,1175,1175,1175,1175,1175,1175,1175,1174,1174,1174,1174,1174,1174,1174,1174,1173,1173,1173,1173,1173,1173,1173,1173,1172,1172,1172,1172,1172,1172,1172,1172,1171,1171,1171,1171,1171,1171,1171,1171,1170,1170,1170,1170,1170,1170,1170,1170,1169,1169,1169,1169,1169,1169,1169,1169,1168,1168,1168,1168,1168,1168,1168,1168,1167,1167,1167,1167,1167,1167,1167,1167,1167,1166,1166,1166,1166,1166,1166,1166,1166,1165,1165,1165,1165,1165,1165,1165,1165,1164,1164,1164,1164,1164,1164,1164,1164,1163,1163,1163,1163,1163,1163,1163,1163,1162,1162,1162,1162,1162,1162,1162,1162,1162,1161,1161,1161,1161,1161,1161,1161,1161,1160,1160,1160,1160,1160,1160,1160,1160,1159,1159,1159,1159,1159,1159,1159,1159,1159,1158,1158,1158,1158,1158,1158,1158,1158,1157,1157,1157,1157,1157,1157,1157,1157,1157,1156,1156,1156,1156,1156,1156,1156,1156,1155,1155,1155,1155,1155,1155,1155,1155,1155,1154,1154,1154,1154,1154,1154,1154,1154,1154,1153,1153,1153,1153,1153,1153,1153,1153,1152,1152,1152,1152,1152,1152,1152,1152,1152,1151,1151,1151,1151,1151,1151,1151,1151,1151,1150,1150,1150,1150,1150,1150,1150,1150,1149,1149,1149,1149,1149,1149,1149,1149,1149,1148,1148,1148,1148,1148,1148,1148,1148,1148,1147,1147,1147,1147,1147,1147,1147,1147,1147,1146,1146,1146,1146,1146,1146,1146,1146,1146,1145,1145,1145,1145,1145,1145,1145,1145,1145,1144,1144,1144,1144,1144,1144,1144,1144,1144,1143,1143,1143,1143,1143,1143,1143,1143,1143,1142,1142,1142,1142,1142,1142,1142,1142,1142,1141,1141,1141,1141,1141,1141,1141,1141,1141,1140,1140,1140,1140,1140,1140,1140,1140,1140,1139,1139,1139,1139,1139,1139,1139,1139,1139,1138,1138,1138,1138,1138,1138,1138,1138,1138,1138,1137,1137,1137,1137,1137,1137,1137,1137,1137,1136,1136,1136,1136,1136,1136,1136,1136,1136,1135,1135,1135,1135,1135,1135,1135,1135,1135,1135,1134,1134,1134,1134,1134,1134,1134,1134,1134,1133,1133,1133,1133,1133,1133,1133,1133,1133,1132,1132,1132,1132,1132,1132,1132,1132,1132,1132,1131,1131,1131,1131,1131,1131,1131,1131,1131,1130,1130,1130,1130,1130,1130,1130,1130,1130,1130,1129,1129,1129,1129,1129,1129,1129,1129,1129,1129,1128,1128,1128,1128,1128,1128,1128,1128,1128,1127,1127,1127,1127,1127,1127,1127,1127,1127,1127,1126,1126,1126,1126,1126,1126,1126,1126,1126,1126,1125,1125,1125,1125,1125,1125,1125,1125,1125,1125,1124,1124,1124,1124,1124,1124,1124,1124,1124,1124,1123,1123,1123,1123,1123,1123,1123,1123,1123,1123,1122,1122,1122,1122,1122,1122,1122,1122,1122,1122,1121,1121,1121,1121,1121,1121,1121,1121,1121,1121,1120,1120,1120,1120,1120,1120,1120,1120,1120,1120,1119,1119,1119,1119,1119,1119,1119,1119,1119,1119,1118,1118,1118,1118,1118,1118,1118,1118,1118,1118,1117,1117,1117,1117,1117,1117,1117,1117,1117,1117,1117,1116,1116,1116,1116,1116,1116,1116,1116,1116,1116,1115,1115,1115,1115,1115,1115,1115,1115,1115,1115,1114,1114,1114,1114,1114,1114,1114,1114,1114,1114,1114,1113,1113,1113,1113,1113,1113,1113,1113,1113,1113,1112,1112,1112,1112,1112,1112,1112,1112,1112,1112,1112,1111,1111,1111,1111,1111,1111,1111,1111,1111,1111,1110,1110,1110,1110,1110,1110,1110,1110,1110,1110,1110,1109,1109,1109,1109,1109,1109,1109,1109,1109,1109,1109,1108,1108,1108,1108,1108,1108,1108,1108,1108,1108,1108,1107,1107,1107,1107,1107,1107,1107,1107,1107,1107,1107,1106,1106,1106,1106,1106,1106,1106,1106,1106,1106,1106,1105,1105,1105,1105,1105,1105,1105,1105,1105,1105,1105,1104,1104,1104,1104,1104,1104,1104,1104,1104,1104,1104,1103,1103,1103,1103,1103,1103,1103,1103,1103,1103,1103,1102,1102,1102,1102,1102,1102,1102,1102,1102,1102,1102,1101,1101,1101,1101,1101,1101,1101,1101,1101,1101,1101,1100,1100,1100,1100,1100,1100,1100,1100,1100,1100,1100,1100,1099,1099,1099,1099,1099,1099,1099,1099,1099,1099,1099,1098,1098,1098,1098,1098,1098,1098,1098,1098,1098,1098,1097,1097,1097,1097,1097,1097,1097,1097,1097,1097,1097,1097,1096,1096,1096,1096,1096,1096,1096,1096,1096,1096,1096,1096,1095,1095,1095,1095,1095,1095,1095,1095,1095,1095,1095,1094,1094,1094,1094,1094,1094,1094,1094,1094,1094,1094,1094,1093,1093,1093,1093,1093,1093,1093,1093,1093,1093,1093,1093,1092,1092,1092,1092,1092,1092,1092,1092,1092,1092,1092,1092,1091,1091,1091,1091,1091,1091,1091,1091,1091,1091,1091,1091,1090,1090,1090,1090,1090,1090,1090,1090,1090,1090,1090,1090,1089,1089,1089,1089,1089,1089,1089,1089,1089,1089,1089,1089,1088,1088,1088,1088,1088,1088,1088,1088,1088,1088,1088,1088,1087,1087,1087,1087,1087,1087,1087,1087,1087,1087,1087,1087,1087,1086,1086,1086,1086,1086,1086,1086,1086,1086,1086,1086,1086,1085,1085,1085,1085,1085,1085,1085,1085,1085,1085,1085,1085,1084,1084,1084,1084,1084,1084,1084,1084,1084,1084,1084,1084,1084,1083,1083,1083,1083,1083,1083,1083,1083,1083,1083,1083,1083,1083,1082,1082,1082,1082,1082,1082,1082,1082,1082,1082,1082,1082,1082,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1080,1080,1080,1080,1080,1080,1080,1080,1080,1080,1080,1080,1080,1079,1079,1079,1079,1079,1079,1079,1079,1079,1079,1079,1079,1079,1078,1078,1078,1078,1078,1078,1078,1078,1078,1078,1078,1078,1078,1078,1077,1077,1077,1077,1077,1077,1077,1077,1077,1077,1077,1077,1077,1076,1076,1076,1076,1076,1076,1076,1076,1076,1076,1076,1076,1076,1075,1075,1075,1075,1075,1075,1075,1075,1075,1075,1075,1075,1075,1075,1074,1074,1074,1074,1074,1074,1074,1074,1074,1074,1074,1074,1074,1073,1073,1073,1073,1073,1073,1073,1073,1073,1073,1073,1073,1073,1073,1072,1072,1072,1072,1072,1072,1072,1072,1072,1072,1072,1072,1072,1072,1071,1071,1071,1071,1071,1071,1071,1071,1071,1071,1071,1071,1071,1071,1070,1070,1070,1070,1070,1070,1070,1070,1070,1070,1070,1070,1070,1070,1069,1069,1069,1069,1069,1069,1069,1069,1069,1069,1069,1069,1069,1069,1068,1068,1068,1068,1068,1068,1068,1068,1068,1068,1068,1068,1068,1068,1067,1067,1067,1067,1067,1067,1067,1067,1067,1067,1067,1067,1067,1067,1066,1066,1066,1066,1066,1066,1066,1066,1066,1066,1066,1066,1066,1066,1066,1065,1065,1065,1065,1065,1065,1065,1065,1065,1065,1065,1065,1065,1065,1064,1064,1064,1064,1064,1064,1064,1064,1064,1064,1064,1064,1064,1064,1064,1063,1063,1063,1063,1063,1063,1063,1063,1063,1063,1063,1063,1063,1063,1063,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1061,1061,1061,1061,1061,1061,1061,1061,1061,1061,1061,1061,1061,1061,1061,1060,1060,1060,1060,1060,1060,1060,1060,1060,1060,1060,1060,1060,1060,1060,1059,1059,1059,1059,1059,1059,1059,1059,1059,1059,1059,1059,1059,1059,1059,1059,1058,1058,1058,1058,1058,1058,1058,1058,1058,1058,1058,1058,1058,1058,1058,1058,1057,1057,1057,1057,1057,1057,1057,1057,1057,1057,1057,1057,1057,1057,1057,1056,1056,1056,1056,1056,1056,1056,1056,1056,1056,1056,1056,1056,1056,1056,1056,1055,1055,1055,1055,1055,1055,1055,1055,1055,1055,1055,1055,1055,1055,1055,1055,1054,1054,1054,1054,1054,1054,1054,1054,1054,1054,1054,1054,1054,1054,1054,1054,1054,1053,1053,1053,1053,1053,1053,1053,1053,1053,1053,1053,1053,1053,1053,1053,1053,1052,1052,1052,1052,1052,1052,1052,1052,1052,1052,1052,1052,1052,1052,1052,1052,1052,1051,1051,1051,1051,1051,1051,1051,1051,1051,1051,1051,1051,1051,1051,1051,1051,1050,1050,1050,1050,1050,1050,1050,1050,1050,1050,1050,1050,1050,1050,1050,1050,1050,1049,1049,1049,1049,1049,1049,1049,1049,1049,1049,1049,1049,1049,1049,1049,1049,1049,1048,1048,1048,1048,1048,1048,1048,1048,1048,1048,1048,1048,1048,1048,1048,1048,1048,1048,1047,1047,1047,1047,1047,1047,1047,1047,1047,1047,1047,1047,1047,1047,1047,1047,1047,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1045,1045,1045,1045,1045,1045,1045,1045,1045,1045,1045,1045,1045,1045,1045,1045,1045,1045,1044,1044,1044,1044,1044,1044,1044,1044,1044,1044,1044,1044,1044,1044,1044,1044,1044,1044,1043,1043,1043,1043,1043,1043,1043,1043,1043,1043,1043,1043,1043,1043,1043,1043,1043,1043,1043,1042,1042,1042,1042,1042,1042,1042,1042,1042,1042,1042,1042,1042,1042,1042,1042,1042,1042,1041,1041,1041,1041,1041,1041,1041,1041,1041,1041,1041,1041,1041,1041,1041,1041,1041,1041,1041,1040,1040,1040,1040,1040,1040,1040,1040,1040,1040,1040,1040,1040,1040,1040,1040,1040,1040,1040,1039,1039,1039,1039,1039,1039,1039,1039,1039,1039,1039,1039,1039,1039,1039,1039,1039,1039,1039,1039,1038,1038,1038,1038,1038,1038,1038,1038,1038,1038,1038,1038,1038,1038,1038,1038,1038,1038,1038,1037,1037,1037,1037,1037,1037,1037,1037,1037,1037,1037,1037,1037,1037,1037,1037,1037,1037,1037,1037,1036,1036,1036,1036,1036,1036,1036,1036,1036,1036,1036,1036,1036,1036,1036,1036,1036,1036,1036,1036,1036,1035,1035,1035,1035,1035,1035,1035,1035,1035,1035,1035,1035,1035,1035,1035,1035,1035,1035,1035,1035,1034,1034,1034,1034,1034,1034,1034,1034,1034,1034,1034,1034,1034,1034,1034,1034,1034,1034,1034,1034,1034,1033,1033,1033,1033,1033,1033,1033,1033,1033,1033,1033,1033,1033,1033,1033,1033,1033,1033,1033,1033,1033,1032,1032,1032,1032,1032,1032,1032,1032,1032,1032,1032,1032,1032,1032,1032,1032,1032,1032,1032,1032,1032,1032,1031,1031,1031,1031,1031,1031,1031,1031,1031,1031,1031,1031,1031,1031,1031,1031,1031,1031,1031,1031,1031,1031,1030,1030,1030,1030,1030,1030,1030,1030,1030,1030,1030,1030,1030,1030,1030,1030,1030,1030,1030,1030,1030,1030,1029,1029,1029,1029,1029,1029,1029,1029,1029,1029,1029,1029,1029,1029,1029,1029,1029,1029,1029,1029,1029,1029,1029,1028,1028,1028,1028,1028,1028,1028,1028,1028,1028,1028,1028,1028,1028,1028,1028,1028,1028,1028,1028,1028,1028,1028,1027,1027,1027,1027,1027,1027,1027,1027,1027,1027,1027,1027,1027,1027,1027,1027,1027,1027,1027,1027,1027,1027,1027,1027,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1025,1025,1025,1025,1025,1025,1025,1025,1025,1025,1025,1025,1025,1025,1025,1025,1025,1025,1025,1025,1025,1025,1025,1025,1024,1024,1024,1024,1024,1024,1024,1024,1024,1024,1024,1024,1024,1024,1024,1024,1024,1024,1024,1024,1024,1024,1024,1024,1024,1024,1023,1023,1023,1023,1023,1023,1023,1023,1023,1023,1023,1023,1023,1023,1023,1023,1023,1023,1023,1023,1023,1023,1023,1023,1023,1022,1022,1022,1022,1022,1022,1022,1022,1022,1022,1022,1022,1022,1022,1022,1022,1022,1022,1022,1022,1022,1022,1022,1022,1022,1022,1022,1021,1021,1021,1021,1021,1021,1021,1021,1021,1021,1021,1021,1021,1021,1021,1021,1021,1021,1021,1021,1021,1021,1021,1021,1021,1021,1020,1020,1020,1020,1020,1020,1020,1020,1020,1020,1020,1020,1020,1020,1020,1020,1020,1020,1020,1020,1020,1020,1020,1020,1020,1020,1020,1020,1019,1019,1019,1019,1019,1019,1019,1019,1019,1019,1019,1019,1019,1019,1019,1019,1019,1019,1019,1019,1019,1019,1019,1019,1019,1019,1019,1019,1018,1018,1018,1018,1018,1018,1018,1018,1018,1018,1018,1018,1018,1018,1018,1018,1018,1018,1018,1018,1018,1018,1018,1018,1018,1018,1018,1018,1018,1017,1017,1017,1017,1017,1017,1017,1017,1017,1017,1017,1017,1017,1017,1017,1017,1017,1017,1017,1017,1017,1017,1017,1017,1017,1017,1017,1017,1017,1017,1016,1016,1016,1016,1016,1016,1016,1016,1016,1016,1016,1016,1016,1016,1016,1016,1016,1016,1016,1016,1016,1016,1016,1016,1016,1016,1016,1016,1016,1016,1016,1015,1015,1015,1015,1015,1015,1015,1015,1015,1015,1015,1015,1015,1015,1015,1015,1015,1015,1015,1015,1015,1015,1015,1015,1015,1015,1015,1015,1015,1015,1015,1015,1014,1014,1014,1014,1014,1014,1014,1014,1014,1014,1014,1014,1014,1014,1014,1014,1014,1014,1014,1014,1014,1014,1014,1014,1014,1014,1014,1014,1014,1014,1014,1014,1014,1013,1013,1013,1013,1013,1013,1013,1013,1013,1013,1013,1013,1013,1013,1013,1013,1013,1013,1013,1013,1013,1013,1013,1013,1013,1013,1013,1013,1013,1013,1013,1013,1013,1013,1013,1012,1012,1012,1012,1012,1012,1012,1012,1012,1012,1012,1012,1012,1012,1012,1012,1012,1012,1012,1012,1012,1012,1012,1012,1012,1012,1012,1012,1012,1012,1012,1012,1012,1012,1012,1011,1011,1011,1011,1011,1011,1011,1011,1011,1011,1011,1011,1011,1011,1011,1011,1011,1011,1011,1011,1011,1011,1011,1011,1011,1011,1011,1011,1011,1011,1011,1011,1011,1011,1011,1011,1011,1011,1010,1010,1010,1010,1010,1010,1010,1010,1010,1010,1010,1010,1010,1010,1010,1010,1010,1010,1010,1010,1010,1010,1010,1010,1010,1010,1010,1010,1010,1010,1010,1010,1010,1010,1010,1010,1010,1010,1010,1009,1009,1009,1009,1009,1009,1009,1009,1009,1009,1009,1009,1009,1009,1009,1009,1009,1009,1009,1009,1009,1009,1009,1009,1009,1009,1009,1009,1009,1009,1009,1009,1009,1009,1009,1009,1009,1009,1009,1009,1009,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1007,1007,1007,1007,1007,1007,1007,1007,1007,1007,1007,1007,1007,1007,1007,1007,1007,1007,1007,1007,1007,1007,1007,1007,1007,1007,1007,1007,1007,1007,1007,1007,1007,1007,1007,1007,1007,1007,1007,1007,1007,1007,1007,1007,1007,1007,1007,1006,1006,1006,1006,1006,1006,1006,1006,1006,1006,1006,1006,1006,1006,1006,1006,1006,1006,1006,1006,1006,1006,1006,1006,1006,1006,1006,1006,1006,1006,1006,1006,1006,1006,1006,1006,1006,1006,1006,1006,1006,1006,1006,1006,1006,1006,1006,1006,1006,1005,1005,1005,1005,1005,1005,1005,1005,1005,1005,1005,1005,1005,1005,1005,1005,1005,1005,1005,1005,1005,1005,1005,1005,1005,1005,1005,1005,1005,1005,1005,1005,1005,1005,1005,1005,1005,1005,1005,1005,1005,1005,1005,1005,1005,1005,1005,1005,1005,1005,1005,1005,1005,1005,1005,1004,1004,1004,1004,1004,1004,1004,1004,1004,1004,1004,1004,1004,1004,1004,1004,1004,1004,1004,1004,1004,1004,1004,1004,1004,1004,1004,1004,1004,1004,1004,1004,1004,1004,1004,1004,1004,1004,1004,1004,1004,1004,1004,1004,1004,1004,1004,1004,1004,1004,1004,1004,1004,1004,1004,1004,1004,1004,1004,1004,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1002,1002,1002,1002,1002,1002,1002,1002,1002,1002,1002,1002,1002,1002,1002,1002,1002,1002,1002,1002,1002,1002,1002,1002,1002,1002,1002,1002,1002,1002,1002,1002,1002,1002,1002,1002,1002,1002,1002,1002,1002,1002,1002,1002,1002,1002,1002,1002,1002,1002,1002,1002,1002,1002,1002,1002,1002,1002,1002,1002,1002,1002,1002,1002,1002,1002,1002,1002,1002,1002,1002,1002,1002,1002,1002,1002,1002,1002,1002,1002,1002,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000]
+ data modify storage gm4_player_motion:sine arr set value [0,0,0,0,0,0,1,1,1,1,1,1,2,2,2,2,2,2,3,3,3,3,3,4,4,4,4,4,4,5,5,5,5,5,5,6,6,6,6,6,6,7,7,7,7,7,8,8,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,11,11,11,11,11,12,12,12,12,12,12,13,13,13,13,13,13,14,14,14,14,14,15,15,15,15,15,15,16,16,16,16,16,16,17,17,17,17,17,17,18,18,18,18,18,19,19,19,19,19,19,20,20,20,20,20,20,21,21,21,21,21,21,22,22,22,22,22,23,23,23,23,23,23,24,24,24,24,24,24,25,25,25,25,25,26,26,26,26,26,26,27,27,27,27,27,27,28,28,28,28,28,28,29,29,29,29,29,30,30,30,30,30,30,31,31,31,31,31,31,32,32,32,32,32,32,33,33,33,33,33,34,34,34,34,34,34,35,35,35,35,35,35,36,36,36,36,36,36,37,37,37,37,37,38,38,38,38,38,38,39,39,39,39,39,39,40,40,40,40,40,41,41,41,41,41,41,42,42,42,42,42,42,43,43,43,43,43,43,44,44,44,44,44,45,45,45,45,45,45,46,46,46,46,46,46,47,47,47,47,47,47,48,48,48,48,48,49,49,49,49,49,49,50,50,50,50,50,50,51,51,51,51,51,51,52,52,52,52,52,53,53,53,53,53,53,54,54,54,54,54,54,55,55,55,55,55,55,56,56,56,56,56,57,57,57,57,57,57,58,58,58,58,58,58,59,59,59,59,59,60,60,60,60,60,60,61,61,61,61,61,61,62,62,62,62,62,62,63,63,63,63,63,64,64,64,64,64,64,65,65,65,65,65,65,66,66,66,66,66,66,67,67,67,67,67,68,68,68,68,68,68,69,69,69,69,69,69,70,70,70,70,70,70,71,71,71,71,71,72,72,72,72,72,72,73,73,73,73,73,73,74,74,74,74,74,74,75,75,75,75,75,76,76,76,76,76,76,77,77,77,77,77,77,78,78,78,78,78,78,79,79,79,79,79,80,80,80,80,80,80,81,81,81,81,81,81,82,82,82,82,82,82,83,83,83,83,83,84,84,84,84,84,84,85,85,85,85,85,85,86,86,86,86,86,86,87,87,87,87,87,88,88,88,88,88,88,89,89,89,89,89,89,90,90,90,90,90,90,91,91,91,91,91,92,92,92,92,92,92,93,93,93,93,93,93,94,94,94,94,94,94,95,95,95,95,95,96,96,96,96,96,96,97,97,97,97,97,97,98,98,98,98,98,98,99,99,99,99,99,100,100,100,100,100,100,101,101,101,101,101,101,102,102,102,102,102,102,103,103,103,103,103,104,104,104,104,104,104,105,105,105,105,105,105,106,106,106,106,106,106,107,107,107,107,107,107,108,108,108,108,108,109,109,109,109,109,109,110,110,110,110,110,110,111,111,111,111,111,111,112,112,112,112,112,113,113,113,113,113,113,114,114,114,114,114,114,115,115,115,115,115,115,116,116,116,116,116,117,117,117,117,117,117,118,118,118,118,118,118,119,119,119,119,119,119,120,120,120,120,120,121,121,121,121,121,121,122,122,122,122,122,122,123,123,123,123,123,123,124,124,124,124,124,124,125,125,125,125,125,126,126,126,126,126,126,127,127,127,127,127,127,128,128,128,128,128,128,129,129,129,129,129,130,130,130,130,130,130,131,131,131,131,131,131,132,132,132,132,132,132,133,133,133,133,133,133,134,134,134,134,134,135,135,135,135,135,135,136,136,136,136,136,136,137,137,137,137,137,137,138,138,138,138,138,139,139,139,139,139,139,140,140,140,140,140,140,141,141,141,141,141,141,142,142,142,142,142,142,143,143,143,143,143,144,144,144,144,144,144,145,145,145,145,145,145,146,146,146,146,146,146,147,147,147,147,147,147,148,148,148,148,148,149,149,149,149,149,149,150,150,150,150,150,150,151,151,151,151,151,151,152,152,152,152,152,152,153,153,153,153,153,154,154,154,154,154,154,155,155,155,155,155,155,156,156,156,156,156,156,157,157,157,157,157,157,158,158,158,158,158,159,159,159,159,159,159,160,160,160,160,160,160,161,161,161,161,161,161,162,162,162,162,162,162,163,163,163,163,163,164,164,164,164,164,164,165,165,165,165,165,165,166,166,166,166,166,166,167,167,167,167,167,167,168,168,168,168,168,169,169,169,169,169,169,170,170,170,170,170,170,171,171,171,171,171,171,172,172,172,172,172,172,173,173,173,173,173,173,174,174,174,174,174,175,175,175,175,175,175,176,176,176,176,176,176,177,177,177,177,177,177,178,178,178,178,178,178,179,179,179,179,179,180,180,180,180,180,180,181,181,181,181,181,181,182,182,182,182,182,182,183,183,183,183,183,183,184,184,184,184,184,184,185,185,185,185,185,186,186,186,186,186,186,187,187,187,187,187,187,188,188,188,188,188,188,189,189,189,189,189,189,190,190,190,190,190,190,191,191,191,191,191,192,192,192,192,192,192,193,193,193,193,193,193,194,194,194,194,194,194,195,195,195,195,195,195,196,196,196,196,196,196,197,197,197,197,197,197,198,198,198,198,198,199,199,199,199,199,199,200,200,200,200,200,200,201,201,201,201,201,201,202,202,202,202,202,202,203,203,203,203,203,203,204,204,204,204,204,205,205,205,205,205,205,206,206,206,206,206,206,207,207,207,207,207,207,208,208,208,208,208,208,209,209,209,209,209,209,210,210,210,210,210,210,211,211,211,211,211,212,212,212,212,212,212,213,213,213,213,213,213,214,214,214,214,214,214,215,215,215,215,215,215,216,216,216,216,216,216,217,217,217,217,217,217,218,218,218,218,218,218,219,219,219,219,219,220,220,220,220,220,220,221,221,221,221,221,221,222,222,222,222,222,222,223,223,223,223,223,223,224,224,224,224,224,224,225,225,225,225,225,225,226,226,226,226,226,226,227,227,227,227,227,228,228,228,228,228,228,229,229,229,229,229,229,230,230,230,230,230,230,231,231,231,231,231,231,232,232,232,232,232,232,233,233,233,233,233,233,234,234,234,234,234,234,235,235,235,235,235,235,236,236,236,236,236,237,237,237,237,237,237,238,238,238,238,238,238,239,239,239,239,239,239,240,240,240,240,240,240,241,241,241,241,241,241,242,242,242,242,242,242,243,243,243,243,243,243,244,244,244,244,244,244,245,245,245,245,245,245,246,246,246,246,246,246,247,247,247,247,247,248,248,248,248,248,248,249,249,249,249,249,249,250,250,250,250,250,250,251,251,251,251,251,251,252,252,252,252,252,252,253,253,253,253,253,253,254,254,254,254,254,254,255,255,255,255,255,255,256,256,256,256,256,256,257,257,257,257,257,257,258,258,258,258,258,258,259,259,259,259,259,259,260,260,260,260,260,261,261,261,261,261,261,262,262,262,262,262,262,263,263,263,263,263,263,264,264,264,264,264,264,265,265,265,265,265,265,266,266,266,266,266,266,267,267,267,267,267,267,268,268,268,268,268,268,269,269,269,269,269,269,270,270,270,270,270,270,271,271,271,271,271,271,272,272,272,272,272,272,273,273,273,273,273,273,274,274,274,274,274,274,275,275,275,275,275,275,276,276,276,276,276,276,277,277,277,277,277,277,278,278,278,278,278,278,279,279,279,279,279,279,280,280,280,280,280,281,281,281,281,281,281,282,282,282,282,282,282,283,283,283,283,283,283,284,284,284,284,284,284,285,285,285,285,285,285,286,286,286,286,286,286,287,287,287,287,287,287,288,288,288,288,288,288,289,289,289,289,289,289,290,290,290,290,290,290,291,291,291,291,291,291,292,292,292,292,292,292,293,293,293,293,293,293,294,294,294,294,294,294,295,295,295,295,295,295,296,296,296,296,296,296,297,297,297,297,297,297,298,298,298,298,298,298,299,299,299,299,299,299,300,300,300,300,300,300,301,301,301,301,301,301,302,302,302,302,302,302,303,303,303,303,303,303,304,304,304,304,304,304,305,305,305,305,305,305,306,306,306,306,306,306,307,307,307,307,307,307,308,308,308,308,308,308,309,309,309,309,309,309,310,310,310,310,310,310,311,311,311,311,311,311,312,312,312,312,312,312,312,313,313,313,313,313,313,314,314,314,314,314,314,315,315,315,315,315,315,316,316,316,316,316,316,317,317,317,317,317,317,318,318,318,318,318,318,319,319,319,319,319,319,320,320,320,320,320,320,321,321,321,321,321,321,322,322,322,322,322,322,323,323,323,323,323,323,324,324,324,324,324,324,325,325,325,325,325,325,326,326,326,326,326,326,327,327,327,327,327,327,328,328,328,328,328,328,329,329,329,329,329,329,330,330,330,330,330,330,331,331,331,331,331,331,331,332,332,332,332,332,332,333,333,333,333,333,333,334,334,334,334,334,334,335,335,335,335,335,335,336,336,336,336,336,336,337,337,337,337,337,337,338,338,338,338,338,338,339,339,339,339,339,339,340,340,340,340,340,340,341,341,341,341,341,341,342,342,342,342,342,342,343,343,343,343,343,343,343,344,344,344,344,344,344,345,345,345,345,345,345,346,346,346,346,346,346,347,347,347,347,347,347,348,348,348,348,348,348,349,349,349,349,349,349,350,350,350,350,350,350,351,351,351,351,351,351,352,352,352,352,352,352,352,353,353,353,353,353,353,354,354,354,354,354,354,355,355,355,355,355,355,356,356,356,356,356,356,357,357,357,357,357,357,358,358,358,358,358,358,359,359,359,359,359,359,359,360,360,360,360,360,360,361,361,361,361,361,361,362,362,362,362,362,362,363,363,363,363,363,363,364,364,364,364,364,364,365,365,365,365,365,365,366,366,366,366,366,366,366,367,367,367,367,367,367,368,368,368,368,368,368,369,369,369,369,369,369,370,370,370,370,370,370,371,371,371,371,371,371,372,372,372,372,372,372,372,373,373,373,373,373,373,374,374,374,374,374,374,375,375,375,375,375,375,376,376,376,376,376,376,377,377,377,377,377,377,378,378,378,378,378,378,378,379,379,379,379,379,379,380,380,380,380,380,380,381,381,381,381,381,381,382,382,382,382,382,382,383,383,383,383,383,383,383,384,384,384,384,384,384,385,385,385,385,385,385,386,386,386,386,386,386,387,387,387,387,387,387,387,388,388,388,388,388,388,389,389,389,389,389,389,390,390,390,390,390,390,391,391,391,391,391,391,392,392,392,392,392,392,392,393,393,393,393,393,393,394,394,394,394,394,394,395,395,395,395,395,395,396,396,396,396,396,396,396,397,397,397,397,397,397,398,398,398,398,398,398,399,399,399,399,399,399,400,400,400,400,400,400,400,401,401,401,401,401,401,402,402,402,402,402,402,403,403,403,403,403,403,404,404,404,404,404,404,404,405,405,405,405,405,405,406,406,406,406,406,406,407,407,407,407,407,407,408,408,408,408,408,408,408,409,409,409,409,409,409,410,410,410,410,410,410,411,411,411,411,411,411,411,412,412,412,412,412,412,413,413,413,413,413,413,414,414,414,414,414,414,415,415,415,415,415,415,415,416,416,416,416,416,416,417,417,417,417,417,417,418,418,418,418,418,418,418,419,419,419,419,419,419,420,420,420,420,420,420,421,421,421,421,421,421,421,422,422,422,422,422,422,423,423,423,423,423,423,424,424,424,424,424,424,424,425,425,425,425,425,425,426,426,426,426,426,426,427,427,427,427,427,427,427,428,428,428,428,428,428,429,429,429,429,429,429,430,430,430,430,430,430,430,431,431,431,431,431,431,432,432,432,432,432,432,433,433,433,433,433,433,433,434,434,434,434,434,434,435,435,435,435,435,435,436,436,436,436,436,436,436,437,437,437,437,437,437,438,438,438,438,438,438,438,439,439,439,439,439,439,440,440,440,440,440,440,441,441,441,441,441,441,441,442,442,442,442,442,442,443,443,443,443,443,443,444,444,444,444,444,444,444,445,445,445,445,445,445,446,446,446,446,446,446,446,447,447,447,447,447,447,448,448,448,448,448,448,449,449,449,449,449,449,449,450,450,450,450,450,450,451,451,451,451,451,451,451,452,452,452,452,452,452,453,453,453,453,453,453,453,454,454,454,454,454,454,455,455,455,455,455,455,456,456,456,456,456,456,456,457,457,457,457,457,457,458,458,458,458,458,458,458,459,459,459,459,459,459,460,460,460,460,460,460,460,461,461,461,461,461,461,462,462,462,462,462,462,462,463,463,463,463,463,463,464,464,464,464,464,464,464,465,465,465,465,465,465,466,466,466,466,466,466,467,467,467,467,467,467,467,468,468,468,468,468,468,469,469,469,469,469,469,469,470,470,470,470,470,470,471,471,471,471,471,471,471,472,472,472,472,472,472,473,473,473,473,473,473,473,474,474,474,474,474,474,475,475,475,475,475,475,475,476,476,476,476,476,476,477,477,477,477,477,477,477,478,478,478,478,478,478,478,479,479,479,479,479,479,480,480,480,480,480,480,480,481,481,481,481,481,481,482,482,482,482,482,482,482,483,483,483,483,483,483,484,484,484,484,484,484,484,485,485,485,485,485,485,486,486,486,486,486,486,486,487,487,487,487,487,487,488,488,488,488,488,488,488,489,489,489,489,489,489,489,490,490,490,490,490,490,491,491,491,491,491,491,491,492,492,492,492,492,492,493,493,493,493,493,493,493,494,494,494,494,494,494,495,495,495,495,495,495,495,496,496,496,496,496,496,496,497,497,497,497,497,497,498,498,498,498,498,498,498,499,499,499,499,499,499,500,500,500,500,500,500,500,501,501,501,501,501,501,501,502,502,502,502,502,502,503,503,503,503,503,503,503,504,504,504,504,504,504,504,505,505,505,505,505,505,506,506,506,506,506,506,506,507,507,507,507,507,507,507,508,508,508,508,508,508,509,509,509,509,509,509,509,510,510,510,510,510,510,510,511,511,511,511,511,511,512,512,512,512,512,512,512,513,513,513,513,513,513,513,514,514,514,514,514,514,515,515,515,515,515,515,515,516,516,516,516,516,516,516,517,517,517,517,517,517,518,518,518,518,518,518,518,519,519,519,519,519,519,519,520,520,520,520,520,520,521,521,521,521,521,521,521,522,522,522,522,522,522,522,523,523,523,523,523,523,523,524,524,524,524,524,524,525,525,525,525,525,525,525,526,526,526,526,526,526,526,527,527,527,527,527,527,527,528,528,528,528,528,528,529,529,529,529,529,529,529,530,530,530,530,530,530,530,531,531,531,531,531,531,531,532,532,532,532,532,532,533,533,533,533,533,533,533,534,534,534,534,534,534,534,535,535,535,535,535,535,535,536,536,536,536,536,536,537,537,537,537,537,537,537,538,538,538,538,538,538,538,539,539,539,539,539,539,539,540,540,540,540,540,540,540,541,541,541,541,541,541,542,542,542,542,542,542,542,543,543,543,543,543,543,543,544,544,544,544,544,544,544,545,545,545,545,545,545,545,546,546,546,546,546,546,546,547,547,547,547,547,547,548,548,548,548,548,548,548,549,549,549,549,549,549,549,550,550,550,550,550,550,550,551,551,551,551,551,551,551,552,552,552,552,552,552,552,553,553,553,553,553,553,553,554,554,554,554,554,554,554,555,555,555,555,555,555,556,556,556,556,556,556,556,557,557,557,557,557,557,557,558,558,558,558,558,558,558,559,559,559,559,559,559,559,560,560,560,560,560,560,560,561,561,561,561,561,561,561,562,562,562,562,562,562,562,563,563,563,563,563,563,563,564,564,564,564,564,564,564,565,565,565,565,565,565,565,566,566,566,566,566,566,566,567,567,567,567,567,567,567,568,568,568,568,568,568,568,569,569,569,569,569,569,569,570,570,570,570,570,570,571,571,571,571,571,571,571,572,572,572,572,572,572,572,573,573,573,573,573,573,573,574,574,574,574,574,574,574,575,575,575,575,575,575,575,576,576,576,576,576,576,576,577,577,577,577,577,577,577,578,578,578,578,578,578,578,578,579,579,579,579,579,579,579,580,580,580,580,580,580,580,581,581,581,581,581,581,581,582,582,582,582,582,582,582,583,583,583,583,583,583,583,584,584,584,584,584,584,584,585,585,585,585,585,585,585,586,586,586,586,586,586,586,587,587,587,587,587,587,587,588,588,588,588,588,588,588,589,589,589,589,589,589,589,590,590,590,590,590,590,590,591,591,591,591,591,591,591,592,592,592,592,592,592,592,592,593,593,593,593,593,593,593,594,594,594,594,594,594,594,595,595,595,595,595,595,595,596,596,596,596,596,596,596,597,597,597,597,597,597,597,598,598,598,598,598,598,598,599,599,599,599,599,599,599,600,600,600,600,600,600,600,600,601,601,601,601,601,601,601,602,602,602,602,602,602,602,603,603,603,603,603,603,603,604,604,604,604,604,604,604,605,605,605,605,605,605,605,605,606,606,606,606,606,606,606,607,607,607,607,607,607,607,608,608,608,608,608,608,608,609,609,609,609,609,609,609,610,610,610,610,610,610,610,610,611,611,611,611,611,611,611,612,612,612,612,612,612,612,613,613,613,613,613,613,613,614,614,614,614,614,614,614,614,615,615,615,615,615,615,615,616,616,616,616,616,616,616,617,617,617,617,617,617,617,617,618,618,618,618,618,618,618,619,619,619,619,619,619,619,620,620,620,620,620,620,620,621,621,621,621,621,621,621,621,622,622,622,622,622,622,622,623,623,623,623,623,623,623,624,624,624,624,624,624,624,624,625,625,625,625,625,625,625,626,626,626,626,626,626,626,627,627,627,627,627,627,627,627,628,628,628,628,628,628,628,629,629,629,629,629,629,629,629,630,630,630,630,630,630,630,631,631,631,631,631,631,631,632,632,632,632,632,632,632,632,633,633,633,633,633,633,633,634,634,634,634,634,634,634,635,635,635,635,635,635,635,635,636,636,636,636,636,636,636,637,637,637,637,637,637,637,637,638,638,638,638,638,638,638,639,639,639,639,639,639,639,639,640,640,640,640,640,640,640,641,641,641,641,641,641,641,641,642,642,642,642,642,642,642,643,643,643,643,643,643,643,643,644,644,644,644,644,644,644,645,645,645,645,645,645,645,645,646,646,646,646,646,646,646,647,647,647,647,647,647,647,647,648,648,648,648,648,648,648,649,649,649,649,649,649,649,649,650,650,650,650,650,650,650,651,651,651,651,651,651,651,651,652,652,652,652,652,652,652,653,653,653,653,653,653,653,653,654,654,654,654,654,654,654,655,655,655,655,655,655,655,655,656,656,656,656,656,656,656,656,657,657,657,657,657,657,657,658,658,658,658,658,658,658,658,659,659,659,659,659,659,659,660,660,660,660,660,660,660,660,661,661,661,661,661,661,661,661,662,662,662,662,662,662,662,663,663,663,663,663,663,663,663,664,664,664,664,664,664,664,664,665,665,665,665,665,665,665,666,666,666,666,666,666,666,666,667,667,667,667,667,667,667,667,668,668,668,668,668,668,668,669,669,669,669,669,669,669,669,670,670,670,670,670,670,670,670,671,671,671,671,671,671,671,671,672,672,672,672,672,672,672,673,673,673,673,673,673,673,673,674,674,674,674,674,674,674,674,675,675,675,675,675,675,675,675,676,676,676,676,676,676,676,677,677,677,677,677,677,677,677,678,678,678,678,678,678,678,678,679,679,679,679,679,679,679,679,680,680,680,680,680,680,680,680,681,681,681,681,681,681,681,681,682,682,682,682,682,682,682,683,683,683,683,683,683,683,683,684,684,684,684,684,684,684,684,685,685,685,685,685,685,685,685,686,686,686,686,686,686,686,686,687,687,687,687,687,687,687,687,688,688,688,688,688,688,688,688,689,689,689,689,689,689,689,689,690,690,690,690,690,690,690,691,691,691,691,691,691,691,691,692,692,692,692,692,692,692,692,693,693,693,693,693,693,693,693,694,694,694,694,694,694,694,694,695,695,695,695,695,695,695,695,696,696,696,696,696,696,696,696,697,697,697,697,697,697,697,697,698,698,698,698,698,698,698,698,699,699,699,699,699,699,699,699,700,700,700,700,700,700,700,700,701,701,701,701,701,701,701,701,702,702,702,702,702,702,702,702,703,703,703,703,703,703,703,703,704,704,704,704,704,704,704,704,705,705,705,705,705,705,705,705,705,706,706,706,706,706,706,706,706,707,707,707,707,707,707,707,707,708,708,708,708,708,708,708,708,709,709,709,709,709,709,709,709,710,710,710,710,710,710,710,710,711,711,711,711,711,711,711,711,712,712,712,712,712,712,712,712,713,713,713,713,713,713,713,713,713,714,714,714,714,714,714,714,714,715,715,715,715,715,715,715,715,716,716,716,716,716,716,716,716,717,717,717,717,717,717,717,717,718,718,718,718,718,718,718,718,718,719,719,719,719,719,719,719,719,720,720,720,720,720,720,720,720,721,721,721,721,721,721,721,721,722,722,722,722,722,722,722,722,722,723,723,723,723,723,723,723,723,724,724,724,724,724,724,724,724,725,725,725,725,725,725,725,725,725,726,726,726,726,726,726,726,726,727,727,727,727,727,727,727,727,728,728,728,728,728,728,728,728,728,729,729,729,729,729,729,729,729,730,730,730,730,730,730,730,730,730,731,731,731,731,731,731,731,731,732,732,732,732,732,732,732,732,733,733,733,733,733,733,733,733,733,734,734,734,734,734,734,734,734,735,735,735,735,735,735,735,735,735,736,736,736,736,736,736,736,736,737,737,737,737,737,737,737,737,737,738,738,738,738,738,738,738,738,739,739,739,739,739,739,739,739,739,740,740,740,740,740,740,740,740,741,741,741,741,741,741,741,741,741,742,742,742,742,742,742,742,742,743,743,743,743,743,743,743,743,743,744,744,744,744,744,744,744,744,745,745,745,745,745,745,745,745,745,746,746,746,746,746,746,746,746,746,747,747,747,747,747,747,747,747,748,748,748,748,748,748,748,748,748,749,749,749,749,749,749,749,749,749,750,750,750,750,750,750,750,750,751,751,751,751,751,751,751,751,751,752,752,752,752,752,752,752,752,752,753,753,753,753,753,753,753,753,754,754,754,754,754,754,754,754,754,755,755,755,755,755,755,755,755,755,756,756,756,756,756,756,756,756,756,757,757,757,757,757,757,757,757,758,758,758,758,758,758,758,758,758,759,759,759,759,759,759,759,759,759,760,760,760,760,760,760,760,760,760,761,761,761,761,761,761,761,761,761,762,762,762,762,762,762,762,762,763,763,763,763,763,763,763,763,763,764,764,764,764,764,764,764,764,764,765,765,765,765,765,765,765,765,765,766,766,766,766,766,766,766,766,766,767,767,767,767,767,767,767,767,767,768,768,768,768,768,768,768,768,768,769,769,769,769,769,769,769,769,769,770,770,770,770,770,770,770,770,770,771,771,771,771,771,771,771,771,771,772,772,772,772,772,772,772,772,772,773,773,773,773,773,773,773,773,773,774,774,774,774,774,774,774,774,774,775,775,775,775,775,775,775,775,775,776,776,776,776,776,776,776,776,776,777,777,777,777,777,777,777,777,777,778,778,778,778,778,778,778,778,778,779,779,779,779,779,779,779,779,779,779,780,780,780,780,780,780,780,780,780,781,781,781,781,781,781,781,781,781,782,782,782,782,782,782,782,782,782,783,783,783,783,783,783,783,783,783,784,784,784,784,784,784,784,784,784,784,785,785,785,785,785,785,785,785,785,786,786,786,786,786,786,786,786,786,787,787,787,787,787,787,787,787,787,788,788,788,788,788,788,788,788,788,788,789,789,789,789,789,789,789,789,789,790,790,790,790,790,790,790,790,790,791,791,791,791,791,791,791,791,791,791,792,792,792,792,792,792,792,792,792,793,793,793,793,793,793,793,793,793,793,794,794,794,794,794,794,794,794,794,795,795,795,795,795,795,795,795,795,796,796,796,796,796,796,796,796,796,796,797,797,797,797,797,797,797,797,797,798,798,798,798,798,798,798,798,798,798,799,799,799,799,799,799,799,799,799,799,800,800,800,800,800,800,800,800,800,801,801,801,801,801,801,801,801,801,801,802,802,802,802,802,802,802,802,802,803,803,803,803,803,803,803,803,803,803,804,804,804,804,804,804,804,804,804,804,805,805,805,805,805,805,805,805,805,806,806,806,806,806,806,806,806,806,806,807,807,807,807,807,807,807,807,807,807,808,808,808,808,808,808,808,808,808,809,809,809,809,809,809,809,809,809,809,810,810,810,810,810,810,810,810,810,810,811,811,811,811,811,811,811,811,811,811,812,812,812,812,812,812,812,812,812,812,813,813,813,813,813,813,813,813,813,814,814,814,814,814,814,814,814,814,814,815,815,815,815,815,815,815,815,815,815,816,816,816,816,816,816,816,816,816,816,817,817,817,817,817,817,817,817,817,817,818,818,818,818,818,818,818,818,818,818,819,819,819,819,819,819,819,819,819,819,820,820,820,820,820,820,820,820,820,820,821,821,821,821,821,821,821,821,821,821,822,822,822,822,822,822,822,822,822,822,823,823,823,823,823,823,823,823,823,823,824,824,824,824,824,824,824,824,824,824,825,825,825,825,825,825,825,825,825,825,825,826,826,826,826,826,826,826,826,826,826,827,827,827,827,827,827,827,827,827,827,828,828,828,828,828,828,828,828,828,828,829,829,829,829,829,829,829,829,829,829,830,830,830,830,830,830,830,830,830,830,830,831,831,831,831,831,831,831,831,831,831,832,832,832,832,832,832,832,832,832,832,833,833,833,833,833,833,833,833,833,833,833,834,834,834,834,834,834,834,834,834,834,835,835,835,835,835,835,835,835,835,835,835,836,836,836,836,836,836,836,836,836,836,837,837,837,837,837,837,837,837,837,837,838,838,838,838,838,838,838,838,838,838,838,839,839,839,839,839,839,839,839,839,839,839,840,840,840,840,840,840,840,840,840,840,841,841,841,841,841,841,841,841,841,841,841,842,842,842,842,842,842,842,842,842,842,843,843,843,843,843,843,843,843,843,843,843,844,844,844,844,844,844,844,844,844,844,844,845,845,845,845,845,845,845,845,845,845,846,846,846,846,846,846,846,846,846,846,846,847,847,847,847,847,847,847,847,847,847,847,848,848,848,848,848,848,848,848,848,848,848,849,849,849,849,849,849,849,849,849,849,849,850,850,850,850,850,850,850,850,850,850,850,851,851,851,851,851,851,851,851,851,851,852,852,852,852,852,852,852,852,852,852,852,853,853,853,853,853,853,853,853,853,853,853,854,854,854,854,854,854,854,854,854,854,854,855,855,855,855,855,855,855,855,855,855,855,855,856,856,856,856,856,856,856,856,856,856,856,857,857,857,857,857,857,857,857,857,857,857,858,858,858,858,858,858,858,858,858,858,858,859,859,859,859,859,859,859,859,859,859,859,860,860,860,860,860,860,860,860,860,860,860,861,861,861,861,861,861,861,861,861,861,861,861,862,862,862,862,862,862,862,862,862,862,862,863,863,863,863,863,863,863,863,863,863,863,864,864,864,864,864,864,864,864,864,864,864,864,865,865,865,865,865,865,865,865,865,865,865,866,866,866,866,866,866,866,866,866,866,866,866,867,867,867,867,867,867,867,867,867,867,867,868,868,868,868,868,868,868,868,868,868,868,868,869,869,869,869,869,869,869,869,869,869,869,870,870,870,870,870,870,870,870,870,870,870,870,871,871,871,871,871,871,871,871,871,871,871,871,872,872,872,872,872,872,872,872,872,872,872,873,873,873,873,873,873,873,873,873,873,873,873,874,874,874,874,874,874,874,874,874,874,874,874,875,875,875,875,875,875,875,875,875,875,875,875,876,876,876,876,876,876,876,876,876,876,876,876,877,877,877,877,877,877,877,877,877,877,877,877,878,878,878,878,878,878,878,878,878,878,878,878,879,879,879,879,879,879,879,879,879,879,879,879,880,880,880,880,880,880,880,880,880,880,880,880,881,881,881,881,881,881,881,881,881,881,881,881,882,882,882,882,882,882,882,882,882,882,882,882,883,883,883,883,883,883,883,883,883,883,883,883,884,884,884,884,884,884,884,884,884,884,884,884,884,885,885,885,885,885,885,885,885,885,885,885,885,886,886,886,886,886,886,886,886,886,886,886,886,887,887,887,887,887,887,887,887,887,887,887,887,887,888,888,888,888,888,888,888,888,888,888,888,888,889,889,889,889,889,889,889,889,889,889,889,889,889,890,890,890,890,890,890,890,890,890,890,890,890,891,891,891,891,891,891,891,891,891,891,891,891,891,892,892,892,892,892,892,892,892,892,892,892,892,892,893,893,893,893,893,893,893,893,893,893,893,893,893,894,894,894,894,894,894,894,894,894,894,894,894,895,895,895,895,895,895,895,895,895,895,895,895,895,896,896,896,896,896,896,896,896,896,896,896,896,896,897,897,897,897,897,897,897,897,897,897,897,897,897,898,898,898,898,898,898,898,898,898,898,898,898,898,899,899,899,899,899,899,899,899,899,899,899,899,899,900,900,900,900,900,900,900,900,900,900,900,900,900,901,901,901,901,901,901,901,901,901,901,901,901,901,901,902,902,902,902,902,902,902,902,902,902,902,902,902,903,903,903,903,903,903,903,903,903,903,903,903,903,904,904,904,904,904,904,904,904,904,904,904,904,904,904,905,905,905,905,905,905,905,905,905,905,905,905,905,906,906,906,906,906,906,906,906,906,906,906,906,906,906,907,907,907,907,907,907,907,907,907,907,907,907,907,907,908,908,908,908,908,908,908,908,908,908,908,908,908,909,909,909,909,909,909,909,909,909,909,909,909,909,909,910,910,910,910,910,910,910,910,910,910,910,910,910,910,911,911,911,911,911,911,911,911,911,911,911,911,911,911,912,912,912,912,912,912,912,912,912,912,912,912,912,912,913,913,913,913,913,913,913,913,913,913,913,913,913,913,914,914,914,914,914,914,914,914,914,914,914,914,914,914,915,915,915,915,915,915,915,915,915,915,915,915,915,915,916,916,916,916,916,916,916,916,916,916,916,916,916,916,916,917,917,917,917,917,917,917,917,917,917,917,917,917,917,918,918,918,918,918,918,918,918,918,918,918,918,918,918,918,919,919,919,919,919,919,919,919,919,919,919,919,919,919,920,920,920,920,920,920,920,920,920,920,920,920,920,920,920,921,921,921,921,921,921,921,921,921,921,921,921,921,921,921,922,922,922,922,922,922,922,922,922,922,922,922,922,922,923,923,923,923,923,923,923,923,923,923,923,923,923,923,923,924,924,924,924,924,924,924,924,924,924,924,924,924,924,924,925,925,925,925,925,925,925,925,925,925,925,925,925,925,925,926,926,926,926,926,926,926,926,926,926,926,926,926,926,926,926,927,927,927,927,927,927,927,927,927,927,927,927,927,927,927,928,928,928,928,928,928,928,928,928,928,928,928,928,928,928,929,929,929,929,929,929,929,929,929,929,929,929,929,929,929,929,930,930,930,930,930,930,930,930,930,930,930,930,930,930,930,930,931,931,931,931,931,931,931,931,931,931,931,931,931,931,931,932,932,932,932,932,932,932,932,932,932,932,932,932,932,932,932,933,933,933,933,933,933,933,933,933,933,933,933,933,933,933,933,934,934,934,934,934,934,934,934,934,934,934,934,934,934,934,934,935,935,935,935,935,935,935,935,935,935,935,935,935,935,935,935,935,936,936,936,936,936,936,936,936,936,936,936,936,936,936,936,936,937,937,937,937,937,937,937,937,937,937,937,937,937,937,937,937,938,938,938,938,938,938,938,938,938,938,938,938,938,938,938,938,938,939,939,939,939,939,939,939,939,939,939,939,939,939,939,939,939,939,940,940,940,940,940,940,940,940,940,940,940,940,940,940,940,940,940,941,941,941,941,941,941,941,941,941,941,941,941,941,941,941,941,941,942,942,942,942,942,942,942,942,942,942,942,942,942,942,942,942,942,943,943,943,943,943,943,943,943,943,943,943,943,943,943,943,943,943,944,944,944,944,944,944,944,944,944,944,944,944,944,944,944,944,944,945,945,945,945,945,945,945,945,945,945,945,945,945,945,945,945,945,945,946,946,946,946,946,946,946,946,946,946,946,946,946,946,946,946,946,946,947,947,947,947,947,947,947,947,947,947,947,947,947,947,947,947,947,947,948,948,948,948,948,948,948,948,948,948,948,948,948,948,948,948,948,948,949,949,949,949,949,949,949,949,949,949,949,949,949,949,949,949,949,949,950,950,950,950,950,950,950,950,950,950,950,950,950,950,950,950,950,950,951,951,951,951,951,951,951,951,951,951,951,951,951,951,951,951,951,951,951,952,952,952,952,952,952,952,952,952,952,952,952,952,952,952,952,952,952,952,953,953,953,953,953,953,953,953,953,953,953,953,953,953,953,953,953,953,953,954,954,954,954,954,954,954,954,954,954,954,954,954,954,954,954,954,954,954,955,955,955,955,955,955,955,955,955,955,955,955,955,955,955,955,955,955,955,955,956,956,956,956,956,956,956,956,956,956,956,956,956,956,956,956,956,956,956,957,957,957,957,957,957,957,957,957,957,957,957,957,957,957,957,957,957,957,957,958,958,958,958,958,958,958,958,958,958,958,958,958,958,958,958,958,958,958,958,959,959,959,959,959,959,959,959,959,959,959,959,959,959,959,959,959,959,959,959,960,960,960,960,960,960,960,960,960,960,960,960,960,960,960,960,960,960,960,960,960,961,961,961,961,961,961,961,961,961,961,961,961,961,961,961,961,961,961,961,961,961,962,962,962,962,962,962,962,962,962,962,962,962,962,962,962,962,962,962,962,962,962,963,963,963,963,963,963,963,963,963,963,963,963,963,963,963,963,963,963,963,963,963,964,964,964,964,964,964,964,964,964,964,964,964,964,964,964,964,964,964,964,964,964,964,965,965,965,965,965,965,965,965,965,965,965,965,965,965,965,965,965,965,965,965,965,965,966,966,966,966,966,966,966,966,966,966,966,966,966,966,966,966,966,966,966,966,966,966,967,967,967,967,967,967,967,967,967,967,967,967,967,967,967,967,967,967,967,967,967,967,967,968,968,968,968,968,968,968,968,968,968,968,968,968,968,968,968,968,968,968,968,968,968,968,969,969,969,969,969,969,969,969,969,969,969,969,969,969,969,969,969,969,969,969,969,969,969,969,970,970,970,970,970,970,970,970,970,970,970,970,970,970,970,970,970,970,970,970,970,970,970,971,971,971,971,971,971,971,971,971,971,971,971,971,971,971,971,971,971,971,971,971,971,971,971,972,972,972,972,972,972,972,972,972,972,972,972,972,972,972,972,972,972,972,972,972,972,972,972,972,973,973,973,973,973,973,973,973,973,973,973,973,973,973,973,973,973,973,973,973,973,973,973,973,973,974,974,974,974,974,974,974,974,974,974,974,974,974,974,974,974,974,974,974,974,974,974,974,974,974,974,975,975,975,975,975,975,975,975,975,975,975,975,975,975,975,975,975,975,975,975,975,975,975,975,975,975,976,976,976,976,976,976,976,976,976,976,976,976,976,976,976,976,976,976,976,976,976,976,976,976,976,976,977,977,977,977,977,977,977,977,977,977,977,977,977,977,977,977,977,977,977,977,977,977,977,977,977,977,977,978,978,978,978,978,978,978,978,978,978,978,978,978,978,978,978,978,978,978,978,978,978,978,978,978,978,978,978,979,979,979,979,979,979,979,979,979,979,979,979,979,979,979,979,979,979,979,979,979,979,979,979,979,979,979,979,979,980,980,980,980,980,980,980,980,980,980,980,980,980,980,980,980,980,980,980,980,980,980,980,980,980,980,980,980,980,981,981,981,981,981,981,981,981,981,981,981,981,981,981,981,981,981,981,981,981,981,981,981,981,981,981,981,981,981,981,982,982,982,982,982,982,982,982,982,982,982,982,982,982,982,982,982,982,982,982,982,982,982,982,982,982,982,982,982,982,982,983,983,983,983,983,983,983,983,983,983,983,983,983,983,983,983,983,983,983,983,983,983,983,983,983,983,983,983,983,983,983,984,984,984,984,984,984,984,984,984,984,984,984,984,984,984,984,984,984,984,984,984,984,984,984,984,984,984,984,984,984,984,984,984,985,985,985,985,985,985,985,985,985,985,985,985,985,985,985,985,985,985,985,985,985,985,985,985,985,985,985,985,985,985,985,985,985,985,986,986,986,986,986,986,986,986,986,986,986,986,986,986,986,986,986,986,986,986,986,986,986,986,986,986,986,986,986,986,986,986,986,986,986,987,987,987,987,987,987,987,987,987,987,987,987,987,987,987,987,987,987,987,987,987,987,987,987,987,987,987,987,987,987,987,987,987,987,987,987,988,988,988,988,988,988,988,988,988,988,988,988,988,988,988,988,988,988,988,988,988,988,988,988,988,988,988,988,988,988,988,988,988,988,988,988,988,988,989,989,989,989,989,989,989,989,989,989,989,989,989,989,989,989,989,989,989,989,989,989,989,989,989,989,989,989,989,989,989,989,989,989,989,989,989,989,989,989,990,990,990,990,990,990,990,990,990,990,990,990,990,990,990,990,990,990,990,990,990,990,990,990,990,990,990,990,990,990,990,990,990,990,990,990,990,990,990,990,990,991,991,991,991,991,991,991,991,991,991,991,991,991,991,991,991,991,991,991,991,991,991,991,991,991,991,991,991,991,991,991,991,991,991,991,991,991,991,991,991,991,991,991,991,992,992,992,992,992,992,992,992,992,992,992,992,992,992,992,992,992,992,992,992,992,992,992,992,992,992,992,992,992,992,992,992,992,992,992,992,992,992,992,992,992,992,992,992,992,992,992,993,993,993,993,993,993,993,993,993,993,993,993,993,993,993,993,993,993,993,993,993,993,993,993,993,993,993,993,993,993,993,993,993,993,993,993,993,993,993,993,993,993,993,993,993,993,993,993,993,993,993,994,994,994,994,994,994,994,994,994,994,994,994,994,994,994,994,994,994,994,994,994,994,994,994,994,994,994,994,994,994,994,994,994,994,994,994,994,994,994,994,994,994,994,994,994,994,994,994,994,994,994,994,994,994,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,995,996,996,996,996,996,996,996,996,996,996,996,996,996,996,996,996,996,996,996,996,996,996,996,996,996,996,996,996,996,996,996,996,996,996,996,996,996,996,996,996,996,996,996,996,996,996,996,996,996,996,996,996,996,996,996,996,996,996,996,996,996,996,996,996,996,996,996,996,996,997,997,997,997,997,997,997,997,997,997,997,997,997,997,997,997,997,997,997,997,997,997,997,997,997,997,997,997,997,997,997,997,997,997,997,997,997,997,997,997,997,997,997,997,997,997,997,997,997,997,997,997,997,997,997,997,997,997,997,997,997,997,997,997,997,997,997,997,997,997,997,997,997,997,997,997,997,997,997,997,997,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,1000]
+ data modify storage gm4_player_motion:arcsine arr set value [1000,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,998,997,997,997,997,997,997,997,997,997,997,997,997,997,997,996,996,996,996,996,996,996,996,996,996,996,996,995,995,995,995,995,995,995,995,995,995,994,994,994,994,994,994,994,994,994,994,993,993,993,993,993,993,993,993,993,992,992,992,992,992,992,992,992,991,991,991,991,991,991,991,990,990,990,990,990,990,990,990,989,989,989,989,989,989,988,988,988,988,988,988,988,987,987,987,987,987,987,986,986,986,986,986,986,985,985,985,985,985,985,984,984,984,984,984,984,983,983,983,983,983,982,982,982,982,982,981,981,981,981,981,981,980,980,980,980,979,979,979,979,979,978,978,978,978,978,977,977,977,977,977,976,976,976,976,975,975,975,975,975,974,974,974,974,973,973,973,973,972,972,972,972,971,971,971,971,971,970,970,970,970,969,969,969,969,968,968,968,967,967,967,967,966,966,966,966,965,965,965,965,964,964,964,963,963,963,963,962,962,962,962,961,961,961,960,960,960,960,959,959,959,958,958,958,957,957,957,957,956,956,956,955,955,955,954,954,954,953,953,953,952,952,952,952,951,951,951,950,950,950,949,949,949,948,948,948,947,947,947,946,946,946,945,945,945,944,944,943,943,943,942,942,942,941,941,941,940,940,940,939,939,938,938,938,937,937,937,936,936,936,935,935,934,934,934,933,933,932,932,932,931,931,931,930,930,929,929,929,928,928,927,927,927,926,926,925,925,924,924,924,923,923,922,922,922,921,921,920,920,919,919,919,918,918,917,917,916,916,916,915,915,914,914,913,913,912,912,912,911,911,910,910,909,909,908,908,907,907,907,906,906,905,905,904,904,903,903,902,902,901,901,900,900,899,899,898,898,897,897,897,896,896,895,895,894,894,893,893,892,892,891,891,890,889,889,888,888,887,887,886,886,885,885,884,884,883,883,882,882,881,881,880,879,879,878,878,877,877,876,876,875,875,874,873,873,872,872,871,871,870,870,869,868,868,867,867,866,866,865,864,864,863,863,862,861,861,860,860,859,858,858,857,857,856,855,855,854,854,853,852,852,851,851,850,849,849,848,847,847,846,846,845,844,844,843,842,842,841,841,840,839,839,838,837,837,836,835,835,834,833,833,832,831,831,830,829,829,828,827,827,826,825,825,824,823,823,822,821,820,820,819,818,818,817,816,816,815,814,813,813,812,811,811,810,809,808,808,807,806,805,805,804,803,802,802,801,800,800,799,798,797,796,796,795,794,793,793,792,791,790,790,789,788,787,786,786,785,784,783,783,782,781,780,779,779,778,777,776,775,774,774,773,772,771,770,770,769,768,767,766,765,765,764,763,762,761,760,759,759,758,757,756,755,754,753,753,752,751,750,749,748,747,746,745,745,744,743,742,741,740,739,738,737,736,735,735,734,733,732,731,730,729,728,727,726,725,724,723,722,721,720,719,719,718,717,716,715,714,713,712,711,710,709,708,707,706,705,704,703,702,701,700,699,698,697,696,695,693,692,691,690,689,688,687,686,685,684,683,682,681,680,679,678,676,675,674,673,672,671,670,669,668,667,665,664,663,662,661,660,659,658,656,655,654,653,652,651,649,648,647,646,645,644,642,641,640,639,638,636,635,634,633,631,630,629,628,627,625,624,623,622,620,619,618,616,615,614,613,611,610,609,607,606,605,603,602,601,600,598,597,595,594,593,591,590,589,587,586,585,583,582,580,579,578,576,575,573,572,570,569,568,566,565,563,562,560,559,557,556,554,553,551,550,548,547,545,544,542,541,539,537,536,534,533,531,529,528,526,525,523,521,520,518,516,515,513,511,510,508,506,505,503,501,500,498,496,494,493,491,489,487,485,484,482,480,478,476,474,473,471,469,467,465,463,461,459,457,455,454,452,450,448,446,444,442,439,437,435,433,431,429,427,425,423,421,418,416,414,412,410,407,405,403,401,398,396,394,391,389,387,384,382,379,377,375,372,370,367,365,362,359,357,354,352,349,346,343,341,338,335,332,329,327,324,321,318,315,312,309,306,302,299,296,293,290,286,283,280,276,273,269,265,262,258,254,250,247,243,239,234,230,226,222,217,213,208,203,198,194,188,183,178,172,166,160,154,147,141,133,126,118,109,99,89,77,63,44,0]
+ data modify storage gm4_player_motion:cosine arr set value [10000,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9998,9998,9998,9998,9998,9998,9998,9998,9998,9998,9998,9998,9998,9998,9998,9998,9998,9998,9998,9998,9998,9998,9998,9998,9998,9998,9998,9998,9998,9998,9998,9998,9998,9997,9997,9997,9997,9997,9997,9997,9997,9997,9997,9997,9997,9997,9997,9997,9997,9997,9997,9997,9997,9997,9997,9997,9997,9997,9997,9996,9996,9996,9996,9996,9996,9996,9996,9996,9996,9996,9996,9996,9996,9996,9996,9996,9996,9996,9996,9996,9996,9995,9995,9995,9995,9995,9995,9995,9995,9995,9995,9995,9995,9995,9995,9995,9995,9995,9995,9995,9994,9994,9994,9994,9994,9994,9994,9994,9994,9994,9994,9994,9994,9994,9994,9994,9994,9993,9993,9993,9993,9993,9993,9993,9993,9993,9993,9993,9993,9993,9993,9993,9993,9992,9992,9992,9992,9992,9992,9992,9992,9992,9992,9992,9992,9992,9992,9992,9991,9991,9991,9991,9991,9991,9991,9991,9991,9991,9991,9991,9991,9991,9990,9990,9990,9990,9990,9990,9990,9990,9990,9990,9990,9990,9990,9989,9989,9989,9989,9989,9989,9989,9989,9989,9989,9989,9989,9988,9988,9988,9988,9988,9988,9988,9988,9988,9988,9988,9988,9987,9987,9987,9987,9987,9987,9987,9987,9987,9987,9987,9987,9986,9986,9986,9986,9986,9986,9986,9986,9986,9986,9986,9985,9985,9985,9985,9985,9985,9985,9985,9985,9985,9984,9984,9984,9984,9984,9984,9984,9984,9984,9984,9984,9983,9983,9983,9983,9983,9983,9983,9983,9983,9983,9982,9982,9982,9982,9982,9982,9982,9982,9982,9981,9981,9981,9981,9981,9981,9981,9981,9981,9981,9980,9980,9980,9980,9980,9980,9980,9980,9980,9979,9979,9979,9979,9979,9979,9979,9979,9979,9978,9978,9978,9978,9978,9978,9978,9978,9978,9977,9977,9977,9977,9977,9977,9977,9977,9976,9976,9976,9976,9976,9976,9976,9976,9976,9975,9975,9975,9975,9975,9975,9975,9975,9974,9974,9974,9974,9974,9974,9974,9974,9973,9973,9973,9973,9973,9973,9973,9973,9972,9972,9972,9972,9972,9972,9972,9971,9971,9971,9971,9971,9971,9971,9971,9970,9970,9970,9970,9970,9970,9970,9969,9969,9969,9969,9969,9969,9969,9969,9968,9968,9968,9968,9968,9968,9968,9967,9967,9967,9967,9967,9967,9967,9966,9966,9966,9966,9966,9966,9966,9965,9965,9965,9965,9965,9965,9965,9964,9964,9964,9964,9964,9964,9964,9963,9963,9963,9963,9963,9963,9963,9962,9962,9962,9962,9962,9962,9961,9961,9961,9961,9961,9961,9961,9960,9960,9960,9960,9960,9960,9959,9959,9959,9959,9959,9959,9959,9958,9958,9958,9958,9958,9958,9957,9957,9957,9957,9957,9957,9956,9956,9956,9956,9956,9956,9955,9955,9955,9955,9955,9955,9954,9954,9954,9954,9954,9954,9953,9953,9953,9953,9953,9953,9952,9952,9952,9952,9952,9952,9951,9951,9951,9951,9951,9951,9950,9950,9950,9950,9950,9950,9949,9949,9949,9949,9949,9948,9948,9948,9948,9948,9948,9947,9947,9947,9947,9947,9947,9946,9946,9946,9946,9946,9945,9945,9945,9945,9945,9945,9944,9944,9944,9944,9944,9943,9943,9943,9943,9943,9943,9942,9942,9942,9942,9942,9941,9941,9941,9941,9941,9940,9940,9940,9940,9940,9939,9939,9939,9939,9939,9939,9938,9938,9938,9938,9938,9937,9937,9937,9937,9937,9936,9936,9936,9936,9936,9935,9935,9935,9935,9935,9934,9934,9934,9934,9934,9933,9933,9933,9933,9933,9932,9932,9932,9932,9932,9931,9931,9931,9931,9931,9930,9930,9930,9930,9930,9929,9929,9929,9929,9929,9928,9928,9928,9928,9927,9927,9927,9927,9927,9926,9926,9926,9926,9926,9925,9925,9925,9925,9925,9924,9924,9924,9924,9923,9923,9923,9923,9923,9922,9922,9922,9922,9922,9921,9921,9921,9921,9920,9920,9920,9920,9920,9919,9919,9919,9919,9918,9918,9918,9918,9918,9917,9917,9917,9917,9916,9916,9916,9916,9916,9915,9915,9915,9915,9914,9914,9914,9914,9913,9913,9913,9913,9913,9912,9912,9912,9912,9911,9911,9911,9911,9910,9910,9910,9910,9910,9909,9909,9909,9909,9908,9908,9908,9908,9907,9907,9907,9907,9907,9906,9906,9906,9906,9905,9905,9905,9905,9904,9904,9904,9904,9903,9903,9903,9903,9902,9902,9902,9902,9901,9901,9901,9901,9900,9900,9900,9900,9899,9899,9899,9899,9899,9898,9898,9898,9898,9897,9897,9897,9897,9896,9896,9896,9896,9895,9895,9895,9895,9894,9894,9894,9893,9893,9893,9893,9892,9892,9892,9892,9891,9891,9891,9891,9890,9890,9890,9890,9889,9889,9889,9889,9888,9888,9888,9888,9887,9887,9887,9887,9886,9886,9886,9885,9885,9885,9885,9884,9884,9884,9884,9883,9883,9883,9883,9882,9882,9882,9882,9881,9881,9881,9880,9880,9880,9880,9879,9879,9879,9879,9878,9878,9878,9877,9877,9877,9877,9876,9876,9876,9876,9875,9875,9875,9874,9874,9874,9874,9873,9873,9873,9873,9872,9872,9872,9871,9871,9871,9871,9870,9870,9870,9869,9869,9869,9869,9868,9868,9868,9867,9867,9867,9867,9866,9866,9866,9866,9865,9865,9865,9864,9864,9864,9864,9863,9863,9863,9862,9862,9862,9861,9861,9861,9861,9860,9860,9860,9859,9859,9859,9859,9858,9858,9858,9857,9857,9857,9857,9856,9856,9856,9855,9855,9855,9854,9854,9854,9854,9853,9853,9853,9852,9852,9852,9851,9851,9851,9851,9850,9850,9850,9849,9849,9849,9848,9848,9848,9848,9847,9847,9847,9846,9846,9846,9845,9845,9845,9845,9844,9844,9844,9843,9843,9843,9842,9842,9842,9841,9841,9841,9841,9840,9840,9840,9839,9839,9839,9838,9838,9838,9837,9837,9837,9836,9836,9836,9836,9835,9835,9835,9834,9834,9834,9833,9833,9833,9832,9832,9832,9831,9831,9831,9830,9830,9830,9829,9829,9829,9829,9828,9828,9828,9827,9827,9827,9826,9826,9826,9825,9825,9825,9824,9824,9824,9823,9823,9823,9822,9822,9822,9821,9821,9821,9820,9820,9820,9819,9819,9819,9818,9818,9818,9817,9817,9817,9816,9816,9816,9815,9815,9815,9814,9814,9814,9813,9813,9813,9812,9812,9812,9811,9811,9811,9810,9810,9810,9809,9809,9809,9808,9808,9808,9807,9807,9807,9806,9806,9806,9805,9805,9805,9804,9804,9804,9803,9803,9803,9802,9802,9802,9801,9801,9800,9800,9800,9799,9799,9799,9798,9798,9798,9797,9797,9797,9796,9796,9796,9795,9795,9795,9794,9794,9793,9793,9793,9792,9792,9792,9791,9791,9791,9790,9790,9790,9789,9789,9789,9788,9788,9787,9787,9787,9786,9786,9786,9785,9785,9785,9784,9784,9784,9783,9783,9782,9782,9782,9781,9781,9781,9780,9780,9780,9779,9779,9778,9778,9778,9777,9777,9777,9776,9776,9775,9775,9775,9774,9774,9774,9773,9773,9773,9772,9772,9771,9771,9771,9770,9770,9770,9769,9769,9768,9768,9768,9767,9767,9767,9766,9766,9765,9765,9765,9764,9764,9764,9763,9763,9762,9762,9762,9761,9761,9761,9760,9760,9759,9759,9759,9758,9758,9758,9757,9757,9756,9756,9756,9755,9755,9754,9754,9754,9753,9753,9753,9752,9752,9751,9751,9751,9750,9750,9749,9749,9749,9748,9748,9748,9747,9747,9746,9746,9746,9745,9745,9744,9744,9744,9743,9743,9742,9742,9742,9741,9741,9740,9740,9740,9739,9739,9738,9738,9738,9737,9737,9736,9736,9736,9735,9735,9734,9734,9734,9733,9733,9732,9732,9732,9731,9731,9730,9730,9730,9729,9729,9728,9728,9728,9727,9727,9726,9726,9726,9725,9725,9724,9724,9724,9723,9723,9722,9722,9722,9721,9721,9720,9720,9720,9719,9719,9718,9718,9717,9717,9717,9716,9716,9715,9715,9715,9714,9714,9713,9713,9713,9712,9712,9711,9711,9710,9710,9710,9709,9709,9708,9708,9708,9707,9707,9706,9706,9705,9705,9705,9704,9704,9703,9703,9702,9702,9702,9701,9701,9700,9700,9699,9699,9699,9698,9698,9697,9697,9697,9696,9696,9695,9695,9694,9694,9694,9693,9693,9692,9692,9691,9691,9691,9690,9690,9689,9689,9688,9688,9687,9687,9687,9686,9686,9685,9685,9684,9684,9684,9683,9683,9682,9682,9681,9681,9681,9680,9680,9679,9679,9678,9678,9677,9677,9677,9676,9676,9675,9675,9674,9674,9674,9673,9673,9672,9672,9671,9671,9670,9670,9670,9669,9669,9668,9668,9667,9667,9666,9666,9666,9665,9665,9664,9664,9663,9663,9662,9662,9661,9661,9661,9660,9660,9659,9659,9658,9658,9657,9657,9656,9656,9656,9655,9655,9654,9654,9653,9653,9652,9652,9651,9651,9651,9650,9650,9649,9649,9648,9648,9647,9647,9646,9646,9646,9645,9645,9644,9644,9643,9643,9642,9642,9641,9641,9640,9640,9640,9639,9639,9638,9638,9637,9637,9636,9636,9635,9635,9634,9634,9633,9633,9633,9632,9632,9631,9631,9630,9630,9629,9629,9628,9628,9627,9627,9626,9626,9625,9625,9625,9624,9624,9623,9623,9622,9622,9621,9621,9620,9620,9619,9619,9618,9618,9617,9617,9616,9616,9615,9615,9615,9614,9614,9613,9613,9612,9612,9611,9611,9610,9610,9609,9609,9608,9608,9607,9607,9606,9606,9605,9605,9604,9604,9603,9603,9602,9602,9601,9601,9600,9600,9600,9599,9599,9598,9598,9597,9597,9596,9596,9595,9595,9594,9594,9593,9593,9592,9592,9591,9591,9590,9590,9589,9589,9588,9588,9587,9587,9586,9586,9585,9585,9584,9584,9583,9583,9582,9582,9581,9581,9580,9580,9579,9579,9578,9578,9577,9577,9576,9576,9575,9575,9574,9574,9573,9573,9572,9572,9571,9571,9570,9570,9569,9569,9568,9568,9567,9567,9566,9566,9565,9565,9564,9564,9563,9563,9562,9562,9561,9561,9560,9559,9559,9558,9558,9557,9557,9556,9556,9555,9555,9554,9554,9553,9553,9552,9552,9551,9551,9550,9550,9549,9549,9548,9548,9547,9547,9546,9546,9545,9545,9544,9543,9543,9542,9542,9541,9541,9540,9540,9539,9539,9538,9538,9537,9537,9536,9536,9535,9535,9534,9534,9533,9532,9532,9531,9531,9530,9530,9529,9529,9528,9528,9527,9527,9526,9526,9525,9525,9524,9523,9523,9522,9522,9521,9521,9520,9520,9519,9519,9518,9518,9517,9517,9516,9515,9515,9514,9514,9513,9513,9512,9512,9511,9511,9510,9510,9509,9508,9508,9507,9507,9506,9506,9505,9505,9504,9504,9503,9502,9502,9501,9501,9500,9500,9499,9499,9498,9498,9497,9496,9496,9495,9495,9494,9494,9493,9493,9492,9492,9491,9490,9490,9489,9489,9488,9488,9487,9487,9486,9486,9485,9484,9484,9483,9483,9482,9482,9481,9481,9480,9479,9479,9478,9478,9477,9477,9476,9476,9475,9474,9474,9473,9473,9472,9472,9471,9470,9470,9469,9469,9468,9468,9467,9467,9466,9465,9465,9464,9464,9463,9463,9462,9461,9461,9460,9460,9459,9459,9458,9458,9457,9456,9456,9455,9455,9454,9454,9453,9452,9452,9451,9451,9450,9450,9449,9448,9448,9447,9447,9446,9446,9445,9444,9444,9443,9443,9442,9442,9441,9440,9440,9439,9439,9438,9438,9437,9436,9436,9435,9435,9434,9433,9433,9432,9432,9431,9431,9430,9429,9429,9428,9428,9427,9426,9426,9425,9425,9424,9424,9423,9422,9422,9421,9421,9420,9419,9419,9418,9418,9417,9417,9416,9415,9415,9414,9414,9413,9412,9412,9411,9411,9410,9409,9409,9408,9408,9407,9407,9406,9405,9405,9404,9404,9403,9402,9402,9401,9401,9400,9399,9399,9398,9398,9397,9396,9396,9395,9395,9394,9393,9393,9392,9392,9391,9390,9390,9389,9389,9388,9387,9387,9386,9386,9385,9384,9384,9383,9383,9382,9381,9381,9380,9380,9379,9378,9378,9377,9377,9376,9375,9375,9374,9374,9373,9372,9372,9371,9370,9370,9369,9369,9368,9367,9367,9366,9366,9365,9364,9364,9363,9363,9362,9361,9361,9360,9359,9359,9358,9358,9357,9356,9356,9355,9355,9354,9353,9353,9352,9351,9351,9350,9350,9349,9348,9348,9347,9347,9346,9345,9345,9344,9343,9343,9342,9342,9341,9340,9340,9339,9338,9338,9337,9337,9336,9335,9335,9334,9333,9333,9332,9332,9331,9330,9330,9329,9328,9328,9327,9327,9326,9325,9325,9324,9323,9323,9322,9321,9321,9320,9320,9319,9318,9318,9317,9316,9316,9315,9315,9314,9313,9313,9312,9311,9311,9310,9309,9309,9308,9308,9307,9306,9306,9305,9304,9304,9303,9302,9302,9301,9300,9300,9299,9299,9298,9297,9297,9296,9295,9295,9294,9293,9293,9292,9291,9291,9290,9290,9289,9288,9288,9287,9286,9286,9285,9284,9284,9283,9282,9282,9281,9280,9280,9279,9279,9278,9277,9277,9276,9275,9275,9274,9273,9273,9272,9271,9271,9270,9269,9269,9268,9267,9267,9266,9265,9265,9264,9263,9263,9262,9261,9261,9260,9260,9259,9258,9258,9257,9256,9256,9255,9254,9254,9253,9252,9252,9251,9250,9250,9249,9248,9248,9247,9246,9246,9245,9244,9244,9243,9242,9242,9241,9240,9240,9239,9238,9238,9237,9236,9236,9235,9234,9234,9233,9232,9232,9231,9230,9230,9229,9228,9228,9227,9226,9226,9225,9224,9224,9223,9222,9222,9221,9220,9219,9219,9218,9217,9217,9216,9215,9215,9214,9213,9213,9212,9211,9211,9210,9209,9209,9208,9207,9207,9206,9205,9205,9204,9203,9203,9202,9201,9200,9200,9199,9198,9198,9197,9196,9196,9195,9194,9194,9193,9192,9192,9191,9190,9189,9189,9188,9187,9187,9186,9185,9185,9184,9183,9183,9182,9181,9181,9180,9179,9178,9178,9177,9176,9176,9175,9174,9174,9173,9172,9171,9171,9170,9169,9169,9168,9167,9167,9166,9165,9165,9164,9163,9162,9162,9161,9160,9160,9159,9158,9158,9157,9156,9155,9155,9154,9153,9153,9152,9151,9151,9150,9149,9148,9148,9147,9146,9146,9145,9144,9143,9143,9142,9141,9141,9140,9139,9139,9138,9137,9136,9136,9135,9134,9134,9133,9132,9131,9131,9130,9129,9129,9128,9127,9126,9126,9125,9124,9124,9123,9122,9121,9121,9120,9119,9119,9118,9117,9116,9116,9115,9114,9114,9113,9112,9111,9111,9110,9109,9108,9108,9107,9106,9106,9105,9104,9103,9103,9102,9101,9101,9100,9099,9098,9098,9097,9096,9095,9095,9094,9093,9093,9092,9091,9090,9090,9089,9088,9087,9087,9086,9085,9085,9084,9083,9082,9082,9081,9080,9079,9079,9078,9077,9077,9076,9075,9074,9074,9073,9072,9071,9071,9070,9069,9068,9068,9067,9066,9066,9065,9064,9063,9063,9062,9061,9060,9060,9059,9058,9057,9057,9056,9055,9054,9054,9053,9052,9051,9051,9050,9049,9049,9048,9047,9046,9046,9045,9044,9043,9043,9042,9041,9040,9040,9039,9038,9037,9037,9036,9035,9034,9034,9033,9032,9031,9031,9030,9029,9028,9028,9027,9026,9025,9025,9024,9023,9022,9022,9021,9020,9019,9019,9018,9017,9016,9016,9015,9014,9013,9013,9012,9011,9010,9010,9009,9008,9007,9006,9006,9005,9004,9003,9003,9002,9001,9000,9000,8999,8998,8997,8997,8996,8995,8994,8994,8993,8992,8991,8990,8990,8989,8988,8987,8987,8986,8985,8984,8984,8983,8982,8981,8981,8980,8979,8978,8977,8977,8976,8975,8974,8974,8973,8972,8971,8971,8970,8969,8968,8967,8967,8966,8965,8964,8964,8963,8962,8961,8960,8960,8959,8958,8957,8957,8956,8955,8954,8954,8953,8952,8951,8950,8950,8949,8948,8947,8947,8946,8945,8944,8943,8943,8942,8941,8940,8939,8939,8938,8937,8936,8936,8935,8934,8933,8932,8932,8931,8930,8929,8929,8928,8927,8926,8925,8925,8924,8923,8922,8921,8921,8920,8919,8918,8917,8917,8916,8915,8914,8914,8913,8912,8911,8910,8910,8909,8908,8907,8906,8906,8905,8904,8903,8902,8902,8901,8900,8899,8898,8898,8897,8896,8895,8894,8894,8893,8892,8891,8890,8890,8889,8888,8887,8886,8886,8885,8884,8883,8882,8882,8881,8880,8879,8878,8878,8877,8876,8875,8874,8874,8873,8872,8871,8870,8870,8869,8868,8867,8866,8866,8865,8864,8863,8862,8862,8861,8860,8859,8858,8857,8857,8856,8855,8854,8853,8853,8852,8851,8850,8849,8849,8848,8847,8846,8845,8844,8844,8843,8842,8841,8840,8840,8839,8838,8837,8836,8836,8835,8834,8833,8832,8831,8831,8830,8829,8828,8827,8827,8826,8825,8824,8823,8822,8822,8821,8820,8819,8818,8817,8817,8816,8815,8814,8813,8813,8812,8811,8810,8809,8808,8808,8807,8806,8805,8804,8803,8803,8802,8801,8800,8799,8798,8798,8797,8796,8795,8794,8793,8793,8792,8791,8790,8789,8789,8788,8787,8786,8785,8784,8784,8783,8782,8781,8780,8779,8778,8778,8777,8776,8775,8774,8773,8773,8772,8771,8770,8769,8768,8768,8767,8766,8765,8764,8763,8763,8762,8761,8760,8759,8758,8758,8757,8756,8755,8754,8753,8752,8752,8751,8750,8749,8748,8747,8747,8746,8745,8744,8743,8742,8741,8741,8740,8739,8738,8737,8736,8736,8735,8734,8733,8732,8731,8730,8730,8729,8728,8727,8726,8725,8724,8724,8723,8722,8721,8720,8719,8718,8718,8717,8716,8715,8714,8713,8712,8712,8711,8710,8709,8708,8707,8706,8706,8705,8704,8703,8702,8701,8700,8700,8699,8698,8697,8696,8695,8694,8694,8693,8692,8691,8690,8689,8688,8688,8687,8686,8685,8684,8683,8682,8681,8681,8680,8679,8678,8677,8676,8675,8675,8674,8673,8672,8671,8670,8669,8668,8668,8667,8666,8665,8664,8663,8662,8661,8661,8660,8659,8658,8657,8656,8655,8655,8654,8653,8652,8651,8650,8649,8648,8648,8647,8646,8645,8644,8643,8642,8641,8640,8640,8639,8638,8637,8636,8635,8634,8633,8633,8632,8631,8630,8629,8628,8627,8626,8626,8625,8624,8623,8622,8621,8620,8619,8618,8618,8617,8616,8615,8614,8613,8612,8611,8610,8610,8609,8608,8607,8606,8605,8604,8603,8602,8602,8601,8600,8599,8598,8597,8596,8595,8594,8594,8593,8592,8591,8590,8589,8588,8587,8586,8586,8585,8584,8583,8582,8581,8580,8579,8578,8577,8577,8576,8575,8574,8573,8572,8571,8570,8569,8568,8568,8567,8566,8565,8564,8563,8562,8561,8560,8559,8559,8558,8557,8556,8555,8554,8553,8552,8551,8550,8550,8549,8548,8547,8546,8545,8544,8543,8542,8541,8540,8540,8539,8538,8537,8536,8535,8534,8533,8532,8531,8530,8530,8529,8528,8527,8526,8525,8524,8523,8522,8521,8520,8520,8519,8518,8517,8516,8515,8514,8513,8512,8511,8510,8509,8509,8508,8507,8506,8505,8504,8503,8502,8501,8500,8499,8498,8498,8497,8496,8495,8494,8493,8492,8491,8490,8489,8488,8487,8486,8486,8485,8484,8483,8482,8481,8480,8479,8478,8477,8476,8475,8474,8474,8473,8472,8471,8470,8469,8468,8467,8466,8465,8464,8463,8462,8461,8461,8460,8459,8458,8457,8456,8455,8454,8453,8452,8451,8450,8449,8448,8447,8447,8446,8445,8444,8443,8442,8441,8440,8439,8438,8437,8436,8435,8434,8433,8432,8432,8431,8430,8429,8428,8427,8426,8425,8424,8423,8422,8421,8420,8419,8418,8417,8416,8416,8415,8414,8413,8412,8411,8410,8409,8408,8407,8406,8405,8404,8403,8402,8401,8400,8399,8399,8398,8397,8396,8395,8394,8393,8392,8391,8390,8389,8388,8387,8386,8385,8384,8383,8382,8381,8380,8380,8379,8378,8377,8376,8375,8374,8373,8372,8371,8370,8369,8368,8367,8366,8365,8364,8363,8362,8361,8360,8359,8359,8358,8357,8356,8355,8354,8353,8352,8351,8350,8349,8348,8347,8346,8345,8344,8343,8342,8341,8340,8339,8338,8337,8336,8335,8335,8334,8333,8332,8331,8330,8329,8328,8327,8326,8325,8324,8323,8322,8321,8320,8319,8318,8317,8316,8315,8314,8313,8312,8311,8310,8309,8308,8307,8306,8305,8304,8304,8303,8302,8301,8300,8299,8298,8297,8296,8295,8294,8293,8292,8291,8290,8289,8288,8287,8286,8285,8284,8283,8282,8281,8280,8279,8278,8277,8276,8275,8274,8273,8272,8271,8270,8269,8268,8267,8266,8265,8264,8263,8262,8261,8260,8259,8259,8258,8257,8256,8255,8254,8253,8252,8251,8250,8249,8248,8247,8246,8245,8244,8243,8242,8241,8240,8239,8238,8237,8236,8235,8234,8233,8232,8231,8230,8229,8228,8227,8226,8225,8224,8223,8222,8221,8220,8219,8218,8217,8216,8215,8214,8213,8212,8211,8210,8209,8208,8207,8206,8205,8204,8203,8202,8201,8200,8199,8198,8197,8196,8195,8194,8193,8192,8191,8190,8189,8188,8187,8186,8185,8184,8183,8182,8181,8180,8179,8178,8177,8176,8175,8174,8173,8172,8171,8170,8169,8168,8167,8166,8165,8164,8163,8162,8161,8160,8159,8158,8157,8156,8155,8154,8153,8152,8151,8150,8149,8148,8147,8146,8145,8144,8143,8142,8141,8140,8139,8138,8137,8136,8135,8134,8133,8132,8131,8129,8128,8127,8126,8125,8124,8123,8122,8121,8120,8119,8118,8117,8116,8115,8114,8113,8112,8111,8110,8109,8108,8107,8106,8105,8104,8103,8102,8101,8100,8099,8098,8097,8096,8095,8094,8093,8092,8091,8090,8089,8088,8087,8086,8085,8084,8082,8081,8080,8079,8078,8077,8076,8075,8074,8073,8072,8071,8070,8069,8068,8067,8066,8065,8064,8063,8062,8061,8060,8059,8058,8057,8056,8055,8054,8053,8052,8051,8049,8048,8047,8046,8045,8044,8043,8042,8041,8040,8039,8038,8037,8036,8035,8034,8033,8032,8031,8030,8029,8028,8027,8026,8025,8024,8022,8021,8020,8019,8018,8017,8016,8015,8014,8013,8012,8011,8010,8009,8008,8007,8006,8005,8004,8003,8002,8001,7999,7998,7997,7996,7995,7994,7993,7992,7991,7990,7989,7988,7987,7986,7985,7984,7983,7982,7981,7980,7978,7977,7976,7975,7974,7973,7972,7971,7970,7969,7968,7967,7966,7965,7964,7963,7962,7961,7960,7958,7957,7956,7955,7954,7953,7952,7951,7950,7949,7948,7947,7946,7945,7944,7943,7942,7940,7939,7938,7937,7936,7935,7934,7933,7932,7931,7930,7929,7928,7927,7926,7925,7923,7922,7921,7920,7919,7918,7917,7916,7915,7914,7913,7912,7911,7910,7909,7907,7906,7905,7904,7903,7902,7901,7900,7899,7898,7897,7896,7895,7894,7892,7891,7890,7889,7888,7887,7886,7885,7884,7883,7882,7881,7880,7879,7877,7876,7875,7874,7873,7872,7871,7870,7869,7868,7867,7866,7865,7863,7862,7861,7860,7859,7858,7857,7856,7855,7854,7853,7852,7851,7849,7848,7847,7846,7845,7844,7843,7842,7841,7840,7839,7838,7836,7835,7834,7833,7832,7831,7830,7829,7828,7827,7826,7824,7823,7822,7821,7820,7819,7818,7817,7816,7815,7814,7813,7811,7810,7809,7808,7807,7806,7805,7804,7803,7802,7801,7799,7798,7797,7796,7795,7794,7793,7792,7791,7790,7789,7787,7786,7785,7784,7783,7782,7781,7780,7779,7778,7776,7775,7774,7773,7772,7771,7770,7769,7768,7767,7765,7764,7763,7762,7761,7760,7759,7758,7757,7756,7754,7753,7752,7751,7750,7749,7748,7747,7746,7745,7743,7742,7741,7740,7739,7738,7737,7736,7735,7733,7732,7731,7730,7729,7728,7727,7726,7725,7724,7722,7721,7720,7719,7718,7717,7716,7715,7714,7712,7711,7710,7709,7708,7707,7706,7705,7704,7702,7701,7700,7699,7698,7697,7696,7695,7693,7692,7691,7690,7689,7688,7687,7686,7685,7683,7682,7681,7680,7679,7678,7677,7676,7675,7673,7672,7671,7670,7669,7668,7667,7666,7664,7663,7662,7661,7660,7659,7658,7657,7655,7654,7653,7652,7651,7650,7649,7648,7646,7645,7644,7643,7642,7641,7640,7639,7637,7636,7635,7634,7633,7632,7631,7630,7628,7627,7626,7625,7624,7623,7622,7621,7619,7618,7617,7616,7615,7614,7613,7611,7610,7609,7608,7607,7606,7605,7604,7602,7601,7600,7599,7598,7597,7596,7594,7593,7592,7591,7590,7589,7588,7587,7585,7584,7583,7582,7581,7580,7579,7577,7576,7575,7574,7573,7572,7571,7569,7568,7567,7566,7565,7564,7563,7561,7560,7559,7558,7557,7556,7555,7553,7552,7551,7550,7549,7548,7547,7545,7544,7543,7542,7541,7540,7539,7537,7536,7535,7534,7533,7532,7531,7529,7528,7527,7526,7525,7524,7522,7521,7520,7519,7518,7517,7516,7514,7513,7512,7511,7510,7509,7508,7506,7505,7504,7503,7502,7501,7499,7498,7497,7496,7495,7494,7493,7491,7490,7489,7488,7487,7486,7484,7483,7482,7481,7480,7479,7477,7476,7475,7474,7473,7472,7471,7469,7468,7467,7466,7465,7464,7462,7461,7460,7459,7458,7457,7455,7454,7453,7452,7451,7450,7448,7447,7446,7445,7444,7443,7441,7440,7439,7438,7437,7436,7434,7433,7432,7431,7430,7429,7427,7426,7425,7424,7423,7422,7420,7419,7418,7417,7416,7415,7413,7412,7411,7410,7409,7408,7406,7405,7404,7403,7402,7401,7399,7398,7397,7396,7395,7393,7392,7391,7390,7389,7388,7386,7385,7384,7383,7382,7381,7379,7378,7377,7376,7375,7373,7372,7371,7370,7369,7368,7366,7365,7364,7363,7362,7360,7359,7358,7357,7356,7355,7353,7352,7351,7350,7349,7347,7346,7345,7344,7343,7342,7340,7339,7338,7337,7336,7334,7333,7332,7331,7330,7328,7327,7326,7325,7324,7323,7321,7320,7319,7318,7317,7315,7314,7313,7312,7311,7309,7308,7307,7306,7305,7304,7302,7301,7300,7299,7298,7296,7295,7294,7293,7292,7290,7289,7288,7287,7286,7284,7283,7282,7281,7280,7278,7277,7276,7275,7274,7272,7271,7270,7269,7268,7266,7265,7264,7263,7262,7260,7259,7258,7257,7256,7254,7253,7252,7251,7250,7248,7247,7246,7245,7244,7242,7241,7240,7239,7238,7236,7235,7234,7233,7232,7230,7229,7228,7227,7226,7224,7223,7222,7221,7220,7218,7217,7216,7215,7213,7212,7211,7210,7209,7207,7206,7205,7204,7203,7201,7200,7199,7198,7197,7195,7194,7193,7192,7190,7189,7188,7187,7186,7184,7183,7182,7181,7180,7178,7177,7176,7175,7173,7172,7171,7170,7169,7167,7166,7165,7164,7163,7161,7160,7159,7158,7156,7155,7154,7153,7152,7150,7149,7148,7147,7145,7144,7143,7142,7141,7139,7138,7137,7136,7134,7133,7132,7131,7130,7128,7127,7126,7125,7123,7122,7121,7120,7119,7117,7116,7115,7114,7112,7111,7110,7109,7107,7106,7105,7104,7103,7101,7100,7099,7098,7096,7095,7094,7093,7092,7090,7089,7088,7087,7085,7084,7083,7082,7080,7079,7078,7077,7076,7074,7073,7072,7071,7069,7068,7067,7066,7064,7063,7062,7061,7059,7058,7057,7056,7055,7053,7052,7051,7050,7048,7047,7046,7045,7043,7042,7041,7040,7038,7037,7036,7035,7033,7032,7031,7030,7028,7027,7026,7025,7024,7022,7021,7020,7019,7017,7016,7015,7014,7012,7011,7010,7009,7007,7006,7005,7004,7002,7001,7000,6999,6997,6996,6995,6994,6992,6991,6990,6989,6987,6986,6985,6984,6982,6981,6980,6979,6977,6976,6975,6974,6972,6971,6970,6969,6967,6966,6965,6964,6962,6961,6960,6959,6957,6956,6955,6954,6952,6951,6950,6949,6947,6946,6945,6944,6942,6941,6940,6939,6937,6936,6935,6934,6932,6931,6930,6928,6927,6926,6925,6923,6922,6921,6920,6918,6917,6916,6915,6913,6912,6911,6910,6908,6907,6906,6905,6903,6902,6901,6899,6898,6897,6896,6894,6893,6892,6891,6889,6888,6887,6886,6884,6883,6882,6881,6879,6878,6877,6875,6874,6873,6872,6870,6869,6868,6867,6865,6864,6863,6861,6860,6859,6858,6856,6855,6854,6853,6851,6850,6849,6848,6846,6845,6844,6842,6841,6840,6839,6837,6836,6835,6834,6832,6831,6830,6828,6827,6826,6825,6823,6822,6821,6819,6818,6817,6816,6814,6813,6812,6811,6809,6808,6807,6805,6804,6803,6802,6800,6799,6798,6796,6795,6794,6793,6791,6790,6789,6788,6786,6785,6784,6782,6781,6780,6779,6777,6776,6775,6773,6772,6771,6770,6768,6767,6766,6764,6763,6762,6761,6759,6758,6757,6755,6754,6753,6752,6750,6749,6748,6746,6745,6744,6743,6741,6740,6739,6737,6736,6735,6733,6732,6731,6730,6728,6727,6726,6724,6723,6722,6721,6719,6718,6717,6715,6714,6713,6712,6710,6709,6708,6706,6705,6704,6702,6701,6700,6699,6697,6696,6695,6693,6692,6691,6690,6688,6687,6686,6684,6683,6682,6680,6679,6678,6677,6675,6674,6673,6671,6670,6669,6667,6666,6665,6664,6662,6661,6660,6658,6657,6656,6654,6653,6652,6651,6649,6648,6647,6645,6644,6643,6641,6640,6639,6637,6636,6635,6634,6632,6631,6630,6628,6627,6626,6624,6623,6622,6620,6619,6618,6617,6615,6614,6613,6611,6610,6609,6607,6606,6605,6603,6602,6601,6600,6598,6597,6596,6594,6593,6592,6590,6589,6588,6586,6585,6584,6582,6581,6580,6579,6577,6576,6575,6573,6572,6571,6569,6568,6567,6565,6564,6563,6561,6560,6559,6557,6556,6555,6554,6552,6551,6550,6548,6547,6546,6544,6543,6542,6540,6539,6538,6536,6535,6534,6532,6531,6530,6528,6527,6526,6524,6523,6522,6520,6519,6518,6517,6515,6514,6513,6511,6510,6509,6507,6506,6505,6503,6502,6501,6499,6498,6497,6495,6494,6493,6491,6490,6489,6487,6486,6485,6483,6482,6481,6479,6478,6477,6475,6474,6473,6471,6470,6469,6467,6466,6465,6463,6462,6461,6459,6458,6457,6455,6454,6453,6451,6450,6449,6447,6446,6445,6443,6442,6441,6439,6438,6437,6435,6434,6433,6431,6430,6429,6427,6426,6425,6423,6422,6421,6419,6418,6417,6415,6414,6413,6411,6410,6409,6407,6406,6405,6403,6402,6401,6399,6398,6397,6395,6394,6393,6391,6390,6389,6387,6386,6384,6383,6382,6380,6379,6378,6376,6375,6374,6372,6371,6370,6368,6367,6366,6364,6363,6362,6360,6359,6358,6356,6355,6354,6352,6351,6350,6348,6347,6345,6344,6343,6341,6340,6339,6337,6336,6335,6333,6332,6331,6329,6328,6327,6325,6324,6322,6321,6320,6318,6317,6316,6314,6313,6312,6310,6309,6308,6306,6305,6304,6302,6301,6299,6298,6297,6295,6294,6293,6291,6290,6289,6287,6286,6285,6283,6282,6280,6279,6278,6276,6275,6274,6272,6271,6270,6268,6267,6266,6264,6263,6261,6260,6259,6257,6256,6255,6253,6252,6251,6249,6248,6246,6245,6244,6242,6241,6240,6238,6237,6236,6234,6233,6231,6230,6229,6227,6226,6225,6223,6222,6221,6219,6218,6216,6215,6214,6212,6211,6210,6208,6207,6206,6204,6203,6201,6200,6199,6197,6196,6195,6193,6192,6190,6189,6188,6186,6185,6184,6182,6181,6179,6178,6177,6175,6174,6173,6171,6170,6168,6167,6166,6164,6163,6162,6160,6159,6157,6156,6155,6153,6152,6151,6149,6148,6146,6145,6144,6142,6141,6140,6138,6137,6135,6134,6133,6131,6130,6129,6127,6126,6124,6123,6122,6120,6119,6118,6116,6115,6113,6112,6111,6109,6108,6106,6105,6104,6102,6101,6100,6098,6097,6095,6094,6093,6091,6090,6088,6087,6086,6084,6083,6082,6080,6079,6077,6076,6075,6073,6072,6070,6069,6068,6066,6065,6064,6062,6061,6059,6058,6057,6055,6054,6052,6051,6050,6048,6047,6045,6044,6043,6041,6040,6039,6037,6036,6034,6033,6032,6030,6029,6027,6026,6025,6023,6022,6020,6019,6018,6016,6015,6013,6012,6011,6009,6008,6006,6005,6004,6002,6001,6000,5998,5997,5995,5994,5993,5991,5990,5988,5987,5986,5984,5983,5981,5980,5979,5977,5976,5974,5973,5972,5970,5969,5967,5966,5965,5963,5962,5960,5959,5958,5956,5955,5953,5952,5951,5949,5948,5946,5945,5944,5942,5941,5939,5938,5936,5935,5934,5932,5931,5929,5928,5927,5925,5924,5922,5921,5920,5918,5917,5915,5914,5913,5911,5910,5908,5907,5906,5904,5903,5901,5900,5899,5897,5896,5894,5893,5891,5890,5889,5887,5886,5884,5883,5882,5880,5879,5877,5876,5875,5873,5872,5870,5869,5867,5866,5865,5863,5862,5860,5859,5858,5856,5855,5853,5852,5850,5849,5848,5846,5845,5843,5842,5841,5839,5838,5836,5835,5833,5832,5831,5829,5828,5826,5825,5824,5822,5821,5819,5818,5816,5815,5814,5812,5811,5809,5808,5807,5805,5804,5802,5801,5799,5798,5797,5795,5794,5792,5791,5789,5788,5787,5785,5784,5782,5781,5780,5778,5777,5775,5774,5772,5771,5770,5768,5767,5765,5764,5762,5761,5760,5758,5757,5755,5754,5752,5751,5750,5748,5747,5745,5744,5742,5741,5740,5738,5737,5735,5734,5732,5731,5730,5728,5727,5725,5724,5722,5721,5720,5718,5717,5715,5714,5712,5711,5710,5708,5707,5705,5704,5702,5701,5699,5698,5697,5695,5694,5692,5691,5689,5688,5687,5685,5684,5682,5681,5679,5678,5677,5675,5674,5672,5671,5669,5668,5666,5665,5664,5662,5661,5659,5658,5656,5655,5653,5652,5651,5649,5648,5646,5645,5643,5642,5641,5639,5638,5636,5635,5633,5632,5630,5629,5628,5626,5625,5623,5622,5620,5619,5617,5616,5615,5613,5612,5610,5609,5607,5606,5604,5603,5602,5600,5599,5597,5596,5594,5593,5591,5590,5589,5587,5586,5584,5583,5581,5580,5578,5577,5576,5574,5573,5571,5570,5568,5567,5565,5564,5562,5561,5560,5558,5557,5555,5554,5552,5551,5549,5548,5546,5545,5544,5542,5541,5539,5538,5536,5535,5533,5532,5531,5529,5528,5526,5525,5523,5522,5520,5519,5517,5516,5515,5513,5512,5510,5509,5507,5506,5504,5503,5501,5500,5498,5497,5496,5494,5493,5491,5490,5488,5487,5485,5484,5482,5481,5480,5478,5477,5475,5474,5472,5471,5469,5468,5466,5465,5463,5462,5461,5459,5458,5456,5455,5453,5452,5450,5449,5447,5446,5444,5443,5441,5440,5439,5437,5436,5434,5433,5431,5430,5428,5427,5425,5424,5422,5421,5420,5418,5417,5415,5414,5412,5411,5409,5408,5406,5405,5403,5402,5400,5399,5397,5396,5395,5393,5392,5390,5389,5387,5386,5384,5383,5381,5380,5378,5377,5375,5374,5372,5371,5370,5368,5367,5365,5364,5362,5361,5359,5358,5356,5355,5353,5352,5350,5349,5347,5346,5344,5343,5342,5340,5339,5337,5336,5334,5333,5331,5330,5328,5327,5325,5324,5322,5321,5319,5318,5316,5315,5313,5312,5311,5309,5308,5306,5305,5303,5302,5300,5299,5297,5296,5294,5293,5291,5290,5288,5287,5285,5284,5282,5281,5279,5278,5276,5275,5274,5272,5271,5269,5268,5266,5265,5263,5262,5260,5259,5257,5256,5254,5253,5251,5250,5248,5247,5245,5244,5242,5241,5239,5238,5236,5235,5233,5232,5230,5229,5227,5226,5224,5223,5222,5220,5219,5217,5216,5214,5213,5211,5210,5208,5207,5205,5204,5202,5201,5199,5198,5196,5195,5193,5192,5190,5189,5187,5186,5184,5183,5181,5180,5178,5177,5175,5174,5172,5171,5169,5168,5166,5165,5163,5162,5160,5159,5157,5156,5154,5153,5151,5150,5148,5147,5145,5144,5142,5141,5139,5138,5136,5135,5133,5132,5130,5129,5127,5126,5124,5123,5121,5120,5118,5117,5115,5114,5112,5111,5109,5108,5106,5105,5103,5102,5100,5099,5097,5096,5094,5093,5091,5090,5088,5087,5085,5084,5082,5081,5079,5078,5076,5075,5073,5072,5070,5069,5067,5066,5064,5063,5061,5060,5058,5057,5055,5054,5052,5051,5049,5048,5046,5045,5043,5042,5040,5039,5037,5036,5034,5033,5031,5030,5028,5027,5025,5024,5022,5021,5019,5018,5016,5015,5013,5012,5010,5009,5007,5006,5004,5003,5001,5000,4998,4996,4995,4993,4992,4990,4989,4987,4986,4984,4983,4981,4980,4978,4977,4975,4974,4972,4971,4969,4968,4966,4965,4963,4962,4960,4959,4957,4956,4954,4953,4951,4950,4948,4947,4945,4943,4942,4940,4939,4937,4936,4934,4933,4931,4930,4928,4927,4925,4924,4922,4921,4919,4918,4916,4915,4913,4912,4910,4909,4907,4905,4904,4902,4901,4899,4898,4896,4895,4893,4892,4890,4889,4887,4886,4884,4883,4881,4880,4878,4877,4875,4874,4872,4870,4869,4867,4866,4864,4863,4861,4860,4858,4857,4855,4854,4852,4851,4849,4848,4846,4845,4843,4841,4840,4838,4837,4835,4834,4832,4831,4829,4828,4826,4825,4823,4822,4820,4819,4817,4816,4814,4812,4811,4809,4808,4806,4805,4803,4802,4800,4799,4797,4796,4794,4793,4791,4789,4788,4786,4785,4783,4782,4780,4779,4777,4776,4774,4773,4771,4770,4768,4766,4765,4763,4762,4760,4759,4757,4756,4754,4753,4751,4750,4748,4747,4745,4743,4742,4740,4739,4737,4736,4734,4733,4731,4730,4728,4727,4725,4723,4722,4720,4719,4717,4716,4714,4713,4711,4710,4708,4707,4705,4703,4702,4700,4699,4697,4696,4694,4693,4691,4690,4688,4687,4685,4683,4682,4680,4679,4677,4676,4674,4673,4671,4670,4668,4666,4665,4663,4662,4660,4659,4657,4656,4654,4653,4651,4649,4648,4646,4645,4643,4642,4640,4639,4637,4636,4634,4632,4631,4629,4628,4626,4625,4623,4622,4620,4619,4617,4615,4614,4612,4611,4609,4608,4606,4605,4603,4601,4600,4598,4597,4595,4594,4592,4591,4589,4588,4586,4584,4583,4581,4580,4578,4577,4575,4574,4572,4570,4569,4567,4566,4564,4563,4561,4560,4558,4557,4555,4553,4552,4550,4549,4547,4546,4544,4543,4541,4539,4538,4536,4535,4533,4532,4530,4529,4527,4525,4524,4522,4521,4519,4518,4516,4515,4513,4511,4510,4508,4507,4505,4504,4502,4500,4499,4497,4496,4494,4493,4491,4490,4488,4486,4485,4483,4482,4480,4479,4477,4476,4474,4472,4471,4469,4468,4466,4465,4463,4461,4460,4458,4457,4455,4454,4452,4451,4449,4447,4446,4444,4443,4441,4440,4438,4436,4435,4433,4432,4430,4429,4427,4426,4424,4422,4421,4419,4418,4416,4415,4413,4411,4410,4408,4407,4405,4404,4402,4400,4399,4397,4396,4394,4393,4391,4389,4388,4386,4385,4383,4382,4380,4379,4377,4375,4374,4372,4371,4369,4368,4366,4364,4363,4361,4360,4358,4357,4355,4353,4352,4350,4349,4347,4346,4344,4342,4341,4339,4338,4336,4335,4333,4331,4330,4328,4327,4325,4324,4322,4320,4319,4317,4316,4314,4312,4311,4309,4308,4306,4305,4303,4301,4300,4298,4297,4295,4294,4292,4290,4289,4287,4286,4284,4283,4281,4279,4278,4276,4275,4273,4272,4270,4268,4267,4265,4264,4262,4260,4259,4257,4256,4254,4253,4251,4249,4248,4246,4245,4243,4241,4240,4238,4237,4235,4234,4232,4230,4229,4227,4226,4224,4223,4221,4219,4218,4216,4215,4213,4211,4210,4208,4207,4205,4204,4202,4200,4199,4197,4196,4194,4192,4191,4189,4188,4186,4185,4183,4181,4180,4178,4177,4175,4173,4172,4170,4169,4167,4165,4164,4162,4161,4159,4158,4156,4154,4153,4151,4150,4148,4146,4145,4143,4142,4140,4138,4137,4135,4134,4132,4131,4129,4127,4126,4124,4123,4121,4119,4118,4116,4115,4113,4111,4110,4108,4107,4105,4104,4102,4100,4099,4097,4096,4094,4092,4091,4089,4088,4086,4084,4083,4081,4080,4078,4076,4075,4073,4072,4070,4068,4067,4065,4064,4062,4060,4059,4057,4056,4054,4053,4051,4049,4048,4046,4045,4043,4041,4040,4038,4037,4035,4033,4032,4030,4029,4027,4025,4024,4022,4021,4019,4017,4016,4014,4013,4011,4009,4008,4006,4005,4003,4001,4000,3998,3997,3995,3993,3992,3990,3989,3987,3985,3984,3982,3981,3979,3977,3976,3974,3973,3971,3969,3968,3966,3965,3963,3961,3960,3958,3957,3955,3953,3952,3950,3949,3947,3945,3944,3942,3941,3939,3937,3936,3934,3933,3931,3929,3928,3926,3924,3923,3921,3920,3918,3916,3915,3913,3912,3910,3908,3907,3905,3904,3902,3900,3899,3897,3896,3894,3892,3891,3889,3888,3886,3884,3883,3881,3879,3878,3876,3875,3873,3871,3870,3868,3867,3865,3863,3862,3860,3859,3857,3855,3854,3852,3851,3849,3847,3846,3844,3842,3841,3839,3838,3836,3834,3833,3831,3830,3828,3826,3825,3823,3821,3820,3818,3817,3815,3813,3812,3810,3809,3807,3805,3804,3802,3801,3799,3797,3796,3794,3792,3791,3789,3788,3786,3784,3783,3781,3780,3778,3776,3775,3773,3771,3770,3768,3767,3765,3763,3762,3760,3759,3757,3755,3754,3752,3750,3749,3747,3746,3744,3742,3741,3739,3737,3736,3734,3733,3731,3729,3728,3726,3725,3723,3721,3720,3718,3716,3715,3713,3712,3710,3708,3707,3705,3703,3702,3700,3699,3697,3695,3694,3692,3690,3689,3687,3686,3684,3682,3681,3679,3677,3676,3674,3673,3671,3669,3668,3666,3665,3663,3661,3660,3658,3656,3655,3653,3652,3650,3648,3647,3645,3643,3642,3640,3639,3637,3635,3634,3632,3630,3629,3627,3626,3624,3622,3621,3619,3617,3616,3614,3612,3611,3609,3608,3606,3604,3603,3601,3599,3598,3596,3595,3593,3591,3590,3588,3586,3585,3583,3582,3580,3578,3577,3575,3573,3572,3570,3569,3567,3565,3564,3562,3560,3559,3557,3555,3554,3552,3551,3549,3547,3546,3544,3542,3541,3539,3538,3536,3534,3533,3531,3529,3528,3526,3524,3523,3521,3520,3518,3516,3515,3513,3511,3510,3508,3506,3505,3503,3502,3500,3498,3497,3495,3493,3492,3490,3488,3487,3485,3484,3482,3480,3479,3477,3475,3474,3472,3470,3469,3467,3466,3464,3462,3461,3459,3457,3456,3454,3452,3451,3449,3448,3446,3444,3443,3441,3439,3438,3436,3434,3433,3431,3430,3428,3426,3425,3423,3421,3420,3418,3416,3415,3413,3411,3410,3408,3407,3405,3403,3402,3400,3398,3397,3395,3393,3392,3390,3389,3387,3385,3384,3382,3380,3379,3377,3375,3374,3372,3370,3369,3367,3366,3364,3362,3361,3359,3357,3356,3354,3352,3351,3349,3347,3346,3344,3343,3341,3339,3338,3336,3334,3333,3331,3329,3328,3326,3324,3323,3321,3319,3318,3316,3315,3313,3311,3310,3308,3306,3305,3303,3301,3300,3298,3296,3295,3293,3291,3290,3288,3287,3285,3283,3282,3280,3278,3277,3275,3273,3272,3270,3268,3267,3265,3263,3262,3260,3258,3257,3255,3254,3252,3250,3249,3247,3245,3244,3242,3240,3239,3237,3235,3234,3232,3230,3229,3227,3225,3224,3222,3221,3219,3217,3216,3214,3212,3211,3209,3207,3206,3204,3202,3201,3199,3197,3196,3194,3192,3191,3189,3187,3186,3184,3182,3181,3179,3178,3176,3174,3173,3171,3169,3168,3166,3164,3163,3161,3159,3158,3156,3154,3153,3151,3149,3148,3146,3144,3143,3141,3139,3138,3136,3134,3133,3131,3129,3128,3126,3125,3123,3121,3120,3118,3116,3115,3113,3111,3110,3108,3106,3105,3103,3101,3100,3098,3096,3095,3093,3091,3090,3088,3086,3085,3083,3081,3080,3078,3076,3075,3073,3071,3070,3068,3066,3065,3063,3061,3060,3058,3056,3055,3053,3051,3050,3048,3046,3045,3043,3041,3040,3038,3037,3035,3033,3032,3030,3028,3027,3025,3023,3022,3020,3018,3017,3015,3013,3012,3010,3008,3007,3005,3003,3002,3000,2998,2997,2995,2993,2992,2990,2988,2987,2985,2983,2982,2980,2978,2977,2975,2973,2972,2970,2968,2967,2965,2963,2962,2960,2958,2957,2955,2953,2952,2950,2948,2947,2945,2943,2942,2940,2938,2937,2935,2933,2932,2930,2928,2927,2925,2923,2922,2920,2918,2917,2915,2913,2912,2910,2908,2907,2905,2903,2902,2900,2898,2897,2895,2893,2891,2890,2888,2886,2885,2883,2881,2880,2878,2876,2875,2873,2871,2870,2868,2866,2865,2863,2861,2860,2858,2856,2855,2853,2851,2850,2848,2846,2845,2843,2841,2840,2838,2836,2835,2833,2831,2830,2828,2826,2825,2823,2821,2820,2818,2816,2815,2813,2811,2810,2808,2806,2804,2803,2801,2799,2798,2796,2794,2793,2791,2789,2788,2786,2784,2783,2781,2779,2778,2776,2774,2773,2771,2769,2768,2766,2764,2763,2761,2759,2758,2756,2754,2753,2751,2749,2747,2746,2744,2742,2741,2739,2737,2736,2734,2732,2731,2729,2727,2726,2724,2722,2721,2719,2717,2716,2714,2712,2711,2709,2707,2706,2704,2702,2700,2699,2697,2695,2694,2692,2690,2689,2687,2685,2684,2682,2680,2679,2677,2675,2674,2672,2670,2669,2667,2665,2663,2662,2660,2658,2657,2655,2653,2652,2650,2648,2647,2645,2643,2642,2640,2638,2637,2635,2633,2631,2630,2628,2626,2625,2623,2621,2620,2618,2616,2615,2613,2611,2610,2608,2606,2605,2603,2601,2599,2598,2596,2594,2593,2591,2589,2588,2586,2584,2583,2581,2579,2578,2576,2574,2573,2571,2569,2567,2566,2564,2562,2561,2559,2557,2556,2554,2552,2551,2549,2547,2546,2544,2542,2540,2539,2537,2535,2534,2532,2530,2529,2527,2525,2524,2522,2520,2519,2517,2515,2513,2512,2510,2508,2507,2505,2503,2502,2500,2498,2497,2495,2493,2491,2490,2488,2486,2485,2483,2481,2480,2478,2476,2475,2473,2471,2469,2468,2466,2464,2463,2461,2459,2458,2456,2454,2453,2451,2449,2447,2446,2444,2442,2441,2439,2437,2436,2434,2432,2431,2429,2427,2425,2424,2422,2420,2419,2417,2415,2414,2412,2410,2409,2407,2405,2403,2402,2400,2398,2397,2395,2393,2392,2390,2388,2387,2385,2383,2381,2380,2378,2376,2375,2373,2371,2370,2368,2366,2364,2363,2361,2359,2358,2356,2354,2353,2351,2349,2348,2346,2344,2342,2341,2339,2337,2336,2334,2332,2331,2329,2327,2325,2324,2322,2320,2319,2317,2315,2314,2312,2310,2308,2307,2305,2303,2302,2300,2298,2297,2295,2293,2292,2290,2288,2286,2285,2283,2281,2280,2278,2276,2275,2273,2271,2269,2268,2266,2264,2263,2261,2259,2258,2256,2254,2252,2251,2249,2247,2246,2244,2242,2241,2239,2237,2235,2234,2232,2230,2229,2227,2225,2223,2222,2220,2218,2217,2215,2213,2212,2210,2208,2206,2205,2203,2201,2200,2198,2196,2195,2193,2191,2189,2188,2186,2184,2183,2181,2179,2178,2176,2174,2172,2171,2169,2167,2166,2164,2162,2160,2159,2157,2155,2154,2152,2150,2149,2147,2145,2143,2142,2140,2138,2137,2135,2133,2132,2130,2128,2126,2125,2123,2121,2120,2118,2116,2114,2113,2111,2109,2108,2106,2104,2103,2101,2099,2097,2096,2094,2092,2091,2089,2087,2085,2084,2082,2080,2079,2077,2075,2073,2072,2070,2068,2067,2065,2063,2062,2060,2058,2056,2055,2053,2051,2050,2048,2046,2044,2043,2041,2039,2038,2036,2034,2032,2031,2029,2027,2026,2024,2022,2021,2019,2017,2015,2014,2012,2010,2009,2007,2005,2003,2002,2000,1998,1997,1995,1993,1991,1990,1988,1986,1985,1983,1981,1979,1978,1976,1974,1973,1971,1969,1968,1966,1964,1962,1961,1959,1957,1956,1954,1952,1950,1949,1947,1945,1944,1942,1940,1938,1937,1935,1933,1932,1930,1928,1926,1925,1923,1921,1920,1918,1916,1914,1913,1911,1909,1908,1906,1904,1902,1901,1899,1897,1896,1894,1892,1890,1889,1887,1885,1884,1882,1880,1878,1877,1875,1873,1872,1870,1868,1866,1865,1863,1861,1860,1858,1856,1854,1853,1851,1849,1848,1846,1844,1842,1841,1839,1837,1836,1834,1832,1830,1829,1827,1825,1824,1822,1820,1818,1817,1815,1813,1812,1810,1808,1806,1805,1803,1801,1800,1798,1796,1794,1793,1791,1789,1788,1786,1784,1782,1781,1779,1777,1776,1774,1772,1770,1769,1767,1765,1763,1762,1760,1758,1757,1755,1753,1751,1750,1748,1746,1745,1743,1741,1739,1738,1736,1734,1733,1731,1729,1727,1726,1724,1722,1721,1719,1717,1715,1714,1712,1710,1708,1707,1705,1703,1702,1700,1698,1696,1695,1693,1691,1690,1688,1686,1684,1683,1681,1679,1678,1676,1674,1672,1671,1669,1667,1665,1664,1662,1660,1659,1657,1655,1653,1652,1650,1648,1647,1645,1643,1641,1640,1638,1636,1634,1633,1631,1629,1628,1626,1624,1622,1621,1619,1617,1616,1614,1612,1610,1609,1607,1605,1603,1602,1600,1598,1597,1595,1593,1591,1590,1588,1586,1585,1583,1581,1579,1578,1576,1574,1572,1571,1569,1567,1566,1564,1562,1560,1559,1557,1555,1554,1552,1550,1548,1547,1545,1543,1541,1540,1538,1536,1535,1533,1531,1529,1528,1526,1524,1522,1521,1519,1517,1516,1514,1512,1510,1509,1507,1505,1503,1502,1500,1498,1497,1495,1493,1491,1490,1488,1486,1484,1483,1481,1479,1478,1476,1474,1472,1471,1469,1467,1466,1464,1462,1460,1459,1457,1455,1453,1452,1450,1448,1447,1445,1443,1441,1440,1438,1436,1434,1433,1431,1429,1428,1426,1424,1422,1421,1419,1417,1415,1414,1412,1410,1409,1407,1405,1403,1402,1400,1398,1396,1395,1393,1391,1390,1388,1386,1384,1383,1381,1379,1377,1376,1374,1372,1370,1369,1367,1365,1364,1362,1360,1358,1357,1355,1353,1351,1350,1348,1346,1345,1343,1341,1339,1338,1336,1334,1332,1331,1329,1327,1326,1324,1322,1320,1319,1317,1315,1313,1312,1310,1308,1306,1305,1303,1301,1300,1298,1296,1294,1293,1291,1289,1287,1286,1284,1282,1281,1279,1277,1275,1274,1272,1270,1268,1267,1265,1263,1261,1260,1258,1256,1255,1253,1251,1249,1248,1246,1244,1242,1241,1239,1237,1236,1234,1232,1230,1229,1227,1225,1223,1222,1220,1218,1216,1215,1213,1211,1210,1208,1206,1204,1203,1201,1199,1197,1196,1194,1192,1190,1189,1187,1185,1184,1182,1180,1178,1177,1175,1173,1171,1170,1168,1166,1164,1163,1161,1159,1158,1156,1154,1152,1151,1149,1147,1145,1144,1142,1140,1138,1137,1135,1133,1132,1130,1128,1126,1125,1123,1121,1119,1118,1116,1114,1112,1111,1109,1107,1106,1104,1102,1100,1099,1097,1095,1093,1092,1090,1088,1086,1085,1083,1081,1079,1078,1076,1074,1073,1071,1069,1067,1066,1064,1062,1060,1059,1057,1055,1053,1052,1050,1048,1047,1045,1043,1041,1040,1038,1036,1034,1033,1031,1029,1027,1026,1024,1022,1020,1019,1017,1015,1014,1012,1010,1008,1007,1005,1003,1001,1000,998,996,994,993,991,989,987,986,984,982,981,979,977,975,974,972,970,968,967,965,963,961,960,958,956,954,953,951,949,948,946,944,942,941,939,937,935,934,932,930,928,927,925,923,921,920,918,916,915,913,911,909,908,906,904,902,901,899,897,895,894,892,890,888,887,885,883,881,880,878,876,875,873,871,869,868,866,864,862,861,859,857,855,854,852,850,848,847,845,843,841,840,838,836,835,833,831,829,828,826,824,822,821,819,817,815,814,812,810,808,807,805,803,801,800,798,796,795,793,791,789,788,786,784,782,781,779,777,775,774,772,770,768,767,765,763,761,760,758,756,755,753,751,749,748,746,744,742,741,739,737,735,734,732,730,728,727,725,723,721,720,718,716,714,713,711,709,708,706,704,702,701,699,697,695,694,692,690,688,687,685,683,681,680,678,676,674,673,671,669,667,666,664,662,660,659,657,655,654,652,650,648,647,645,643,641,640,638,636,634,633,631,629,627,626,624,622,620,619,617,615,613,612,610,608,607,605,603,601,600,598,596,594,593,591,589,587,586,584,582,580,579,577,575,573,572,570,568,566,565,563,561,559,558,556,554,552,551,549,547,546,544,542,540,539,537,535,533,532,530,528,526,525,523,521,519,518,516,514,512,511,509,507,505,504,502,500,498,497,495,493,491,490,488,486,485,483,481,479,478,476,474,472,471,469,467,465,464,462,460,458,457,455,453,451,450,448,446,444,443,441,439,437,436,434,432,430,429,427,425,423,422,420,418,417,415,413,411,410,408,406,404,403,401,399,397,396,394,392,390,389,387,385,383,382,380,378,376,375,373,371,369,368,366,364,362,361,359,357,355,354,352,350,348,347,345,343,342,340,338,336,335,333,331,329,328,326,324,322,321,319,317,315,314,312,310,308,307,305,303,301,300,298,296,294,293,291,289,287,286,284,282,280,279,277,275,273,272,270,268,267,265,263,261,260,258,256,254,253,251,249,247,246,244,242,240,239,237,235,233,232,230,228,226,225,223,221,219,218,216,214,212,211,209,207,205,204,202,200,198,197,195,193,191,190,188,186,184,183,181,179,178,176,174,172,171,169,167,165,164,162,160,158,157,155,153,151,150,148,146,144,143,141,139,137,136,134,132,130,129,127,125,123,122,120,118,116,115,113,111,109,108,106,104,102,101,99,97,95,94,92,90,89,87,85,83,82,80,78,76,75,73,71,69,68,66,64,62,61,59,57,55,54,52,50,48,47,45,43,41,40,38,36,34,33,31,29,27,26,24,22,20,19,17,15,13,12,10,8,6,5,3,1,0]
diff --git a/lib_player_motion/data/gm4_player_motion/function/load.mcfunction b/lib_player_motion/data/gm4_player_motion/function/load.mcfunction
new file mode 100644
index 0000000000..c52589a217
--- /dev/null
+++ b/lib_player_motion/data/gm4_player_motion/function/load.mcfunction
@@ -0,0 +1,37 @@
+# (GM4) moved from internal/technical/load
+# LOAD FUNCTION
+
+# STORAGE
+data modify storage gm4_player_motion:math unitvector set value [0.0d,0.0d,0.0d]
+data modify storage gm4_player_motion:math motion set value [0.0d,0.0d,0.0d]
+data modify storage gm4_player_motion:math pos set value [0.0d,0.0d,0.0d]
+
+# TICK FUNCTION
+schedule function gm4_player_motion:internal/technical/tick 1t append
+
+# SCORES
+scoreboard objectives add gm4_player_motion.api.launch dummy
+scoreboard objectives add gm4_player_motion.internal.dummy dummy
+scoreboard objectives add gm4_player_motion.internal.math dummy
+ scoreboard objectives add gm4_player_motion.internal.math.sqrt dummy
+scoreboard objectives add gm4_player_motion.internal.const dummy
+ scoreboard players set #constant.-1 gm4_player_motion.internal.const -1
+ scoreboard players set #constant.2 gm4_player_motion.internal.const 2
+ scoreboard players set #constant.10 gm4_player_motion.internal.const 10
+ scoreboard players set #constant.12 gm4_player_motion.internal.const 12
+ scoreboard players set #constant.1000 gm4_player_motion.internal.const 1000
+ scoreboard players set #constant.100 gm4_player_motion.internal.const 100
+ scoreboard players set #constant.fpc gm4_player_motion.internal.const 8000
+scoreboard objectives add gm4_player_motion.internal.motion.x dummy
+scoreboard objectives add gm4_player_motion.internal.motion.y dummy
+scoreboard objectives add gm4_player_motion.internal.motion.z dummy
+scoreboard objectives add gm4_player_motion.internal.gamemode dummy
+
+# MARKER
+kill 9a347e6c-1ce5-434a-b717-6707d51f4299
+# ^ (GM4) changed UUID to prevent potential conflict
+summon marker 29999998.0 0.0 7133.0 {UUID:[I; -1707835796, 484787018, -1223203065, -719371623], Tags:["smithed.strict", "smithed.entity"]}
+# ^ (GM4) changed position to GM4 forceloaded chunk and changed UUID to prevent potential conflict
+
+# TRIG LOOKUP TABLE:
+function gm4_player_motion:internal/technical/trig
diff --git a/lib_player_motion/data/gm4_player_motion/function/resolve_load/launch_looking.mcfunction b/lib_player_motion/data/gm4_player_motion/function/resolve_load/launch_looking.mcfunction
new file mode 100644
index 0000000000..dcdfe2f1f4
--- /dev/null
+++ b/lib_player_motion/data/gm4_player_motion/function/resolve_load/launch_looking.mcfunction
@@ -0,0 +1 @@
+execute if score gm4_player_motion load.status matches 1 if score gm4_lore_minor load.status matches 0.. run function gm4_player_motion:api/launch_looking
diff --git a/lib_player_motion/data/gm4_player_motion/function/resolve_load/launch_xyz.mcfunction b/lib_player_motion/data/gm4_player_motion/function/resolve_load/launch_xyz.mcfunction
new file mode 100644
index 0000000000..c8bbc90ee6
--- /dev/null
+++ b/lib_player_motion/data/gm4_player_motion/function/resolve_load/launch_xyz.mcfunction
@@ -0,0 +1 @@
+execute if score gm4_player_motion load.status matches 1 if score gm4_lore_minor load.status matches 0.. run function gm4_player_motion:api/launch_xyz
diff --git a/lib_player_motion/data/gm4_player_motion/tags/function/launch_looking.json b/lib_player_motion/data/gm4_player_motion/tags/function/launch_looking.json
new file mode 100644
index 0000000000..a9e501f12a
--- /dev/null
+++ b/lib_player_motion/data/gm4_player_motion/tags/function/launch_looking.json
@@ -0,0 +1,5 @@
+{
+ "values": [
+ "gm4_player_motion:resolve_load/launch_looking"
+ ]
+}
diff --git a/lib_player_motion/data/gm4_player_motion/tags/function/launch_xyz.json b/lib_player_motion/data/gm4_player_motion/tags/function/launch_xyz.json
new file mode 100644
index 0000000000..c752516198
--- /dev/null
+++ b/lib_player_motion/data/gm4_player_motion/tags/function/launch_xyz.json
@@ -0,0 +1,5 @@
+{
+ "values": [
+ "gm4_player_motion:resolve_load/launch_xyz"
+ ]
+}
diff --git a/lib_potion_tracking/beet.yaml b/lib_potion_tracking/beet.yaml
index 2576d96587..76dc916d4d 100644
--- a/lib_potion_tracking/beet.yaml
+++ b/lib_potion_tracking/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_potion_tracking
name: Gamemode 4 Potion Tracking
-version: 1.2.X
+version: 1.3.X
description: Allows other datapacks to track thrown splash or lingering potions.
data_pack:
@@ -15,7 +15,7 @@ meta:
gm4:
versioning:
required:
- lib_forceload: 1.4.0
+ lib_forceload: 1.5.0
extra_version_injections:
functions: [resolve_tick]
smithed:
diff --git a/lib_potion_tracking/data/gm4_potion_tracking/function/tick.mcfunction b/lib_potion_tracking/data/gm4_potion_tracking/function/tick.mcfunction
index a90fd8215a..bb470a9067 100644
--- a/lib_potion_tracking/data/gm4_potion_tracking/function/tick.mcfunction
+++ b/lib_potion_tracking/data/gm4_potion_tracking/function/tick.mcfunction
@@ -4,4 +4,4 @@
# run from gm4_potion_tracking-1.0:resolve_tick
# execute as all potions
-execute as @e[type=potion] run function gm4_potion_tracking:potion
+execute as @e[type=#gm4_potion_tracking:potion] run function gm4_potion_tracking:potion
diff --git a/lib_potion_tracking/data/gm4_potion_tracking/function/track/marker.mcfunction b/lib_potion_tracking/data/gm4_potion_tracking/function/track/marker.mcfunction
index 179898930c..f9e7a1d4ff 100644
--- a/lib_potion_tracking/data/gm4_potion_tracking/function/track/marker.mcfunction
+++ b/lib_potion_tracking/data/gm4_potion_tracking/function/track/marker.mcfunction
@@ -6,7 +6,7 @@
# check if their potion still exists
scoreboard players operation $current gm4_potion_id = @s gm4_potion_id
scoreboard players set $match gm4_potion_id 0
-execute as @e[type=potion,tag=gm4_potion] if score @s gm4_potion_id = $current gm4_potion_id run scoreboard players set $match gm4_potion_id 1
+execute as @e[type=#gm4_potion_tracking:potion,tag=gm4_potion] if score @s gm4_potion_id = $current gm4_potion_id run scoreboard players set $match gm4_potion_id 1
# if there is no matching potion, run their commands
execute unless score $match gm4_potion_id matches 1 run function gm4_potion_tracking:track/potion_landed
diff --git a/lib_potion_tracking/data/gm4_potion_tracking/tags/entity_type/potion.json b/lib_potion_tracking/data/gm4_potion_tracking/tags/entity_type/potion.json
new file mode 100644
index 0000000000..461a62d4ea
--- /dev/null
+++ b/lib_potion_tracking/data/gm4_potion_tracking/tags/entity_type/potion.json
@@ -0,0 +1,6 @@
+{
+ "values": [
+ "minecraft:lingering_potion",
+ "minecraft:splash_potion"
+ ]
+}
diff --git a/lib_trades/beet.yaml b/lib_trades/beet.yaml
index 77b3458f73..28ee2ad17b 100644
--- a/lib_trades/beet.yaml
+++ b/lib_trades/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_trades
name: Gamemode 4 Trades
-version: 1.5.X
+version: 1.6.X
description: Allows other datapacks to easily add trades to Wandering Traders or to any Villager-like entity.
data_pack:
diff --git a/lib_trades/data/gm4_trades/function/wandering_trader/append_trade.mcfunction b/lib_trades/data/gm4_trades/function/wandering_trader/append_trade.mcfunction
index a624d00429..beba66839c 100644
--- a/lib_trades/data/gm4_trades/function/wandering_trader/append_trade.mcfunction
+++ b/lib_trades/data/gm4_trades/function/wandering_trader/append_trade.mcfunction
@@ -6,8 +6,8 @@
# select random trade
data modify storage gm4_trades:temp/wandering_trader/unprocessed_trade_data llama_data set from entity @e[type=trader_llama,tag=gm4_pooled_trade_option,limit=1,sort=random] {}
-# interpret trade data (body_armor_item: metadata; Items[{Slot:0b}]: sell; Items[{Slot:1b}]: buy; Items[{Slot:2b}]: buyB)
-data modify storage gm4_trades:temp/wandering_trader/next_trade trade set from storage gm4_trades:temp/wandering_trader/unprocessed_trade_data llama_data.body_armor_item.components."minecraft:custom_data".gm4_trades.options
+# interpret trade data (equipment.body: metadata; Items[{Slot:0b}]: sell; Items[{Slot:1b}]: buy; Items[{Slot:2b}]: buyB)
+data modify storage gm4_trades:temp/wandering_trader/next_trade trade set from storage gm4_trades:temp/wandering_trader/unprocessed_trade_data llama_data.equipment.body.components."minecraft:custom_data".gm4_trades.options
data modify storage gm4_trades:temp/wandering_trader/next_trade trade.sell set from storage gm4_trades:temp/wandering_trader/unprocessed_trade_data llama_data.Items[{Slot:0b}]
data modify storage gm4_trades:temp/wandering_trader/next_trade trade.buy set from storage gm4_trades:temp/wandering_trader/unprocessed_trade_data llama_data.Items[{Slot:1b}]
data modify storage gm4_trades:temp/wandering_trader/next_trade trade.buyB set from storage gm4_trades:temp/wandering_trader/unprocessed_trade_data llama_data.Items[{Slot:2b}]
diff --git a/lib_trades/data/gm4_trades/function/wandering_trader/pool/collect_trades.mcfunction b/lib_trades/data/gm4_trades/function/wandering_trader/pool/collect_trades.mcfunction
index 3b1864215b..e98df921ba 100644
--- a/lib_trades/data/gm4_trades/function/wandering_trader/pool/collect_trades.mcfunction
+++ b/lib_trades/data/gm4_trades/function/wandering_trader/pool/collect_trades.mcfunction
@@ -9,7 +9,7 @@ tag @s add gm4_processed_trade_option
# compare current fixed pool id to pool id of next unprocessed trade option ($pools_differ == 1 if next trade does not exist or is in different trade pool ;;; == 0 if pool names match)
scoreboard players set $pools_differ gm4_trades_data 1
data modify storage gm4_trades:temp/wandering_trader/comparison pool set from storage gm4_trades:temp/wandering_trader/current_tradepool pool
-execute if data entity @s body_armor_item.components."minecraft:custom_data".gm4_trades.pool store success score $pools_differ gm4_trades_data run data modify storage gm4_trades:temp/wandering_trader/comparison pool set from entity @s body_armor_item.components."minecraft:custom_data".gm4_trades.pool
+execute if data entity @s equipment.body.components."minecraft:custom_data".gm4_trades.pool store success score $pools_differ gm4_trades_data run data modify storage gm4_trades:temp/wandering_trader/comparison pool set from entity @s equipment.body.components."minecraft:custom_data".gm4_trades.pool
data remove storage gm4_trades:temp/wandering_trader/comparison pool
# if trade pools didnt differ, keep looping until they do.
diff --git a/lib_trades/data/gm4_trades/function/wandering_trader/pool/initialize.mcfunction b/lib_trades/data/gm4_trades/function/wandering_trader/pool/initialize.mcfunction
index a005ef1524..44a41aea24 100644
--- a/lib_trades/data/gm4_trades/function/wandering_trader/pool/initialize.mcfunction
+++ b/lib_trades/data/gm4_trades/function/wandering_trader/pool/initialize.mcfunction
@@ -8,7 +8,7 @@ tag @s add gm4_pooled_trade_option
tag @s add gm4_processed_trade_option
# read current trade pool name space
-data modify storage gm4_trades:temp/wandering_trader/current_tradepool pool set from entity @s body_armor_item.components."minecraft:custom_data".gm4_trades.pool
+data modify storage gm4_trades:temp/wandering_trader/current_tradepool pool set from entity @s equipment.body.components."minecraft:custom_data".gm4_trades.pool
# compare to next trade option's pool
execute as @e[type=trader_llama,tag=gm4_trade_option,tag=!gm4_pooled_trade_option,limit=1,sort=arbitrary] run function gm4_trades:wandering_trader/pool/collect_trades
diff --git a/lib_trades/example_use/data/example_pack/functions/wandering_trader/register_trade.mcfunction b/lib_trades/example_use/data/example_pack/functions/wandering_trader/register_trade.mcfunction
index 44c48fb289..249860c312 100644
--- a/lib_trades/example_use/data/example_pack/functions/wandering_trader/register_trade.mcfunction
+++ b/lib_trades/example_use/data/example_pack/functions/wandering_trader/register_trade.mcfunction
@@ -5,30 +5,30 @@
# a trade option with hardcoded buy, buyB, sell and options. The 'pool' tag is omitted, resulting in an unnamed pool. Therefore this trade will always be listed as its own option, and other packs can not add items to this trade pool.
# Items[{Slot:2b}] is used for the item being sold (by the wandering trader), Items[{Slot:3b}] for the item being bought (by the wandering trader) and Items[{Slot:4b}] for the secondary buy item.
-summon trader_llama ~ 0 ~ {Silent:1b,NoGravity:1b,Invulnerable:1b,ChestedHorse:1b,Variant:0,Strength:1,DespawnDelay:1,Tags:["gm4_trade_option"],Items:[{id:"minecraft:grass_block",count:1,Slot:2b},{id:"minecraft:emerald",count:1,Slot:3b},{id:"minecraft:wheat_seeds",count:1,Slot:4b}],body_armor_item:{id:"minecraft:light_blue_carpet",count:1,components:{"minecraft:custom_data":{gm4_trades:{options:{maxUses:8,rewardXp:1b,xp:1,priceMultiplier:0.05f}}}}}}
+summon trader_llama ~ 0 ~ {Silent:1b,NoGravity:1b,Invulnerable:1b,ChestedHorse:1b,Variant:0,Strength:1,DespawnDelay:1,Tags:["gm4_trade_option"],Items:[{id:"minecraft:grass_block",count:1,Slot:2b},{id:"minecraft:emerald",count:1,Slot:3b},{id:"minecraft:wheat_seeds",count:1,Slot:4b}],equipment:{body:{id:"minecraft:light_blue_carpet",count:1,components:{"minecraft:custom_data":{gm4_trades:{options:{maxUses:8,rewardXp:1b,xp:1,priceMultiplier:0.05f}}}}}}}
# another hardcoded trade as in line 7, but this one only appears for traders in the end
-execute if predicate example_pack:the_end run summon trader_llama ~ 0 ~ {Silent:1b,NoGravity:1b,Invulnerable:1b,ChestedHorse:1b,Variant:0,Strength:1,DespawnDelay:1,Tags:["gm4_trade_option"],Items:[{id:"minecraft:end_stone",count:1,Slot:2b},{id:"minecraft:emerald",count:1,Slot:3b},{}],body_armor_item:{id:"minecraft:light_blue_carpet",count:1,components:{"minecraft:custom_data":{gm4_trades:{pool:"example_pack:foo_trades",options:{maxUses:8,rewardXp:1b,xp:1,priceMultiplier:0.05f}}}}}}
+execute if predicate example_pack:the_end run summon trader_llama ~ 0 ~ {Silent:1b,NoGravity:1b,Invulnerable:1b,ChestedHorse:1b,Variant:0,Strength:1,DespawnDelay:1,Tags:["gm4_trade_option"],Items:[{id:"minecraft:end_stone",count:1,Slot:2b},{id:"minecraft:emerald",count:1,Slot:3b},{}],equipment:{body:{id:"minecraft:light_blue_carpet",count:1,components:{"minecraft:custom_data":{gm4_trades:{pool:"example_pack:foo_trades",options:{maxUses:8,rewardXp:1b,xp:1,priceMultiplier:0.05f}}}}}}}
# a trade in the trade pool "example_pack:foo_trades"
-summon trader_llama ~ 0 ~ {Silent:1b,NoGravity:1b,Invulnerable:1b,ChestedHorse:1b,Variant:0,Strength:1,DespawnDelay:1,Tags:["gm4_trade_option"],Items:[{id:"minecraft:spawner",count:1,Slot:2b},{id:"minecraft:emerald",count:64,Slot:3b},{}],body_armor_item:{id:"minecraft:light_blue_carpet",count:1,components:{"minecraft:custom_data":{gm4_trades:{pool:"example_pack:foo_trades",options:{maxUses:1,rewardXp:1b,xp:1,priceMultiplier:0.05f}}}}}}
+summon trader_llama ~ 0 ~ {Silent:1b,NoGravity:1b,Invulnerable:1b,ChestedHorse:1b,Variant:0,Strength:1,DespawnDelay:1,Tags:["gm4_trade_option"],Items:[{id:"minecraft:spawner",count:1,Slot:2b},{id:"minecraft:emerald",count:64,Slot:3b},{}],equipment:{body:{id:"minecraft:light_blue_carpet",count:1,components:{"minecraft:custom_data":{gm4_trades:{pool:"example_pack:foo_trades",options:{maxUses:1,rewardXp:1b,xp:1,priceMultiplier:0.05f}}}}}}}
# a trade that uses a loot table for the sell and the buy option
-summon trader_llama ~ 0 ~ {Silent:1b,NoGravity:1b,Invulnerable:1b,ChestedHorse:1b,Variant:0,Strength:1,DespawnDelay:1,Tags:["gm4_trade_option","gm4_new_trade_option"],Items:[{},{},{}],body_armor_item:{id:"minecraft:light_blue_carpet",count:1,components:{"minecraft:custom_data":{gm4_trades:{options:{maxUses:24,rewardXp:0b}}}}}}
+summon trader_llama ~ 0 ~ {Silent:1b,NoGravity:1b,Invulnerable:1b,ChestedHorse:1b,Variant:0,Strength:1,DespawnDelay:1,Tags:["gm4_trade_option","gm4_new_trade_option"],Items:[{},{},{}],equipment:{body:{id:"minecraft:light_blue_carpet",count:1,components:{"minecraft:custom_data":{gm4_trades:{options:{maxUses:24,rewardXp:0b}}}}}}}
loot replace entity @e[type=trader_llama,limit=1,tag=gm4_new_trade_option] horse.0 loot example_pack:blocks
loot replace entity @e[type=trader_llama,limit=1,tag=gm4_new_trade_option] horse.1 loot example_pack:shinies
tag @e[type=trader_llama] remove gm4_new_trade_option
# another trade in the trade pool "example_pack:foo_trades"
-summon trader_llama ~ 0 ~ {Silent:1b,NoGravity:1b,Invulnerable:1b,ChestedHorse:1b,Variant:0,Strength:1,DespawnDelay:1,Tags:["gm4_trade_option","gm4_new_trade_option"],Items:[{},{},{id:"minecraft:rotten_flesh",count:1,Slot:4b}],body_armor_item:{id:"minecraft:light_blue_carpet",count:1,components:{"minecraft:custom_data":{gm4_trades:{pool:"example_pack:foo_trades",options:{maxUses:1,rewardXp:1b,xp:24,priceMultiplier:0.1f}}}}}}
+summon trader_llama ~ 0 ~ {Silent:1b,NoGravity:1b,Invulnerable:1b,ChestedHorse:1b,Variant:0,Strength:1,DespawnDelay:1,Tags:["gm4_trade_option","gm4_new_trade_option"],Items:[{},{},{id:"minecraft:rotten_flesh",count:1,Slot:4b}],equipment:{body:{id:"minecraft:light_blue_carpet",count:1,components:{"minecraft:custom_data":{gm4_trades:{pool:"example_pack:foo_trades",options:{maxUses:1,rewardXp:1b,xp:24,priceMultiplier:0.1f}}}}}}}
loot replace entity @e[type=trader_llama,limit=1,tag=gm4_new_trade_option] horse.0 loot example_pack:spawn_eggs
loot replace entity @e[type=trader_llama,limit=1,tag=gm4_new_trade_option] horse.1 loot example_pack:shinies
tag @e[type=trader_llama] remove gm4_new_trade_option
# a trade in the trade pool "example_pack:bar_trades"
-summon trader_llama ~ 0 ~ {Silent:1b,NoGravity:1b,Invulnerable:1b,ChestedHorse:1b,Variant:0,Strength:1,DespawnDelay:1,Tags:["gm4_trade_option"],Items:[{id:"minecraft:slime_block",count:1,Slot:2b},{id:"minecraft:emerald",count:1,Slot:3b},{}],body_armor_item:{id:"minecraft:light_blue_carpet",count:1,components:{"minecraft:custom_data":{gm4_trades:{pool:"example_pack:bar_trades",options:{maxUses:1,rewardXp:1b,xp:1,priceMultiplier:0.05f}}}}}}
+summon trader_llama ~ 0 ~ {Silent:1b,NoGravity:1b,Invulnerable:1b,ChestedHorse:1b,Variant:0,Strength:1,DespawnDelay:1,Tags:["gm4_trade_option"],Items:[{id:"minecraft:slime_block",count:1,Slot:2b},{id:"minecraft:emerald",count:1,Slot:3b},{}],equipment:{body:{id:"minecraft:light_blue_carpet",count:1,components:{"minecraft:custom_data":{gm4_trades:{pool:"example_pack:bar_trades",options:{maxUses:1,rewardXp:1b,xp:1,priceMultiplier:0.05f}}}}}}}
# a trade in the trade pool "example_pack:bar_trades", that uses one loot table to populate the entire trade
-summon trader_llama ~ 0 ~ {Silent:1b,NoGravity:1b,Invulnerable:1b,ChestedHorse:1b,Variant:0,Strength:1,DespawnDelay:1,Tags:["gm4_trade_option","gm4_new_trade_option"],Items:[{},{},{}],body_armor_item:{id:"minecraft:light_blue_carpet",count:1,components:{"minecraft:custom_data":{gm4_trades:{options:{maxUses:2,rewardXp:1b,xp:1,priceMultiplier:0.05f}}}}}}
+summon trader_llama ~ 0 ~ {Silent:1b,NoGravity:1b,Invulnerable:1b,ChestedHorse:1b,Variant:0,Strength:1,DespawnDelay:1,Tags:["gm4_trade_option","gm4_new_trade_option"],Items:[{},{},{}],equipment:{body:{id:"minecraft:light_blue_carpet",count:1,components:{"minecraft:custom_data":{gm4_trades:{options:{maxUses:2,rewardXp:1b,xp:1,priceMultiplier:0.05f}}}}}}}
loot replace entity @e[type=trader_llama,limit=1,tag=gm4_new_trade_option] horse.0 loot example_pack:pickaxe_trade
tag @e[type=trader_llama] remove gm4_new_trade_option
diff --git a/lib_trees/beet.yaml b/lib_trees/beet.yaml
index 05aec3fa1c..61c50fe2e0 100644
--- a/lib_trees/beet.yaml
+++ b/lib_trees/beet.yaml
@@ -1,6 +1,6 @@
id: gm4_trees
name: Gamemode 4 Trees
-version: 1.2.X
+version: 1.3.X
description: A mcfunction library that facilites the creation of custom trees.
data_pack:
diff --git a/lib_trees/data/gm4_trees/function/sapling/find_adjacent_sapling.mcfunction b/lib_trees/data/gm4_trees/function/sapling/find_adjacent_sapling.mcfunction
new file mode 100644
index 0000000000..b95481f2ab
--- /dev/null
+++ b/lib_trees/data/gm4_trees/function/sapling/find_adjacent_sapling.mcfunction
@@ -0,0 +1,16 @@
+# ray cast to find sapling
+# @s = player that placed a custom sapling
+# at a position along a ray originating from the player's eyes
+# run from gm4_trees:sapling/place_sapling
+
+# check adjacent blocks
+execute positioned ~1 ~ ~ if block ~ ~ ~ #minecraft:saplings align xyz unless entity @e[tag=smithed.block,dx=0,limit=1] run return run function gm4_trees:sapling/summon_marker
+execute positioned ~ ~1 ~ if block ~ ~ ~ #minecraft:saplings align xyz unless entity @e[tag=smithed.block,dx=0,limit=1] run return run function gm4_trees:sapling/summon_marker
+execute positioned ~ ~ ~1 if block ~ ~ ~ #minecraft:saplings align xyz unless entity @e[tag=smithed.block,dx=0,limit=1] run return run function gm4_trees:sapling/summon_marker
+execute positioned ~-1 ~ ~ if block ~ ~ ~ #minecraft:saplings align xyz unless entity @e[tag=smithed.block,dx=0,limit=1] run return run function gm4_trees:sapling/summon_marker
+execute positioned ~ ~-1 ~ if block ~ ~ ~ #minecraft:saplings align xyz unless entity @e[tag=smithed.block,dx=0,limit=1] run return run function gm4_trees:sapling/summon_marker
+execute positioned ~ ~ ~-1 if block ~ ~ ~ #minecraft:saplings align xyz unless entity @e[tag=smithed.block,dx=0,limit=1] run return run function gm4_trees:sapling/summon_marker
+
+# runs the loop again
+scoreboard players remove $ray gm4_tree_data 1
+execute if score $ray gm4_tree_data matches 1.. positioned ^ ^ ^0.013 run function gm4_trees:sapling/find_adjacent_sapling
diff --git a/lib_trees/data/gm4_trees/function/sapling/find_sapling.mcfunction b/lib_trees/data/gm4_trees/function/sapling/find_sapling.mcfunction
new file mode 100644
index 0000000000..7b26b87964
--- /dev/null
+++ b/lib_trees/data/gm4_trees/function/sapling/find_sapling.mcfunction
@@ -0,0 +1,12 @@
+# ray cast to find sapling
+# @s = player that placed a custom sapling
+# at a position along a ray originating from the player's eyes
+# run from gm4_trees:sapling/place_sapling
+
+# check blocks on looking vector
+execute if block ~ ~ ~ #minecraft:saplings align xyz unless entity @e[tag=smithed.block,dx=0,limit=1] run return run function gm4_trees:sapling/summon_marker
+
+# runs the loop again
+scoreboard players remove $ray gm4_tree_data 1
+execute if score $ray gm4_tree_data matches 0.. positioned ^ ^ ^0.013 run return run function gm4_trees:sapling/find_sapling
+execute unless score $ray gm4_tree_data matches 0.. run return fail
diff --git a/lib_trees/data/gm4_trees/function/sapling/place_sapling.mcfunction b/lib_trees/data/gm4_trees/function/sapling/place_sapling.mcfunction
index 357283087c..50c94f4cf9 100644
--- a/lib_trees/data/gm4_trees/function/sapling/place_sapling.mcfunction
+++ b/lib_trees/data/gm4_trees/function/sapling/place_sapling.mcfunction
@@ -1,13 +1,13 @@
-# updates the placed custom sapling block
+# Initiates the search for the placed sapling
# @s = player that just placed a custom sapling
-# located at @s
+# at @s
# run from advancement gm4_trees:place_sapling
advancement revoke @s only gm4_trees:place_sapling
-scoreboard players set $ray gm4_tree_data 50
-scoreboard players set $found gm4_tree_data 0
-execute anchored eyes positioned ^ ^ ^ run function gm4_trees:sapling/ray
+# check for sapling blocks on the looking vector of the player (most likely location)
+scoreboard players set $ray gm4_tree_data 500
+execute store success score $found_sapling gm4_tree_data anchored eyes positioned ^ ^ ^ run function gm4_trees:sapling/find_sapling
-scoreboard players set $ray gm4_tree_data 50
-execute if score $found gm4_tree_data matches 0 anchored eyes positioned ^ ^ ^ run function gm4_trees:sapling/ray_fuzzy
+# if no sapling was found, check blocks adjacent to the looking vector
+execute unless score $found_sapling gm4_trades_data matches 1 anchored eyes positioned ^ ^ ^ run function gm4_trees:sapling/find_adjacent_sapling
diff --git a/lib_trees/data/gm4_trees/function/sapling/ray.mcfunction b/lib_trees/data/gm4_trees/function/sapling/ray.mcfunction
deleted file mode 100644
index 10a7d283c8..0000000000
--- a/lib_trees/data/gm4_trees/function/sapling/ray.mcfunction
+++ /dev/null
@@ -1,12 +0,0 @@
-# ray cast to find sapling
-# @s = player that placed a custom sapling
-# at @s anchored eyes positioned ^ ^ ^0.X where X = step count
-# run from gm4_trees:sapling/place_sapling
-
-# check block
-scoreboard players set $found gm4_tree_data 0
-execute align xyz positioned ~0.5 ~0.5 ~0.5 if block ~ ~ ~ #minecraft:saplings unless entity @e[tag=smithed.block,distance=..0.5,limit=1] run function gm4_trees:sapling/summon_marker
-
-# runs the loop again
-scoreboard players remove $ray gm4_tree_data 1
-execute unless score $found gm4_tree_data matches 1 if score $ray gm4_tree_data matches 1.. positioned ^ ^ ^0.1 run function gm4_trees:sapling/ray
diff --git a/lib_trees/data/gm4_trees/function/sapling/ray_fuzzy.mcfunction b/lib_trees/data/gm4_trees/function/sapling/ray_fuzzy.mcfunction
deleted file mode 100644
index b9c1a9a40f..0000000000
--- a/lib_trees/data/gm4_trees/function/sapling/ray_fuzzy.mcfunction
+++ /dev/null
@@ -1,16 +0,0 @@
-# fuzzy ray cast to find sapling
-# @s = player that placed a custom sapling
-# at @s anchored eyes positioned ^ ^ ^0.X where X = step count
-# run from gm4_trees:sapling/place_sapling
-
-# check adjacent blocks
-execute if score $found gm4_tree_data matches 0 align xyz positioned ~0.5 ~1.5 ~0.5 if block ~ ~ ~ #minecraft:saplings unless entity @e[tag=smithed.block,distance=..0.5,limit=1] run function gm4_trees:sapling/summon_marker
-execute if score $found gm4_tree_data matches 0 align xyz positioned ~0.5 ~-0.5 ~0.5 if block ~ ~ ~ #minecraft:saplings unless entity @e[tag=smithed.block,distance=..0.5,limit=1] run function gm4_trees:sapling/summon_marker
-execute if score $found gm4_tree_data matches 0 align xyz positioned ~1.5 ~0.5 ~0.5 if block ~ ~ ~ #minecraft:saplings unless entity @e[tag=smithed.block,distance=..0.5,limit=1] run function gm4_trees:sapling/summon_marker
-execute if score $found gm4_tree_data matches 0 align xyz positioned ~-0.5 ~0.5 ~0.5 if block ~ ~ ~ #minecraft:saplings unless entity @e[tag=smithed.block,distance=..0.5,limit=1] run function gm4_trees:sapling/summon_marker
-execute if score $found gm4_tree_data matches 0 align xyz positioned ~0.5 ~0.5 ~1.5 if block ~ ~ ~ #minecraft:saplings unless entity @e[tag=smithed.block,distance=..0.5,limit=1] run function gm4_trees:sapling/summon_marker
-execute if score $found gm4_tree_data matches 0 align xyz positioned ~0.5 ~0.5 ~-0.5 if block ~ ~ ~ #minecraft:saplings unless entity @e[tag=smithed.block,distance=..0.5,limit=1] run function gm4_trees:sapling/summon_marker
-
-# runs the loop again
-scoreboard players remove $ray gm4_tree_data 1
-execute unless score $found gm4_tree_data matches 1 if score $ray gm4_tree_data matches 1.. positioned ^ ^ ^0.1 run function gm4_trees:sapling/ray_fuzzy
diff --git a/lib_trees/data/gm4_trees/function/sapling/summon_marker.mcfunction b/lib_trees/data/gm4_trees/function/sapling/summon_marker.mcfunction
index 37b122f0fb..868da2da74 100644
--- a/lib_trees/data/gm4_trees/function/sapling/summon_marker.mcfunction
+++ b/lib_trees/data/gm4_trees/function/sapling/summon_marker.mcfunction
@@ -1,18 +1,19 @@
# summons the sapling marker
# @s = player who placed the custom sapling
-# located at the center of the placed block
-# run from gm4_trees:sapling/ray
-# and from gm4_trees:sapling/ray_fuzzy
-
-scoreboard players set $found gm4_tree_data 1
+# located align xyz of the newly placed sapling
+# run from gm4_trees:sapling/place_sapling
# set up storage to be read from
data modify storage gm4_trees:temp sapling.type set from entity @s SelectedItem.components."minecraft:custom_data".gm4_trees.item.type
## backwards compatibility with old items
execute unless data storage gm4_trees:temp sapling run data modify storage gm4_trees:temp sapling.type set from entity @s SelectedItem.components."minecraft:custom_data".gm4_fruiting_trees.item.type
-# call intialize function so other modules can add their markers
-function #gm4_trees:initialize_sapling
+# call initialize function so other modules can add their markers
+# | NOTE positioned ~.5 ~.5 ~.5 to not break data packs that relied on this behavior of old versions of this library
+execute positioned ~.5 ~.5 ~.5 run function #gm4_trees:initialize_sapling
# clean up
data remove storage gm4_trees:temp sapling
+
+# signal that a sapling was found
+return 1
diff --git a/lib_trees/example_use/data/gm4_trees_example/functions/initialize_sapling.mcfunction b/lib_trees/example_use/data/gm4_trees_example/functions/initialize_sapling.mcfunction
index 7767c58aab..0c3caf2bbe 100644
--- a/lib_trees/example_use/data/gm4_trees_example/functions/initialize_sapling.mcfunction
+++ b/lib_trees/example_use/data/gm4_trees_example/functions/initialize_sapling.mcfunction
@@ -4,6 +4,6 @@
# run from gm4_trees:example:verify/initialize_sapling
# summon marker
-summon marker ~ ~ ~ {CustomName:'"gm4_apple_tree_sapling"',Tags:["gm4_tree_sapling","gm4_apple_tree_sapling","smithed.entity","smithed.strict","smithed.block"]}
+summon marker ~ ~ ~ {CustomName:"gm4_apple_tree_sapling",Tags:["gm4_tree_sapling","gm4_apple_tree_sapling","smithed.entity","smithed.strict","smithed.block"]}
# set stage requirement (higher = longer to grow)
scoreboard players set @e[type=marker,tag=gm4_apple_tree_sapling,distance=..0.1] gm4_sap_growth 2
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/badlands.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/badlands.json
deleted file mode 100644
index 904811b1a4..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/badlands.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:air/in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/bamboo_jungle.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/bamboo_jungle.json
deleted file mode 100644
index 904811b1a4..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/bamboo_jungle.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:air/in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/basalt_deltas.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/basalt_deltas.json
deleted file mode 100644
index 414101a1e4..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/basalt_deltas.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:air/in_nether",
- "required": false
- },
- "minecraft:nether_cave"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/beach.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/beach.json
deleted file mode 100644
index 904811b1a4..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/beach.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:air/in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/birch_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/birch_forest.json
deleted file mode 100644
index 904811b1a4..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/birch_forest.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:air/in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/cherry_grove.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/cherry_grove.json
deleted file mode 100644
index 904811b1a4..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/cherry_grove.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:air/in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/cold_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/cold_ocean.json
deleted file mode 100644
index 904811b1a4..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/cold_ocean.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:air/in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/crimson_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/crimson_forest.json
deleted file mode 100644
index 414101a1e4..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/crimson_forest.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:air/in_nether",
- "required": false
- },
- "minecraft:nether_cave"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/dark_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/dark_forest.json
deleted file mode 100644
index 904811b1a4..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/dark_forest.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:air/in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/deep_cold_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/deep_cold_ocean.json
deleted file mode 100644
index 904811b1a4..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/deep_cold_ocean.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:air/in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/deep_dark.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/deep_dark.json
deleted file mode 100644
index 904811b1a4..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/deep_dark.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:air/in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/deep_frozen_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/deep_frozen_ocean.json
deleted file mode 100644
index 904811b1a4..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/deep_frozen_ocean.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:air/in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/deep_lukewarm_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/deep_lukewarm_ocean.json
deleted file mode 100644
index 904811b1a4..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/deep_lukewarm_ocean.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:air/in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/deep_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/deep_ocean.json
deleted file mode 100644
index 904811b1a4..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/deep_ocean.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:air/in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/desert.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/desert.json
deleted file mode 100644
index 904811b1a4..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/desert.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:air/in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/dripstone_caves.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/dripstone_caves.json
deleted file mode 100644
index 904811b1a4..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/dripstone_caves.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:air/in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/end_barrens.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/end_barrens.json
deleted file mode 100644
index 0a44c4007e..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/end_barrens.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:air/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/end_highlands.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/end_highlands.json
deleted file mode 100644
index 0a44c4007e..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/end_highlands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:air/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/end_midlands.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/end_midlands.json
deleted file mode 100644
index 0a44c4007e..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/end_midlands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:air/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/eroded_badlands.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/eroded_badlands.json
deleted file mode 100644
index 904811b1a4..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/eroded_badlands.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:air/in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/flower_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/flower_forest.json
deleted file mode 100644
index 904811b1a4..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/flower_forest.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:air/in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/forest.json
deleted file mode 100644
index 904811b1a4..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/forest.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:air/in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/frozen_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/frozen_ocean.json
deleted file mode 100644
index 904811b1a4..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/frozen_ocean.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:air/in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/frozen_peaks.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/frozen_peaks.json
deleted file mode 100644
index 904811b1a4..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/frozen_peaks.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:air/in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/frozen_river.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/frozen_river.json
deleted file mode 100644
index 904811b1a4..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/frozen_river.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:air/in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/grove.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/grove.json
deleted file mode 100644
index 904811b1a4..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/grove.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:air/in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/ice_spikes.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/ice_spikes.json
deleted file mode 100644
index 904811b1a4..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/ice_spikes.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:air/in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/jagged_peaks.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/jagged_peaks.json
deleted file mode 100644
index 904811b1a4..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/jagged_peaks.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:air/in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/jungle.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/jungle.json
deleted file mode 100644
index 904811b1a4..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/jungle.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:air/in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/lukewarm_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/lukewarm_ocean.json
deleted file mode 100644
index 904811b1a4..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/lukewarm_ocean.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:air/in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/lush_caves.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/lush_caves.json
deleted file mode 100644
index 904811b1a4..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/lush_caves.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:air/in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/mangrove_swamp.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/mangrove_swamp.json
deleted file mode 100644
index 904811b1a4..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/mangrove_swamp.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:air/in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/meadow.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/meadow.json
deleted file mode 100644
index 904811b1a4..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/meadow.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:air/in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/mushroom_fields.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/mushroom_fields.json
deleted file mode 100644
index 904811b1a4..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/mushroom_fields.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:air/in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/nether_wastes.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/nether_wastes.json
deleted file mode 100644
index 414101a1e4..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/nether_wastes.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:air/in_nether",
- "required": false
- },
- "minecraft:nether_cave"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/ocean.json
deleted file mode 100644
index 904811b1a4..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/ocean.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:air/in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/old_growth_birch_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/old_growth_birch_forest.json
deleted file mode 100644
index 904811b1a4..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/old_growth_birch_forest.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:air/in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/old_growth_pine_taiga.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/old_growth_pine_taiga.json
deleted file mode 100644
index 904811b1a4..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/old_growth_pine_taiga.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:air/in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/old_growth_spruce_taiga.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/old_growth_spruce_taiga.json
deleted file mode 100644
index 904811b1a4..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/old_growth_spruce_taiga.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:air/in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/plains.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/plains.json
deleted file mode 100644
index 904811b1a4..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/plains.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:air/in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/river.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/river.json
deleted file mode 100644
index 904811b1a4..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/river.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:air/in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/savanna.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/savanna.json
deleted file mode 100644
index 904811b1a4..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/savanna.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:air/in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/savanna_plateau.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/savanna_plateau.json
deleted file mode 100644
index 904811b1a4..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/savanna_plateau.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:air/in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/small_end_islands.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/small_end_islands.json
deleted file mode 100644
index 0a44c4007e..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/small_end_islands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:air/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/snowy_beach.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/snowy_beach.json
deleted file mode 100644
index 904811b1a4..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/snowy_beach.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:air/in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/snowy_plains.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/snowy_plains.json
deleted file mode 100644
index 904811b1a4..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/snowy_plains.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:air/in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/snowy_slopes.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/snowy_slopes.json
deleted file mode 100644
index 904811b1a4..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/snowy_slopes.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:air/in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/snowy_taiga.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/snowy_taiga.json
deleted file mode 100644
index 904811b1a4..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/snowy_taiga.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:air/in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/soul_sand_valley.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/soul_sand_valley.json
deleted file mode 100644
index 414101a1e4..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/soul_sand_valley.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:air/in_nether",
- "required": false
- },
- "minecraft:nether_cave"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/sparse_jungle.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/sparse_jungle.json
deleted file mode 100644
index 904811b1a4..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/sparse_jungle.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:air/in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/stony_peaks.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/stony_peaks.json
deleted file mode 100644
index 904811b1a4..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/stony_peaks.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:air/in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/stony_shore.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/stony_shore.json
deleted file mode 100644
index 904811b1a4..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/stony_shore.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:air/in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/sunflower_plains.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/sunflower_plains.json
deleted file mode 100644
index 904811b1a4..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/sunflower_plains.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:air/in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/swamp.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/swamp.json
deleted file mode 100644
index 904811b1a4..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/swamp.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:air/in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/taiga.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/taiga.json
deleted file mode 100644
index 904811b1a4..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/taiga.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:air/in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/the_end.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/the_end.json
deleted file mode 100644
index 0a44c4007e..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/the_end.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:air/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/the_void.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/the_void.json
deleted file mode 100644
index 5d341ba242..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/the_void.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "replace": false,
- "values": []
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/warm_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/warm_ocean.json
deleted file mode 100644
index 904811b1a4..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/warm_ocean.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:air/in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/warped_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/warped_forest.json
deleted file mode 100644
index 414101a1e4..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/warped_forest.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:air/in_nether",
- "required": false
- },
- "minecraft:nether_cave"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/windswept_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/windswept_forest.json
deleted file mode 100644
index 904811b1a4..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/windswept_forest.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:air/in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/windswept_gravelly_hills.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/windswept_gravelly_hills.json
deleted file mode 100644
index 904811b1a4..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/windswept_gravelly_hills.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:air/in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/windswept_hills.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/windswept_hills.json
deleted file mode 100644
index 904811b1a4..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/windswept_hills.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:air/in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/windswept_savanna.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/windswept_savanna.json
deleted file mode 100644
index 904811b1a4..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/windswept_savanna.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:air/in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/wooded_badlands.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/wooded_badlands.json
deleted file mode 100644
index 904811b1a4..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/air/in_biome/wooded_badlands.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:air/in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/badlands.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/badlands.json
deleted file mode 100644
index 3ffbe36dbb..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/badlands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:liquid/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/bamboo_jungle.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/bamboo_jungle.json
deleted file mode 100644
index 3ffbe36dbb..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/bamboo_jungle.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:liquid/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/basalt_deltas.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/basalt_deltas.json
deleted file mode 100644
index e007c3f625..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/basalt_deltas.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:liquid/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/beach.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/beach.json
deleted file mode 100644
index 3ffbe36dbb..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/beach.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:liquid/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/birch_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/birch_forest.json
deleted file mode 100644
index 3ffbe36dbb..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/birch_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:liquid/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/cherry_grove.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/cherry_grove.json
deleted file mode 100644
index 3ffbe36dbb..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/cherry_grove.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:liquid/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/cold_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/cold_ocean.json
deleted file mode 100644
index 3ffbe36dbb..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/cold_ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:liquid/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/crimson_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/crimson_forest.json
deleted file mode 100644
index e007c3f625..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/crimson_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:liquid/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/dark_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/dark_forest.json
deleted file mode 100644
index 3ffbe36dbb..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/dark_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:liquid/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/deep_cold_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/deep_cold_ocean.json
deleted file mode 100644
index 3ffbe36dbb..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/deep_cold_ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:liquid/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/deep_dark.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/deep_dark.json
deleted file mode 100644
index 3ffbe36dbb..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/deep_dark.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:liquid/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/deep_frozen_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/deep_frozen_ocean.json
deleted file mode 100644
index 3ffbe36dbb..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/deep_frozen_ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:liquid/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/deep_lukewarm_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/deep_lukewarm_ocean.json
deleted file mode 100644
index 3ffbe36dbb..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/deep_lukewarm_ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:liquid/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/deep_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/deep_ocean.json
deleted file mode 100644
index 3ffbe36dbb..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/deep_ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:liquid/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/desert.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/desert.json
deleted file mode 100644
index 3ffbe36dbb..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/desert.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:liquid/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/dripstone_caves.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/dripstone_caves.json
deleted file mode 100644
index 3ffbe36dbb..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/dripstone_caves.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:liquid/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/end_barrens.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/end_barrens.json
deleted file mode 100644
index 15f2e42192..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/end_barrens.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:liquid/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/end_highlands.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/end_highlands.json
deleted file mode 100644
index 15f2e42192..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/end_highlands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:liquid/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/end_midlands.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/end_midlands.json
deleted file mode 100644
index 15f2e42192..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/end_midlands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:liquid/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/eroded_badlands.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/eroded_badlands.json
deleted file mode 100644
index 3ffbe36dbb..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/eroded_badlands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:liquid/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/flower_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/flower_forest.json
deleted file mode 100644
index 3ffbe36dbb..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/flower_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:liquid/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/forest.json
deleted file mode 100644
index 3ffbe36dbb..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:liquid/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/frozen_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/frozen_ocean.json
deleted file mode 100644
index 3ffbe36dbb..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/frozen_ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:liquid/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/frozen_peaks.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/frozen_peaks.json
deleted file mode 100644
index 3ffbe36dbb..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/frozen_peaks.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:liquid/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/frozen_river.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/frozen_river.json
deleted file mode 100644
index 3ffbe36dbb..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/frozen_river.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:liquid/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/grove.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/grove.json
deleted file mode 100644
index 3ffbe36dbb..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/grove.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:liquid/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/ice_spikes.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/ice_spikes.json
deleted file mode 100644
index 3ffbe36dbb..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/ice_spikes.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:liquid/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/jagged_peaks.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/jagged_peaks.json
deleted file mode 100644
index 3ffbe36dbb..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/jagged_peaks.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:liquid/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/jungle.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/jungle.json
deleted file mode 100644
index 3ffbe36dbb..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/jungle.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:liquid/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/lukewarm_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/lukewarm_ocean.json
deleted file mode 100644
index 3ffbe36dbb..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/lukewarm_ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:liquid/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/lush_caves.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/lush_caves.json
deleted file mode 100644
index 3ffbe36dbb..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/lush_caves.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:liquid/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/mangrove_swamp.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/mangrove_swamp.json
deleted file mode 100644
index 3ffbe36dbb..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/mangrove_swamp.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:liquid/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/meadow.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/meadow.json
deleted file mode 100644
index 3ffbe36dbb..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/meadow.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:liquid/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/mushroom_fields.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/mushroom_fields.json
deleted file mode 100644
index 3ffbe36dbb..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/mushroom_fields.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:liquid/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/nether_wastes.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/nether_wastes.json
deleted file mode 100644
index e007c3f625..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/nether_wastes.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:liquid/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/ocean.json
deleted file mode 100644
index 3ffbe36dbb..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:liquid/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/old_growth_birch_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/old_growth_birch_forest.json
deleted file mode 100644
index 3ffbe36dbb..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/old_growth_birch_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:liquid/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/old_growth_pine_taiga.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/old_growth_pine_taiga.json
deleted file mode 100644
index 3ffbe36dbb..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/old_growth_pine_taiga.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:liquid/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/old_growth_spruce_taiga.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/old_growth_spruce_taiga.json
deleted file mode 100644
index 3ffbe36dbb..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/old_growth_spruce_taiga.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:liquid/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/plains.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/plains.json
deleted file mode 100644
index 3ffbe36dbb..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/plains.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:liquid/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/river.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/river.json
deleted file mode 100644
index 3ffbe36dbb..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/river.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:liquid/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/savanna.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/savanna.json
deleted file mode 100644
index 3ffbe36dbb..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/savanna.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:liquid/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/savanna_plateau.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/savanna_plateau.json
deleted file mode 100644
index 3ffbe36dbb..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/savanna_plateau.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:liquid/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/small_end_islands.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/small_end_islands.json
deleted file mode 100644
index 15f2e42192..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/small_end_islands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:liquid/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/snowy_beach.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/snowy_beach.json
deleted file mode 100644
index 3ffbe36dbb..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/snowy_beach.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:liquid/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/snowy_plains.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/snowy_plains.json
deleted file mode 100644
index 3ffbe36dbb..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/snowy_plains.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:liquid/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/snowy_slopes.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/snowy_slopes.json
deleted file mode 100644
index 3ffbe36dbb..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/snowy_slopes.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:liquid/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/snowy_taiga.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/snowy_taiga.json
deleted file mode 100644
index 3ffbe36dbb..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/snowy_taiga.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:liquid/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/soul_sand_valley.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/soul_sand_valley.json
deleted file mode 100644
index e007c3f625..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/soul_sand_valley.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:liquid/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/sparse_jungle.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/sparse_jungle.json
deleted file mode 100644
index 3ffbe36dbb..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/sparse_jungle.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:liquid/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/stony_peaks.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/stony_peaks.json
deleted file mode 100644
index 3ffbe36dbb..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/stony_peaks.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:liquid/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/stony_shore.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/stony_shore.json
deleted file mode 100644
index 3ffbe36dbb..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/stony_shore.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:liquid/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/sunflower_plains.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/sunflower_plains.json
deleted file mode 100644
index 3ffbe36dbb..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/sunflower_plains.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:liquid/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/swamp.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/swamp.json
deleted file mode 100644
index 3ffbe36dbb..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/swamp.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:liquid/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/taiga.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/taiga.json
deleted file mode 100644
index 3ffbe36dbb..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/taiga.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:liquid/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/the_end.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/the_end.json
deleted file mode 100644
index 15f2e42192..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/the_end.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:liquid/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/the_void.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/the_void.json
deleted file mode 100644
index 5d341ba242..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/the_void.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "replace": false,
- "values": []
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/warm_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/warm_ocean.json
deleted file mode 100644
index 3ffbe36dbb..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/warm_ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:liquid/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/warped_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/warped_forest.json
deleted file mode 100644
index e007c3f625..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/warped_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:liquid/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/windswept_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/windswept_forest.json
deleted file mode 100644
index 3ffbe36dbb..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/windswept_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:liquid/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/windswept_gravelly_hills.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/windswept_gravelly_hills.json
deleted file mode 100644
index 3ffbe36dbb..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/windswept_gravelly_hills.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:liquid/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/windswept_hills.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/windswept_hills.json
deleted file mode 100644
index 3ffbe36dbb..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/windswept_hills.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:liquid/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/windswept_savanna.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/windswept_savanna.json
deleted file mode 100644
index 3ffbe36dbb..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/windswept_savanna.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:liquid/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/wooded_badlands.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/wooded_badlands.json
deleted file mode 100644
index 3ffbe36dbb..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/configured_carver/liquid/in_biome/wooded_badlands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:liquid/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/badlands.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/badlands.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/badlands.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/bamboo_jungle.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/bamboo_jungle.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/bamboo_jungle.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/basalt_deltas.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/basalt_deltas.json
deleted file mode 100644
index 30576cb099..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/basalt_deltas.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/beach.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/beach.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/beach.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/birch_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/birch_forest.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/birch_forest.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/cherry_grove.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/cherry_grove.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/cherry_grove.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/cold_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/cold_ocean.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/cold_ocean.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/crimson_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/crimson_forest.json
deleted file mode 100644
index 30576cb099..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/crimson_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/dark_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/dark_forest.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/dark_forest.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/deep_cold_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/deep_cold_ocean.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/deep_cold_ocean.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/deep_dark.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/deep_dark.json
deleted file mode 100644
index cfa381a47a..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/deep_dark.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/deep_frozen_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/deep_frozen_ocean.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/deep_frozen_ocean.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/deep_lukewarm_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/deep_lukewarm_ocean.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/deep_lukewarm_ocean.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/deep_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/deep_ocean.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/deep_ocean.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/desert.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/desert.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/desert.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/dripstone_caves.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/dripstone_caves.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/dripstone_caves.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/end_barrens.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/end_barrens.json
deleted file mode 100644
index 8df86ba913..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/end_barrens.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/end_highlands.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/end_highlands.json
deleted file mode 100644
index 8df86ba913..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/end_highlands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/end_midlands.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/end_midlands.json
deleted file mode 100644
index 8df86ba913..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/end_midlands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/eroded_badlands.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/eroded_badlands.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/eroded_badlands.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/flower_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/flower_forest.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/flower_forest.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/forest.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/forest.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/frozen_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/frozen_ocean.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/frozen_ocean.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/frozen_peaks.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/frozen_peaks.json
deleted file mode 100644
index 1a5743ce05..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/frozen_peaks.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava",
- "minecraft:spring_lava_frozen"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/frozen_river.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/frozen_river.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/frozen_river.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/grove.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/grove.json
deleted file mode 100644
index 1a5743ce05..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/grove.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava",
- "minecraft:spring_lava_frozen"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/ice_spikes.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/ice_spikes.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/ice_spikes.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/jagged_peaks.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/jagged_peaks.json
deleted file mode 100644
index 1a5743ce05..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/jagged_peaks.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava",
- "minecraft:spring_lava_frozen"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/jungle.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/jungle.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/jungle.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/lukewarm_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/lukewarm_ocean.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/lukewarm_ocean.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/lush_caves.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/lush_caves.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/lush_caves.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/mangrove_swamp.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/mangrove_swamp.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/mangrove_swamp.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/meadow.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/meadow.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/meadow.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/mushroom_fields.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/mushroom_fields.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/mushroom_fields.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/nether_wastes.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/nether_wastes.json
deleted file mode 100644
index 30576cb099..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/nether_wastes.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/ocean.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/ocean.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/old_growth_birch_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/old_growth_birch_forest.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/old_growth_birch_forest.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/old_growth_pine_taiga.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/old_growth_pine_taiga.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/old_growth_pine_taiga.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/old_growth_spruce_taiga.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/old_growth_spruce_taiga.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/old_growth_spruce_taiga.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/plains.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/plains.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/plains.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/river.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/river.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/river.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/savanna.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/savanna.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/savanna.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/savanna_plateau.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/savanna_plateau.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/savanna_plateau.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/small_end_islands.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/small_end_islands.json
deleted file mode 100644
index 8df86ba913..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/small_end_islands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/snowy_beach.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/snowy_beach.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/snowy_beach.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/snowy_plains.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/snowy_plains.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/snowy_plains.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/snowy_slopes.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/snowy_slopes.json
deleted file mode 100644
index 1a5743ce05..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/snowy_slopes.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava",
- "minecraft:spring_lava_frozen"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/snowy_taiga.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/snowy_taiga.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/snowy_taiga.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/soul_sand_valley.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/soul_sand_valley.json
deleted file mode 100644
index 30576cb099..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/soul_sand_valley.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/sparse_jungle.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/sparse_jungle.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/sparse_jungle.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/stony_peaks.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/stony_peaks.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/stony_peaks.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/stony_shore.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/stony_shore.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/stony_shore.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/sunflower_plains.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/sunflower_plains.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/sunflower_plains.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/swamp.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/swamp.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/swamp.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/taiga.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/taiga.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/taiga.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/the_end.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/the_end.json
deleted file mode 100644
index 8df86ba913..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/the_end.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/the_void.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/the_void.json
deleted file mode 100644
index 5d341ba242..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/the_void.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "replace": false,
- "values": []
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/warm_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/warm_ocean.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/warm_ocean.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/warped_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/warped_forest.json
deleted file mode 100644
index 30576cb099..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/warped_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/windswept_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/windswept_forest.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/windswept_forest.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/windswept_gravelly_hills.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/windswept_gravelly_hills.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/windswept_gravelly_hills.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/windswept_hills.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/windswept_hills.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/windswept_hills.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/windswept_savanna.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/windswept_savanna.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/windswept_savanna.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/wooded_badlands.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/wooded_badlands.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/wooded_badlands.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/bamboo_jungle.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/bamboo_jungle.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/bamboo_jungle.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/basalt_deltas.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/basalt_deltas.json
deleted file mode 100644
index a141583b40..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/basalt_deltas.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/beach.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/beach.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/beach.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/birch_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/birch_forest.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/birch_forest.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/cherry_grove.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/cherry_grove.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/cherry_grove.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/cold_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/cold_ocean.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/cold_ocean.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/crimson_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/crimson_forest.json
deleted file mode 100644
index a141583b40..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/crimson_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/dark_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/dark_forest.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/dark_forest.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/deep_cold_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/deep_cold_ocean.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/deep_cold_ocean.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/deep_dark.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/deep_dark.json
deleted file mode 100644
index 46755c3b7c..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/deep_dark.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/deep_frozen_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/deep_frozen_ocean.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/deep_frozen_ocean.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/deep_lukewarm_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/deep_lukewarm_ocean.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/deep_lukewarm_ocean.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/deep_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/deep_ocean.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/deep_ocean.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/desert.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/desert.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/desert.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/dripstone_caves.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/dripstone_caves.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/dripstone_caves.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/end_barrens.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/end_barrens.json
deleted file mode 100644
index 8f00d8e27c..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/end_barrens.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/end_highlands.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/end_highlands.json
deleted file mode 100644
index 8f00d8e27c..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/end_highlands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/end_midlands.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/end_midlands.json
deleted file mode 100644
index 8f00d8e27c..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/end_midlands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/eroded_badlands.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/eroded_badlands.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/eroded_badlands.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/flower_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/flower_forest.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/flower_forest.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/forest.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/forest.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/frozen_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/frozen_ocean.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/frozen_ocean.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/frozen_peaks.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/frozen_peaks.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/frozen_peaks.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/frozen_river.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/frozen_river.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/frozen_river.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/grove.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/grove.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/grove.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/ice_spikes.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/ice_spikes.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/ice_spikes.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/jagged_peaks.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/jagged_peaks.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/jagged_peaks.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/jungle.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/jungle.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/jungle.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/lukewarm_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/lukewarm_ocean.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/lukewarm_ocean.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/lush_caves.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/lush_caves.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/lush_caves.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/mangrove_swamp.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/mangrove_swamp.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/mangrove_swamp.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/meadow.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/meadow.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/meadow.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/mushroom_fields.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/mushroom_fields.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/mushroom_fields.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/nether_wastes.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/nether_wastes.json
deleted file mode 100644
index a141583b40..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/nether_wastes.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/ocean.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/ocean.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/old_growth_birch_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/old_growth_birch_forest.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/old_growth_birch_forest.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/old_growth_pine_taiga.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/old_growth_pine_taiga.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/old_growth_pine_taiga.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/old_growth_spruce_taiga.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/old_growth_spruce_taiga.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/old_growth_spruce_taiga.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/plains.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/plains.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/plains.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/river.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/river.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/river.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/savanna.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/savanna.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/savanna.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/savanna_plateau.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/savanna_plateau.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/savanna_plateau.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/small_end_islands.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/small_end_islands.json
deleted file mode 100644
index 8f00d8e27c..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/small_end_islands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/snowy_beach.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/snowy_beach.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/snowy_beach.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/snowy_plains.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/snowy_plains.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/snowy_plains.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/snowy_slopes.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/snowy_slopes.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/snowy_slopes.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/snowy_taiga.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/snowy_taiga.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/snowy_taiga.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/soul_sand_valley.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/soul_sand_valley.json
deleted file mode 100644
index a141583b40..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/soul_sand_valley.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/sparse_jungle.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/sparse_jungle.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/sparse_jungle.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/stony_peaks.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/stony_peaks.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/stony_peaks.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/stony_shore.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/stony_shore.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/stony_shore.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/sunflower_plains.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/sunflower_plains.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/sunflower_plains.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/swamp.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/swamp.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/swamp.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/taiga.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/taiga.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/taiga.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/the_end.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/the_end.json
deleted file mode 100644
index 8f00d8e27c..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/the_end.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/the_void.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/the_void.json
deleted file mode 100644
index 5d341ba242..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/the_void.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "replace": false,
- "values": []
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/warm_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/warm_ocean.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/warm_ocean.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/warped_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/warped_forest.json
deleted file mode 100644
index a141583b40..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/warped_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/windswept_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/windswept_forest.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/windswept_forest.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/windswept_gravelly_hills.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/windswept_gravelly_hills.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/windswept_gravelly_hills.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/windswept_hills.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/windswept_hills.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/windswept_hills.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/windswept_savanna.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/windswept_savanna.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/windswept_savanna.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/wooded_badlands.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/wooded_badlands.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/wooded_badlands.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/badlands.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/badlands.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/badlands.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/bamboo_jungle.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/bamboo_jungle.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/bamboo_jungle.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/basalt_deltas.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/basalt_deltas.json
deleted file mode 100644
index 3bb8c75fcd..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/basalt_deltas.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/beach.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/beach.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/beach.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/birch_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/birch_forest.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/birch_forest.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/cherry_grove.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/cherry_grove.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/cherry_grove.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/cold_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/cold_ocean.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/cold_ocean.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/crimson_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/crimson_forest.json
deleted file mode 100644
index 3bb8c75fcd..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/crimson_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/dark_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/dark_forest.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/dark_forest.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/deep_cold_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/deep_cold_ocean.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/deep_cold_ocean.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/deep_dark.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/deep_dark.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/deep_dark.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/deep_frozen_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/deep_frozen_ocean.json
deleted file mode 100644
index 7c225233eb..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/deep_frozen_ocean.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:iceberg_packed",
- "minecraft:iceberg_blue",
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/deep_lukewarm_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/deep_lukewarm_ocean.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/deep_lukewarm_ocean.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/deep_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/deep_ocean.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/deep_ocean.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/desert.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/desert.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/desert.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/dripstone_caves.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/dripstone_caves.json
deleted file mode 100644
index f50acab367..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/dripstone_caves.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode",
- "minecraft:large_dripstone"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/end_barrens.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/end_barrens.json
deleted file mode 100644
index 24e8318cbc..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/end_barrens.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/end_highlands.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/end_highlands.json
deleted file mode 100644
index 24e8318cbc..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/end_highlands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/end_midlands.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/end_midlands.json
deleted file mode 100644
index 24e8318cbc..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/end_midlands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/eroded_badlands.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/eroded_badlands.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/eroded_badlands.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/flower_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/flower_forest.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/flower_forest.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/forest.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/forest.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/frozen_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/frozen_ocean.json
deleted file mode 100644
index 7c225233eb..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/frozen_ocean.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:iceberg_packed",
- "minecraft:iceberg_blue",
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/frozen_peaks.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/frozen_peaks.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/frozen_peaks.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/frozen_river.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/frozen_river.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/frozen_river.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/grove.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/grove.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/grove.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/ice_spikes.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/ice_spikes.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/ice_spikes.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/jagged_peaks.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/jagged_peaks.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/jagged_peaks.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/jungle.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/jungle.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/jungle.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/lukewarm_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/lukewarm_ocean.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/lukewarm_ocean.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/lush_caves.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/lush_caves.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/lush_caves.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/mangrove_swamp.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/mangrove_swamp.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/mangrove_swamp.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/meadow.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/meadow.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/meadow.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/mushroom_fields.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/mushroom_fields.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/mushroom_fields.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/nether_wastes.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/nether_wastes.json
deleted file mode 100644
index 3bb8c75fcd..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/nether_wastes.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/ocean.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/ocean.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/old_growth_birch_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/old_growth_birch_forest.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/old_growth_birch_forest.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/old_growth_pine_taiga.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/old_growth_pine_taiga.json
deleted file mode 100644
index a00ae5e629..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/old_growth_pine_taiga.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode",
- "minecraft:forest_rock"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/old_growth_spruce_taiga.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/old_growth_spruce_taiga.json
deleted file mode 100644
index a00ae5e629..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/old_growth_spruce_taiga.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode",
- "minecraft:forest_rock"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/plains.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/plains.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/plains.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/river.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/river.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/river.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/savanna.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/savanna.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/savanna.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/savanna_plateau.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/savanna_plateau.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/savanna_plateau.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/small_end_islands.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/small_end_islands.json
deleted file mode 100644
index 24e8318cbc..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/small_end_islands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/snowy_beach.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/snowy_beach.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/snowy_beach.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/snowy_plains.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/snowy_plains.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/snowy_plains.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/snowy_slopes.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/snowy_slopes.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/snowy_slopes.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/snowy_taiga.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/snowy_taiga.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/snowy_taiga.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/soul_sand_valley.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/soul_sand_valley.json
deleted file mode 100644
index 5c7038b578..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/soul_sand_valley.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_nether",
- "required": false
- },
- "minecraft:basalt_pillar"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/sparse_jungle.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/sparse_jungle.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/sparse_jungle.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/stony_peaks.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/stony_peaks.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/stony_peaks.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/stony_shore.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/stony_shore.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/stony_shore.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/sunflower_plains.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/sunflower_plains.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/sunflower_plains.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/swamp.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/swamp.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/swamp.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/taiga.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/taiga.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/taiga.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/the_end.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/the_end.json
deleted file mode 100644
index 24e8318cbc..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/the_end.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/the_void.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/the_void.json
deleted file mode 100644
index 5d341ba242..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/the_void.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "replace": false,
- "values": []
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/warm_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/warm_ocean.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/warm_ocean.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/warped_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/warped_forest.json
deleted file mode 100644
index 3bb8c75fcd..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/warped_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/windswept_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/windswept_forest.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/windswept_forest.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/windswept_gravelly_hills.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/windswept_gravelly_hills.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/windswept_gravelly_hills.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/windswept_hills.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/windswept_hills.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/windswept_hills.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/windswept_savanna.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/windswept_savanna.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/windswept_savanna.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/wooded_badlands.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/wooded_badlands.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/wooded_badlands.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/bamboo_jungle.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/bamboo_jungle.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/bamboo_jungle.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/basalt_deltas.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/basalt_deltas.json
deleted file mode 100644
index 8666138563..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/basalt_deltas.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/beach.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/beach.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/beach.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/birch_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/birch_forest.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/birch_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/cherry_grove.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/cherry_grove.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/cherry_grove.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/cold_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/cold_ocean.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/cold_ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/crimson_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/crimson_forest.json
deleted file mode 100644
index 8666138563..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/crimson_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/dark_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/dark_forest.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/dark_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/deep_cold_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/deep_cold_ocean.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/deep_cold_ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/deep_dark.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/deep_dark.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/deep_dark.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/deep_frozen_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/deep_frozen_ocean.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/deep_frozen_ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/deep_lukewarm_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/deep_lukewarm_ocean.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/deep_lukewarm_ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/deep_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/deep_ocean.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/deep_ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/desert.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/desert.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/desert.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/dripstone_caves.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/dripstone_caves.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/dripstone_caves.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/end_barrens.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/end_barrens.json
deleted file mode 100644
index d4067a4c9d..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/end_barrens.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/end_highlands.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/end_highlands.json
deleted file mode 100644
index d4067a4c9d..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/end_highlands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/end_midlands.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/end_midlands.json
deleted file mode 100644
index d4067a4c9d..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/end_midlands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/eroded_badlands.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/eroded_badlands.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/eroded_badlands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/flower_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/flower_forest.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/flower_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/forest.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/frozen_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/frozen_ocean.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/frozen_ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/frozen_peaks.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/frozen_peaks.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/frozen_peaks.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/frozen_river.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/frozen_river.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/frozen_river.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/grove.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/grove.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/grove.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/ice_spikes.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/ice_spikes.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/ice_spikes.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/jagged_peaks.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/jagged_peaks.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/jagged_peaks.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/jungle.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/jungle.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/jungle.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/lukewarm_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/lukewarm_ocean.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/lukewarm_ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/lush_caves.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/lush_caves.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/lush_caves.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/mangrove_swamp.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/mangrove_swamp.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/mangrove_swamp.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/meadow.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/meadow.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/meadow.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/mushroom_fields.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/mushroom_fields.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/mushroom_fields.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/nether_wastes.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/nether_wastes.json
deleted file mode 100644
index 8666138563..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/nether_wastes.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/ocean.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/old_growth_birch_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/old_growth_birch_forest.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/old_growth_birch_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/old_growth_pine_taiga.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/old_growth_pine_taiga.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/old_growth_pine_taiga.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/old_growth_spruce_taiga.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/old_growth_spruce_taiga.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/old_growth_spruce_taiga.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/plains.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/plains.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/plains.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/river.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/river.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/river.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/savanna.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/savanna.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/savanna.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/savanna_plateau.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/savanna_plateau.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/savanna_plateau.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/small_end_islands.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/small_end_islands.json
deleted file mode 100644
index 1ba39f3180..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/small_end_islands.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_end",
- "required": false
- },
- "minecraft:end_island_decorated"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/snowy_beach.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/snowy_beach.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/snowy_beach.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/snowy_plains.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/snowy_plains.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/snowy_plains.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/snowy_slopes.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/snowy_slopes.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/snowy_slopes.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/snowy_taiga.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/snowy_taiga.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/snowy_taiga.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/soul_sand_valley.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/soul_sand_valley.json
deleted file mode 100644
index 8666138563..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/soul_sand_valley.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/sparse_jungle.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/sparse_jungle.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/sparse_jungle.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/stony_peaks.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/stony_peaks.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/stony_peaks.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/stony_shore.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/stony_shore.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/stony_shore.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/sunflower_plains.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/sunflower_plains.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/sunflower_plains.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/swamp.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/swamp.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/swamp.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/taiga.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/taiga.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/taiga.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/the_end.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/the_end.json
deleted file mode 100644
index d4067a4c9d..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/the_end.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/the_void.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/the_void.json
deleted file mode 100644
index 5d341ba242..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/the_void.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "replace": false,
- "values": []
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/warm_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/warm_ocean.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/warm_ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/warped_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/warped_forest.json
deleted file mode 100644
index 8666138563..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/warped_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/windswept_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/windswept_forest.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/windswept_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/windswept_gravelly_hills.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/windswept_gravelly_hills.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/windswept_gravelly_hills.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/windswept_hills.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/windswept_hills.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/windswept_hills.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/windswept_savanna.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/windswept_savanna.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/windswept_savanna.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/wooded_badlands.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/wooded_badlands.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/wooded_badlands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/bamboo_jungle.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/bamboo_jungle.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/bamboo_jungle.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/basalt_deltas.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/basalt_deltas.json
deleted file mode 100644
index 6304797d8b..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/basalt_deltas.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/beach.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/beach.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/beach.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/birch_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/birch_forest.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/birch_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/cherry_grove.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/cherry_grove.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/cherry_grove.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/cold_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/cold_ocean.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/cold_ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/crimson_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/crimson_forest.json
deleted file mode 100644
index 6304797d8b..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/crimson_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/dark_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/dark_forest.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/dark_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/deep_cold_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/deep_cold_ocean.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/deep_cold_ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/deep_dark.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/deep_dark.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/deep_dark.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/deep_frozen_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/deep_frozen_ocean.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/deep_frozen_ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/deep_lukewarm_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/deep_lukewarm_ocean.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/deep_lukewarm_ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/deep_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/deep_ocean.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/deep_ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/desert.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/desert.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/desert.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/dripstone_caves.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/dripstone_caves.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/dripstone_caves.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/end_barrens.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/end_barrens.json
deleted file mode 100644
index 35d6078f96..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/end_barrens.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/end_highlands.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/end_highlands.json
deleted file mode 100644
index 35d6078f96..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/end_highlands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/end_midlands.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/end_midlands.json
deleted file mode 100644
index 35d6078f96..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/end_midlands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/eroded_badlands.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/eroded_badlands.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/eroded_badlands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/flower_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/flower_forest.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/flower_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/forest.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/frozen_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/frozen_ocean.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/frozen_ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/frozen_peaks.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/frozen_peaks.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/frozen_peaks.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/frozen_river.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/frozen_river.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/frozen_river.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/grove.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/grove.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/grove.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/ice_spikes.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/ice_spikes.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/ice_spikes.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/jagged_peaks.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/jagged_peaks.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/jagged_peaks.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/jungle.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/jungle.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/jungle.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/lukewarm_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/lukewarm_ocean.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/lukewarm_ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/lush_caves.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/lush_caves.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/lush_caves.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/mangrove_swamp.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/mangrove_swamp.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/mangrove_swamp.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/meadow.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/meadow.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/meadow.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/mushroom_fields.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/mushroom_fields.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/mushroom_fields.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/nether_wastes.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/nether_wastes.json
deleted file mode 100644
index 6304797d8b..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/nether_wastes.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/ocean.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/old_growth_birch_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/old_growth_birch_forest.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/old_growth_birch_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/old_growth_pine_taiga.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/old_growth_pine_taiga.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/old_growth_pine_taiga.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/old_growth_spruce_taiga.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/old_growth_spruce_taiga.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/old_growth_spruce_taiga.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/plains.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/plains.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/plains.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/river.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/river.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/river.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/savanna.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/savanna.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/savanna.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/savanna_plateau.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/savanna_plateau.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/savanna_plateau.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/small_end_islands.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/small_end_islands.json
deleted file mode 100644
index 35d6078f96..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/small_end_islands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/snowy_beach.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/snowy_beach.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/snowy_beach.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/snowy_plains.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/snowy_plains.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/snowy_plains.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/snowy_slopes.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/snowy_slopes.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/snowy_slopes.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/snowy_taiga.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/snowy_taiga.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/snowy_taiga.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/soul_sand_valley.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/soul_sand_valley.json
deleted file mode 100644
index 6304797d8b..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/soul_sand_valley.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/sparse_jungle.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/sparse_jungle.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/sparse_jungle.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/stony_peaks.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/stony_peaks.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/stony_peaks.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/stony_shore.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/stony_shore.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/stony_shore.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/sunflower_plains.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/sunflower_plains.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/sunflower_plains.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/swamp.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/swamp.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/swamp.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/taiga.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/taiga.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/taiga.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/the_end.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/the_end.json
deleted file mode 100644
index 35d6078f96..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/the_end.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/the_void.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/the_void.json
deleted file mode 100644
index 5d341ba242..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/the_void.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "replace": false,
- "values": []
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/warm_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/warm_ocean.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/warm_ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/warped_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/warped_forest.json
deleted file mode 100644
index 6304797d8b..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/warped_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/windswept_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/windswept_forest.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/windswept_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/windswept_gravelly_hills.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/windswept_gravelly_hills.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/windswept_gravelly_hills.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/windswept_hills.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/windswept_hills.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/windswept_hills.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/windswept_savanna.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/windswept_savanna.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/windswept_savanna.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/wooded_badlands.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/wooded_badlands.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/wooded_badlands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/badlands.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/badlands.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/badlands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/bamboo_jungle.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/bamboo_jungle.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/bamboo_jungle.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/basalt_deltas.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/basalt_deltas.json
deleted file mode 100644
index 1b1c79b4ba..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/basalt_deltas.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_nether",
- "required": false
- },
- "minecraft:delta",
- "minecraft:small_basalt_columns",
- "minecraft:large_basalt_columns"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/beach.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/beach.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/beach.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/birch_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/birch_forest.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/birch_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/cherry_grove.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/cherry_grove.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/cherry_grove.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/cold_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/cold_ocean.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/cold_ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/crimson_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/crimson_forest.json
deleted file mode 100644
index 593507096e..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/crimson_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/dark_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/dark_forest.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/dark_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/deep_cold_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/deep_cold_ocean.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/deep_cold_ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/deep_dark.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/deep_dark.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/deep_dark.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/deep_frozen_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/deep_frozen_ocean.json
deleted file mode 100644
index c12a8fc610..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/deep_frozen_ocean.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- },
- "minecraft:blue_ice"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/deep_lukewarm_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/deep_lukewarm_ocean.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/deep_lukewarm_ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/deep_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/deep_ocean.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/deep_ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/desert.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/desert.json
deleted file mode 100644
index f83e8c4249..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/desert.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- },
- "minecraft:desert_well"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/dripstone_caves.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/dripstone_caves.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/dripstone_caves.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/end_barrens.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/end_barrens.json
deleted file mode 100644
index 93db345cc0..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/end_barrens.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/end_highlands.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/end_highlands.json
deleted file mode 100644
index 5ac97602c1..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/end_highlands.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_end",
- "required": false
- },
- "minecraft:end_gateway_return"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/end_midlands.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/end_midlands.json
deleted file mode 100644
index 93db345cc0..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/end_midlands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/eroded_badlands.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/eroded_badlands.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/eroded_badlands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/flower_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/flower_forest.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/flower_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/forest.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/frozen_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/frozen_ocean.json
deleted file mode 100644
index c12a8fc610..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/frozen_ocean.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- },
- "minecraft:blue_ice"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/frozen_peaks.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/frozen_peaks.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/frozen_peaks.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/frozen_river.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/frozen_river.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/frozen_river.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/grove.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/grove.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/grove.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/ice_spikes.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/ice_spikes.json
deleted file mode 100644
index 25677310ac..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/ice_spikes.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- },
- "minecraft:ice_spike",
- "minecraft:ice_patch"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/jagged_peaks.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/jagged_peaks.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/jagged_peaks.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/jungle.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/jungle.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/jungle.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/lukewarm_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/lukewarm_ocean.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/lukewarm_ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/lush_caves.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/lush_caves.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/lush_caves.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/mangrove_swamp.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/mangrove_swamp.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/mangrove_swamp.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/meadow.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/meadow.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/meadow.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/mushroom_fields.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/mushroom_fields.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/mushroom_fields.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/nether_wastes.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/nether_wastes.json
deleted file mode 100644
index 593507096e..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/nether_wastes.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/ocean.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/old_growth_birch_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/old_growth_birch_forest.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/old_growth_birch_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/old_growth_pine_taiga.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/old_growth_pine_taiga.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/old_growth_pine_taiga.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/old_growth_spruce_taiga.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/old_growth_spruce_taiga.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/old_growth_spruce_taiga.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/plains.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/plains.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/plains.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/river.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/river.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/river.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/savanna.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/savanna.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/savanna.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/savanna_plateau.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/savanna_plateau.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/savanna_plateau.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/small_end_islands.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/small_end_islands.json
deleted file mode 100644
index 93db345cc0..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/small_end_islands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/snowy_beach.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/snowy_beach.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/snowy_beach.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/snowy_plains.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/snowy_plains.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/snowy_plains.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/snowy_slopes.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/snowy_slopes.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/snowy_slopes.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/snowy_taiga.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/snowy_taiga.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/snowy_taiga.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/soul_sand_valley.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/soul_sand_valley.json
deleted file mode 100644
index 593507096e..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/soul_sand_valley.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/sparse_jungle.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/sparse_jungle.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/sparse_jungle.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/stony_peaks.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/stony_peaks.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/stony_peaks.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/stony_shore.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/stony_shore.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/stony_shore.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/sunflower_plains.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/sunflower_plains.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/sunflower_plains.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/swamp.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/swamp.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/swamp.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/taiga.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/taiga.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/taiga.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/the_end.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/the_end.json
deleted file mode 100644
index 3a651843a9..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/the_end.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_end",
- "required": false
- },
- "minecraft:end_spike"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/the_void.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/the_void.json
deleted file mode 100644
index 5d341ba242..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/the_void.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "replace": false,
- "values": []
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/warm_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/warm_ocean.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/warm_ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/warped_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/warped_forest.json
deleted file mode 100644
index 593507096e..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/warped_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/windswept_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/windswept_forest.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/windswept_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/windswept_gravelly_hills.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/windswept_gravelly_hills.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/windswept_gravelly_hills.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/windswept_hills.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/windswept_hills.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/windswept_hills.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/windswept_savanna.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/windswept_savanna.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/windswept_savanna.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/wooded_badlands.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/wooded_badlands.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/wooded_badlands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/bamboo_jungle.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/bamboo_jungle.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/bamboo_jungle.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/basalt_deltas.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/basalt_deltas.json
deleted file mode 100644
index c970b2d759..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/basalt_deltas.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/beach.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/beach.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/beach.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/birch_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/birch_forest.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/birch_forest.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/cherry_grove.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/cherry_grove.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/cherry_grove.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/cold_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/cold_ocean.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/cold_ocean.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/crimson_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/crimson_forest.json
deleted file mode 100644
index c970b2d759..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/crimson_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/dark_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/dark_forest.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/dark_forest.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/deep_cold_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/deep_cold_ocean.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/deep_cold_ocean.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/deep_dark.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/deep_dark.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/deep_dark.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/deep_frozen_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/deep_frozen_ocean.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/deep_frozen_ocean.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/deep_lukewarm_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/deep_lukewarm_ocean.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/deep_lukewarm_ocean.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/deep_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/deep_ocean.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/deep_ocean.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/desert.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/desert.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/desert.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/dripstone_caves.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/dripstone_caves.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/dripstone_caves.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/end_barrens.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/end_barrens.json
deleted file mode 100644
index b8126b6e08..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/end_barrens.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/end_highlands.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/end_highlands.json
deleted file mode 100644
index b8126b6e08..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/end_highlands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/end_midlands.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/end_midlands.json
deleted file mode 100644
index b8126b6e08..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/end_midlands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/eroded_badlands.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/eroded_badlands.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/eroded_badlands.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/flower_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/flower_forest.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/flower_forest.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/forest.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/forest.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/frozen_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/frozen_ocean.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/frozen_ocean.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/frozen_peaks.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/frozen_peaks.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/frozen_peaks.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/frozen_river.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/frozen_river.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/frozen_river.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/grove.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/grove.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/grove.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/ice_spikes.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/ice_spikes.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/ice_spikes.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/jagged_peaks.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/jagged_peaks.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/jagged_peaks.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/jungle.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/jungle.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/jungle.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/lukewarm_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/lukewarm_ocean.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/lukewarm_ocean.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/lush_caves.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/lush_caves.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/lush_caves.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/mangrove_swamp.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/mangrove_swamp.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/mangrove_swamp.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/meadow.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/meadow.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/meadow.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/mushroom_fields.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/mushroom_fields.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/mushroom_fields.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/nether_wastes.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/nether_wastes.json
deleted file mode 100644
index c970b2d759..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/nether_wastes.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/ocean.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/ocean.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/old_growth_birch_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/old_growth_birch_forest.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/old_growth_birch_forest.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/old_growth_pine_taiga.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/old_growth_pine_taiga.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/old_growth_pine_taiga.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/old_growth_spruce_taiga.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/old_growth_spruce_taiga.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/old_growth_spruce_taiga.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/plains.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/plains.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/plains.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/river.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/river.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/river.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/savanna.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/savanna.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/savanna.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/savanna_plateau.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/savanna_plateau.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/savanna_plateau.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/small_end_islands.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/small_end_islands.json
deleted file mode 100644
index b8126b6e08..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/small_end_islands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/snowy_beach.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/snowy_beach.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/snowy_beach.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/snowy_plains.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/snowy_plains.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/snowy_plains.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/snowy_slopes.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/snowy_slopes.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/snowy_slopes.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/snowy_taiga.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/snowy_taiga.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/snowy_taiga.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/soul_sand_valley.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/soul_sand_valley.json
deleted file mode 100644
index c970b2d759..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/soul_sand_valley.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/sparse_jungle.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/sparse_jungle.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/sparse_jungle.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/stony_peaks.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/stony_peaks.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/stony_peaks.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/stony_shore.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/stony_shore.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/stony_shore.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/sunflower_plains.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/sunflower_plains.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/sunflower_plains.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/swamp.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/swamp.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/swamp.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/taiga.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/taiga.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/taiga.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/the_end.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/the_end.json
deleted file mode 100644
index b8126b6e08..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/the_end.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/the_void.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/the_void.json
deleted file mode 100644
index 2b959ffe69..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/the_void.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "replace": false,
- "values": [
- "minecraft:void_start_platform"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/warm_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/warm_ocean.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/warm_ocean.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/warped_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/warped_forest.json
deleted file mode 100644
index c970b2d759..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/warped_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/windswept_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/windswept_forest.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/windswept_forest.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/windswept_gravelly_hills.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/windswept_gravelly_hills.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/windswept_gravelly_hills.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/windswept_hills.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/windswept_hills.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/windswept_hills.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/windswept_savanna.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/windswept_savanna.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/windswept_savanna.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/wooded_badlands.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/wooded_badlands.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/wooded_badlands.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/badlands.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/badlands.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/badlands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/bamboo_jungle.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/bamboo_jungle.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/bamboo_jungle.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/basalt_deltas.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/basalt_deltas.json
deleted file mode 100644
index 9f432dc218..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/basalt_deltas.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_nether",
- "required": false
- },
- "minecraft:basalt_blobs",
- "minecraft:blackstone_blobs",
- "minecraft:spring_delta",
- "minecraft:patch_fire",
- "minecraft:patch_soul_fire",
- "minecraft:glowstone_extra",
- "minecraft:glowstone",
- "minecraft:brown_mushroom_nether",
- "minecraft:red_mushroom_nether",
- "minecraft:ore_magma",
- "minecraft:spring_closed_double",
- "minecraft:ore_gold_deltas",
- "minecraft:ore_quartz_deltas",
- "minecraft:ore_ancient_debris_large",
- "minecraft:ore_debris_small"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/beach.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/beach.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/beach.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/birch_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/birch_forest.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/birch_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/cherry_grove.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/cherry_grove.json
deleted file mode 100644
index 6cd420a436..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/cherry_grove.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- },
- "minecraft:ore_infested"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/cold_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/cold_ocean.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/cold_ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/crimson_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/crimson_forest.json
deleted file mode 100644
index ca37cb5209..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/crimson_forest.json
+++ /dev/null
@@ -1,21 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_nether",
- "required": false
- },
- "minecraft:spring_open",
- "minecraft:patch_fire",
- "minecraft:glowstone_extra",
- "minecraft:glowstone",
- "minecraft:ore_magma",
- "minecraft:spring_closed",
- "minecraft:ore_gravel_nether",
- "minecraft:ore_blackstone",
- "minecraft:ore_gold_nether",
- "minecraft:ore_quartz_nether",
- "minecraft:ore_ancient_debris_large",
- "minecraft:ore_debris_small"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/dark_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/dark_forest.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/dark_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/deep_cold_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/deep_cold_ocean.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/deep_cold_ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/deep_dark.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/deep_dark.json
deleted file mode 100644
index 85167be7e1..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/deep_dark.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- },
- "minecraft:sculk_vein",
- "minecraft:sculk_patch_deep_dark"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/deep_frozen_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/deep_frozen_ocean.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/deep_frozen_ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/deep_lukewarm_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/deep_lukewarm_ocean.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/deep_lukewarm_ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/deep_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/deep_ocean.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/deep_ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/desert.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/desert.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/desert.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/dripstone_caves.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/dripstone_caves.json
deleted file mode 100644
index 5520d75828..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/dripstone_caves.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- },
- "minecraft:dripstone_cluster",
- "minecraft:pointed_dripstone"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/end_barrens.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/end_barrens.json
deleted file mode 100644
index 5cb72e2210..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/end_barrens.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/end_highlands.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/end_highlands.json
deleted file mode 100644
index 5cb72e2210..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/end_highlands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/end_midlands.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/end_midlands.json
deleted file mode 100644
index 5cb72e2210..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/end_midlands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/eroded_badlands.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/eroded_badlands.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/eroded_badlands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/flower_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/flower_forest.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/flower_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/forest.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/frozen_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/frozen_ocean.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/frozen_ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/frozen_peaks.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/frozen_peaks.json
deleted file mode 100644
index 6cd420a436..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/frozen_peaks.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- },
- "minecraft:ore_infested"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/frozen_river.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/frozen_river.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/frozen_river.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/grove.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/grove.json
deleted file mode 100644
index 6cd420a436..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/grove.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- },
- "minecraft:ore_infested"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/ice_spikes.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/ice_spikes.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/ice_spikes.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/jagged_peaks.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/jagged_peaks.json
deleted file mode 100644
index 6cd420a436..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/jagged_peaks.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- },
- "minecraft:ore_infested"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/jungle.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/jungle.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/jungle.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/lukewarm_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/lukewarm_ocean.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/lukewarm_ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/lush_caves.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/lush_caves.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/lush_caves.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/mangrove_swamp.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/mangrove_swamp.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/mangrove_swamp.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/meadow.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/meadow.json
deleted file mode 100644
index 6cd420a436..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/meadow.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- },
- "minecraft:ore_infested"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/mushroom_fields.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/mushroom_fields.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/mushroom_fields.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/nether_wastes.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/nether_wastes.json
deleted file mode 100644
index cf202e3855..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/nether_wastes.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_nether",
- "required": false
- },
- "minecraft:spring_open",
- "minecraft:patch_fire",
- "minecraft:patch_soul_fire",
- "minecraft:glowstone_extra",
- "minecraft:glowstone",
- "minecraft:brown_mushroom_nether",
- "minecraft:red_mushroom_nether",
- "minecraft:ore_magma",
- "minecraft:spring_closed",
- "minecraft:ore_gravel_nether",
- "minecraft:ore_blackstone",
- "minecraft:ore_gold_nether",
- "minecraft:ore_quartz_nether",
- "minecraft:ore_ancient_debris_large",
- "minecraft:ore_debris_small"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/ocean.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/old_growth_birch_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/old_growth_birch_forest.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/old_growth_birch_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/old_growth_pine_taiga.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/old_growth_pine_taiga.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/old_growth_pine_taiga.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/old_growth_spruce_taiga.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/old_growth_spruce_taiga.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/old_growth_spruce_taiga.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/plains.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/plains.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/plains.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/river.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/river.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/river.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/savanna.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/savanna.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/savanna.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/savanna_plateau.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/savanna_plateau.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/savanna_plateau.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/small_end_islands.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/small_end_islands.json
deleted file mode 100644
index 5cb72e2210..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/small_end_islands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/snowy_beach.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/snowy_beach.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/snowy_beach.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/snowy_plains.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/snowy_plains.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/snowy_plains.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/snowy_slopes.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/snowy_slopes.json
deleted file mode 100644
index 6cd420a436..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/snowy_slopes.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- },
- "minecraft:ore_infested"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/snowy_taiga.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/snowy_taiga.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/snowy_taiga.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/soul_sand_valley.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/soul_sand_valley.json
deleted file mode 100644
index 4ce46a9bf1..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/soul_sand_valley.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_nether",
- "required": false
- },
- "minecraft:spring_open",
- "minecraft:patch_fire",
- "minecraft:patch_soul_fire",
- "minecraft:glowstone_extra",
- "minecraft:glowstone",
- "minecraft:patch_crimson_roots",
- "minecraft:ore_magma",
- "minecraft:spring_closed",
- "minecraft:ore_soul_sand",
- "minecraft:ore_gravel_nether",
- "minecraft:ore_blackstone",
- "minecraft:ore_gold_nether",
- "minecraft:ore_quartz_nether",
- "minecraft:ore_ancient_debris_large",
- "minecraft:ore_debris_small"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/sparse_jungle.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/sparse_jungle.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/sparse_jungle.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/stony_peaks.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/stony_peaks.json
deleted file mode 100644
index 6cd420a436..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/stony_peaks.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- },
- "minecraft:ore_infested"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/stony_shore.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/stony_shore.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/stony_shore.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/sunflower_plains.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/sunflower_plains.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/sunflower_plains.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/swamp.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/swamp.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/swamp.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/taiga.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/taiga.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/taiga.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/the_end.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/the_end.json
deleted file mode 100644
index 5cb72e2210..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/the_end.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/the_void.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/the_void.json
deleted file mode 100644
index 5d341ba242..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/the_void.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "replace": false,
- "values": []
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/warm_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/warm_ocean.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/warm_ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/warped_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/warped_forest.json
deleted file mode 100644
index dd09d50413..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/warped_forest.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_nether",
- "required": false
- },
- "minecraft:spring_open",
- "minecraft:patch_fire",
- "minecraft:patch_soul_fire",
- "minecraft:glowstone_extra",
- "minecraft:glowstone",
- "minecraft:ore_magma",
- "minecraft:spring_closed",
- "minecraft:ore_gravel_nether",
- "minecraft:ore_blackstone",
- "minecraft:ore_gold_nether",
- "minecraft:ore_quartz_nether",
- "minecraft:ore_ancient_debris_large",
- "minecraft:ore_debris_small"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/windswept_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/windswept_forest.json
deleted file mode 100644
index 6cd420a436..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/windswept_forest.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- },
- "minecraft:ore_infested"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/windswept_gravelly_hills.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/windswept_gravelly_hills.json
deleted file mode 100644
index 6cd420a436..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/windswept_gravelly_hills.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- },
- "minecraft:ore_infested"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/windswept_hills.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/windswept_hills.json
deleted file mode 100644
index 6cd420a436..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/windswept_hills.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- },
- "minecraft:ore_infested"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/windswept_savanna.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/windswept_savanna.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/windswept_savanna.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/wooded_badlands.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/wooded_badlands.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/wooded_badlands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/badlands.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/badlands.json
deleted file mode 100644
index 7a2c9ab13e..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/badlands.json
+++ /dev/null
@@ -1,39 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:ore_gold_extra",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/bamboo_jungle.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/bamboo_jungle.json
deleted file mode 100644
index 6d0a840770..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/bamboo_jungle.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/basalt_deltas.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/basalt_deltas.json
deleted file mode 100644
index 75811ae2c9..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/basalt_deltas.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/beach.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/beach.json
deleted file mode 100644
index 6d0a840770..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/beach.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/birch_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/birch_forest.json
deleted file mode 100644
index 6d0a840770..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/birch_forest.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/cherry_grove.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/cherry_grove.json
deleted file mode 100644
index c8ed0143c7..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/cherry_grove.json
+++ /dev/null
@@ -1,39 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel",
- "minecraft:ore_emerald"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/cold_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/cold_ocean.json
deleted file mode 100644
index 6d0a840770..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/cold_ocean.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/crimson_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/crimson_forest.json
deleted file mode 100644
index 75811ae2c9..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/crimson_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/dark_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/dark_forest.json
deleted file mode 100644
index 6d0a840770..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/dark_forest.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/deep_cold_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/deep_cold_ocean.json
deleted file mode 100644
index 6d0a840770..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/deep_cold_ocean.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/deep_dark.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/deep_dark.json
deleted file mode 100644
index 6d0a840770..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/deep_dark.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/deep_frozen_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/deep_frozen_ocean.json
deleted file mode 100644
index 6d0a840770..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/deep_frozen_ocean.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/deep_lukewarm_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/deep_lukewarm_ocean.json
deleted file mode 100644
index 6d0a840770..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/deep_lukewarm_ocean.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/deep_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/deep_ocean.json
deleted file mode 100644
index 6d0a840770..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/deep_ocean.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/desert.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/desert.json
deleted file mode 100644
index 6d0a840770..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/desert.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/dripstone_caves.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/dripstone_caves.json
deleted file mode 100644
index 921a24ce25..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/dripstone_caves.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper_large",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/end_barrens.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/end_barrens.json
deleted file mode 100644
index fe9ae09187..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/end_barrens.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/end_highlands.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/end_highlands.json
deleted file mode 100644
index fe9ae09187..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/end_highlands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/end_midlands.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/end_midlands.json
deleted file mode 100644
index fe9ae09187..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/end_midlands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/eroded_badlands.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/eroded_badlands.json
deleted file mode 100644
index 7a2c9ab13e..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/eroded_badlands.json
+++ /dev/null
@@ -1,39 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:ore_gold_extra",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/flower_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/flower_forest.json
deleted file mode 100644
index 6d0a840770..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/flower_forest.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/forest.json
deleted file mode 100644
index 6d0a840770..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/forest.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/frozen_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/frozen_ocean.json
deleted file mode 100644
index 6d0a840770..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/frozen_ocean.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/frozen_peaks.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/frozen_peaks.json
deleted file mode 100644
index c8ed0143c7..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/frozen_peaks.json
+++ /dev/null
@@ -1,39 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel",
- "minecraft:ore_emerald"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/frozen_river.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/frozen_river.json
deleted file mode 100644
index 6d0a840770..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/frozen_river.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/grove.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/grove.json
deleted file mode 100644
index c8ed0143c7..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/grove.json
+++ /dev/null
@@ -1,39 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel",
- "minecraft:ore_emerald"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/ice_spikes.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/ice_spikes.json
deleted file mode 100644
index 6d0a840770..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/ice_spikes.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/jagged_peaks.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/jagged_peaks.json
deleted file mode 100644
index c8ed0143c7..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/jagged_peaks.json
+++ /dev/null
@@ -1,39 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel",
- "minecraft:ore_emerald"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/jungle.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/jungle.json
deleted file mode 100644
index 6d0a840770..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/jungle.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/lukewarm_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/lukewarm_ocean.json
deleted file mode 100644
index 6d0a840770..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/lukewarm_ocean.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/lush_caves.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/lush_caves.json
deleted file mode 100644
index 4bc9ca5fe9..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/lush_caves.json
+++ /dev/null
@@ -1,39 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:ore_clay",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/mangrove_swamp.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/mangrove_swamp.json
deleted file mode 100644
index 7e0d50ea95..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/mangrove_swamp.json
+++ /dev/null
@@ -1,37 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_grass",
- "minecraft:disk_clay"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/meadow.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/meadow.json
deleted file mode 100644
index c8ed0143c7..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/meadow.json
+++ /dev/null
@@ -1,39 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel",
- "minecraft:ore_emerald"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/mushroom_fields.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/mushroom_fields.json
deleted file mode 100644
index 6d0a840770..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/mushroom_fields.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/nether_wastes.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/nether_wastes.json
deleted file mode 100644
index 75811ae2c9..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/nether_wastes.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/ocean.json
deleted file mode 100644
index 6d0a840770..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/ocean.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/old_growth_birch_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/old_growth_birch_forest.json
deleted file mode 100644
index 6d0a840770..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/old_growth_birch_forest.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/old_growth_pine_taiga.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/old_growth_pine_taiga.json
deleted file mode 100644
index 6d0a840770..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/old_growth_pine_taiga.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/old_growth_spruce_taiga.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/old_growth_spruce_taiga.json
deleted file mode 100644
index 6d0a840770..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/old_growth_spruce_taiga.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/plains.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/plains.json
deleted file mode 100644
index 6d0a840770..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/plains.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/river.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/river.json
deleted file mode 100644
index 6d0a840770..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/river.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/savanna.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/savanna.json
deleted file mode 100644
index 6d0a840770..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/savanna.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/savanna_plateau.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/savanna_plateau.json
deleted file mode 100644
index 6d0a840770..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/savanna_plateau.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/small_end_islands.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/small_end_islands.json
deleted file mode 100644
index fe9ae09187..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/small_end_islands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/snowy_beach.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/snowy_beach.json
deleted file mode 100644
index 6d0a840770..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/snowy_beach.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/snowy_plains.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/snowy_plains.json
deleted file mode 100644
index 6d0a840770..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/snowy_plains.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/snowy_slopes.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/snowy_slopes.json
deleted file mode 100644
index c8ed0143c7..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/snowy_slopes.json
+++ /dev/null
@@ -1,39 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel",
- "minecraft:ore_emerald"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/snowy_taiga.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/snowy_taiga.json
deleted file mode 100644
index 6d0a840770..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/snowy_taiga.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/soul_sand_valley.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/soul_sand_valley.json
deleted file mode 100644
index 75811ae2c9..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/soul_sand_valley.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/sparse_jungle.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/sparse_jungle.json
deleted file mode 100644
index 6d0a840770..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/sparse_jungle.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/stony_peaks.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/stony_peaks.json
deleted file mode 100644
index c8ed0143c7..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/stony_peaks.json
+++ /dev/null
@@ -1,39 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel",
- "minecraft:ore_emerald"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/stony_shore.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/stony_shore.json
deleted file mode 100644
index 6d0a840770..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/stony_shore.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/sunflower_plains.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/sunflower_plains.json
deleted file mode 100644
index 6d0a840770..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/sunflower_plains.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/swamp.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/swamp.json
deleted file mode 100644
index 5fe571ce18..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/swamp.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_clay"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/taiga.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/taiga.json
deleted file mode 100644
index 6d0a840770..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/taiga.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/the_end.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/the_end.json
deleted file mode 100644
index fe9ae09187..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/the_end.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/the_void.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/the_void.json
deleted file mode 100644
index 5d341ba242..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/the_void.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "replace": false,
- "values": []
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/warm_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/warm_ocean.json
deleted file mode 100644
index 6d0a840770..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/warm_ocean.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/warped_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/warped_forest.json
deleted file mode 100644
index 75811ae2c9..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/warped_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/windswept_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/windswept_forest.json
deleted file mode 100644
index c8ed0143c7..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/windswept_forest.json
+++ /dev/null
@@ -1,39 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel",
- "minecraft:ore_emerald"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/windswept_gravelly_hills.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/windswept_gravelly_hills.json
deleted file mode 100644
index c8ed0143c7..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/windswept_gravelly_hills.json
+++ /dev/null
@@ -1,39 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel",
- "minecraft:ore_emerald"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/windswept_hills.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/windswept_hills.json
deleted file mode 100644
index c8ed0143c7..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/windswept_hills.json
+++ /dev/null
@@ -1,39 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel",
- "minecraft:ore_emerald"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/windswept_savanna.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/windswept_savanna.json
deleted file mode 100644
index 6d0a840770..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/windswept_savanna.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/wooded_badlands.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/wooded_badlands.json
deleted file mode 100644
index 7a2c9ab13e..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/wooded_badlands.json
+++ /dev/null
@@ -1,39 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:ore_gold_extra",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/bamboo_jungle.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/bamboo_jungle.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/bamboo_jungle.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/basalt_deltas.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/basalt_deltas.json
deleted file mode 100644
index b2c24d2e6f..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/basalt_deltas.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/beach.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/beach.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/beach.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/birch_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/birch_forest.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/birch_forest.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/cherry_grove.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/cherry_grove.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/cherry_grove.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/cold_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/cold_ocean.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/cold_ocean.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/crimson_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/crimson_forest.json
deleted file mode 100644
index b2c24d2e6f..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/crimson_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/dark_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/dark_forest.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/dark_forest.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/deep_cold_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/deep_cold_ocean.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/deep_cold_ocean.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/deep_dark.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/deep_dark.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/deep_dark.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/deep_frozen_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/deep_frozen_ocean.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/deep_frozen_ocean.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/deep_lukewarm_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/deep_lukewarm_ocean.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/deep_lukewarm_ocean.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/deep_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/deep_ocean.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/deep_ocean.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/desert.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/desert.json
deleted file mode 100644
index ff89b2ec1a..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/desert.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:fossil_upper",
- "minecraft:fossil_lower",
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/dripstone_caves.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/dripstone_caves.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/dripstone_caves.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/end_barrens.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/end_barrens.json
deleted file mode 100644
index 282e8b99b0..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/end_barrens.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/end_highlands.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/end_highlands.json
deleted file mode 100644
index 282e8b99b0..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/end_highlands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/end_midlands.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/end_midlands.json
deleted file mode 100644
index 282e8b99b0..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/end_midlands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/eroded_badlands.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/eroded_badlands.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/eroded_badlands.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/flower_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/flower_forest.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/flower_forest.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/forest.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/forest.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/frozen_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/frozen_ocean.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/frozen_ocean.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/frozen_peaks.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/frozen_peaks.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/frozen_peaks.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/frozen_river.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/frozen_river.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/frozen_river.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/grove.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/grove.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/grove.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/ice_spikes.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/ice_spikes.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/ice_spikes.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/jagged_peaks.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/jagged_peaks.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/jagged_peaks.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/jungle.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/jungle.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/jungle.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/lukewarm_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/lukewarm_ocean.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/lukewarm_ocean.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/lush_caves.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/lush_caves.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/lush_caves.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/mangrove_swamp.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/mangrove_swamp.json
deleted file mode 100644
index ff89b2ec1a..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/mangrove_swamp.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:fossil_upper",
- "minecraft:fossil_lower",
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/meadow.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/meadow.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/meadow.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/mushroom_fields.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/mushroom_fields.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/mushroom_fields.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/nether_wastes.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/nether_wastes.json
deleted file mode 100644
index b2c24d2e6f..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/nether_wastes.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/ocean.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/ocean.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/old_growth_birch_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/old_growth_birch_forest.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/old_growth_birch_forest.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/old_growth_pine_taiga.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/old_growth_pine_taiga.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/old_growth_pine_taiga.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/old_growth_spruce_taiga.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/old_growth_spruce_taiga.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/old_growth_spruce_taiga.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/plains.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/plains.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/plains.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/river.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/river.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/river.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/savanna.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/savanna.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/savanna.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/savanna_plateau.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/savanna_plateau.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/savanna_plateau.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/small_end_islands.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/small_end_islands.json
deleted file mode 100644
index 282e8b99b0..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/small_end_islands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/snowy_beach.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/snowy_beach.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/snowy_beach.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/snowy_plains.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/snowy_plains.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/snowy_plains.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/snowy_slopes.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/snowy_slopes.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/snowy_slopes.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/snowy_taiga.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/snowy_taiga.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/snowy_taiga.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/soul_sand_valley.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/soul_sand_valley.json
deleted file mode 100644
index b2c24d2e6f..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/soul_sand_valley.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/sparse_jungle.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/sparse_jungle.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/sparse_jungle.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/stony_peaks.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/stony_peaks.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/stony_peaks.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/stony_shore.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/stony_shore.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/stony_shore.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/sunflower_plains.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/sunflower_plains.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/sunflower_plains.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/swamp.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/swamp.json
deleted file mode 100644
index ff89b2ec1a..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/swamp.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:fossil_upper",
- "minecraft:fossil_lower",
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/taiga.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/taiga.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/taiga.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/the_end.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/the_end.json
deleted file mode 100644
index 282e8b99b0..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/the_end.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/the_void.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/the_void.json
deleted file mode 100644
index 5d341ba242..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/the_void.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "replace": false,
- "values": []
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/warm_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/warm_ocean.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/warm_ocean.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/warped_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/warped_forest.json
deleted file mode 100644
index b2c24d2e6f..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/warped_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/windswept_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/windswept_forest.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/windswept_forest.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/windswept_gravelly_hills.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/windswept_gravelly_hills.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/windswept_gravelly_hills.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/windswept_hills.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/windswept_hills.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/windswept_hills.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/windswept_savanna.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/windswept_savanna.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/windswept_savanna.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/wooded_badlands.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/wooded_badlands.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/wooded_badlands.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/badlands.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/badlands.json
deleted file mode 100644
index 942ed584de..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/badlands.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:patch_grass_badlands",
- "minecraft:patch_dead_bush_badlands",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane_badlands",
- "minecraft:patch_pumpkin",
- "minecraft:patch_cactus_decorated"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/bamboo_jungle.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/bamboo_jungle.json
deleted file mode 100644
index 4bc3d7a6a3..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/bamboo_jungle.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:bamboo",
- "minecraft:bamboo_vegetation",
- "minecraft:flower_warm",
- "minecraft:patch_grass_jungle",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin",
- "minecraft:vines",
- "minecraft:patch_melon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/basalt_deltas.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/basalt_deltas.json
deleted file mode 100644
index 4349a9fe6e..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/basalt_deltas.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/beach.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/beach.json
deleted file mode 100644
index 13d98bcc29..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/beach.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:flower_default",
- "minecraft:patch_grass_badlands",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/birch_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/birch_forest.json
deleted file mode 100644
index dcba91ea62..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/birch_forest.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:forest_flowers",
- "minecraft:trees_birch",
- "minecraft:flower_default",
- "minecraft:patch_grass_forest",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/cherry_grove.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/cherry_grove.json
deleted file mode 100644
index fa6a39154c..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/cherry_grove.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:patch_tall_grass_2",
- "minecraft:patch_grass_plain",
- "minecraft:flower_cherry",
- "minecraft:trees_cherry"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/cold_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/cold_ocean.json
deleted file mode 100644
index 8e47bf86c0..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/cold_ocean.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:trees_water",
- "minecraft:flower_default",
- "minecraft:patch_grass_badlands",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin",
- "minecraft:seagrass_cold",
- "minecraft:seagrass_simple",
- "minecraft:kelp_cold"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/crimson_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/crimson_forest.json
deleted file mode 100644
index d9b01e9ef0..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/crimson_forest.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_nether",
- "required": false
- },
- "minecraft:spring_lava",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:weeping_vines",
- "minecraft:crimson_fungi",
- "minecraft:crimson_forest_vegetation"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/dark_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/dark_forest.json
deleted file mode 100644
index 6e9f5815b7..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/dark_forest.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:dark_forest_vegetation",
- "minecraft:forest_flowers",
- "minecraft:flower_default",
- "minecraft:patch_grass_forest",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/deep_cold_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/deep_cold_ocean.json
deleted file mode 100644
index f368ca98a4..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/deep_cold_ocean.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:trees_water",
- "minecraft:flower_default",
- "minecraft:patch_grass_badlands",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin",
- "minecraft:seagrass_deep_cold",
- "minecraft:seagrass_simple",
- "minecraft:kelp_cold"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/deep_dark.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/deep_dark.json
deleted file mode 100644
index 73a2d00438..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/deep_dark.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:patch_tall_grass_2",
- "minecraft:trees_plains",
- "minecraft:flower_plains",
- "minecraft:patch_grass_plain",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/deep_frozen_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/deep_frozen_ocean.json
deleted file mode 100644
index a624a7f287..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/deep_frozen_ocean.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:trees_water",
- "minecraft:flower_default",
- "minecraft:patch_grass_badlands",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/deep_lukewarm_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/deep_lukewarm_ocean.json
deleted file mode 100644
index 805a9054d1..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/deep_lukewarm_ocean.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:trees_water",
- "minecraft:flower_default",
- "minecraft:patch_grass_badlands",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin",
- "minecraft:seagrass_deep_warm",
- "minecraft:seagrass_simple",
- "minecraft:kelp_warm"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/deep_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/deep_ocean.json
deleted file mode 100644
index 7d43d84574..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/deep_ocean.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:trees_water",
- "minecraft:flower_default",
- "minecraft:patch_grass_badlands",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin",
- "minecraft:seagrass_deep",
- "minecraft:seagrass_simple",
- "minecraft:kelp_cold"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/desert.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/desert.json
deleted file mode 100644
index 97addb35fc..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/desert.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:flower_default",
- "minecraft:patch_grass_badlands",
- "minecraft:patch_dead_bush_2",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane_desert",
- "minecraft:patch_pumpkin",
- "minecraft:patch_cactus_desert"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/dripstone_caves.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/dripstone_caves.json
deleted file mode 100644
index 73a2d00438..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/dripstone_caves.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:patch_tall_grass_2",
- "minecraft:trees_plains",
- "minecraft:flower_plains",
- "minecraft:patch_grass_plain",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/end_barrens.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/end_barrens.json
deleted file mode 100644
index c2ad81aedc..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/end_barrens.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/end_highlands.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/end_highlands.json
deleted file mode 100644
index 28edad356c..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/end_highlands.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_end",
- "required": false
- },
- "minecraft:chorus_plant"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/end_midlands.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/end_midlands.json
deleted file mode 100644
index c2ad81aedc..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/end_midlands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/eroded_badlands.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/eroded_badlands.json
deleted file mode 100644
index 942ed584de..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/eroded_badlands.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:patch_grass_badlands",
- "minecraft:patch_dead_bush_badlands",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane_badlands",
- "minecraft:patch_pumpkin",
- "minecraft:patch_cactus_decorated"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/flower_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/flower_forest.json
deleted file mode 100644
index 3dcac0d545..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/flower_forest.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:flower_forest_flowers",
- "minecraft:trees_flower_forest",
- "minecraft:flower_flower_forest",
- "minecraft:patch_grass_badlands",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/forest.json
deleted file mode 100644
index 08ac1eaaa2..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/forest.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:forest_flowers",
- "minecraft:trees_birch_and_oak",
- "minecraft:flower_default",
- "minecraft:patch_grass_forest",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/frozen_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/frozen_ocean.json
deleted file mode 100644
index a624a7f287..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/frozen_ocean.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:trees_water",
- "minecraft:flower_default",
- "minecraft:patch_grass_badlands",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/frozen_peaks.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/frozen_peaks.json
deleted file mode 100644
index 763ba77b96..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/frozen_peaks.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/frozen_river.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/frozen_river.json
deleted file mode 100644
index a624a7f287..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/frozen_river.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:trees_water",
- "minecraft:flower_default",
- "minecraft:patch_grass_badlands",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/grove.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/grove.json
deleted file mode 100644
index c3b3265ad1..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/grove.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:trees_grove",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/ice_spikes.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/ice_spikes.json
deleted file mode 100644
index 5b24beccfc..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/ice_spikes.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:trees_snowy",
- "minecraft:flower_default",
- "minecraft:patch_grass_badlands",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/jagged_peaks.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/jagged_peaks.json
deleted file mode 100644
index 763ba77b96..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/jagged_peaks.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/jungle.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/jungle.json
deleted file mode 100644
index 4ea85eab16..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/jungle.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:bamboo_light",
- "minecraft:trees_jungle",
- "minecraft:flower_warm",
- "minecraft:patch_grass_jungle",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin",
- "minecraft:vines",
- "minecraft:patch_melon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/lukewarm_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/lukewarm_ocean.json
deleted file mode 100644
index 05fbaa13ad..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/lukewarm_ocean.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:trees_water",
- "minecraft:flower_default",
- "minecraft:patch_grass_badlands",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin",
- "minecraft:seagrass_warm",
- "minecraft:kelp_warm"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/lush_caves.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/lush_caves.json
deleted file mode 100644
index ae1cef986b..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/lush_caves.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:patch_tall_grass_2",
- "minecraft:lush_caves_ceiling_vegetation",
- "minecraft:cave_vines",
- "minecraft:lush_caves_clay",
- "minecraft:lush_caves_vegetation",
- "minecraft:rooted_azalea_tree",
- "minecraft:spore_blossom",
- "minecraft:classic_vines_cave_feature"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/mangrove_swamp.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/mangrove_swamp.json
deleted file mode 100644
index 9003e1532f..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/mangrove_swamp.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:trees_mangrove",
- "minecraft:patch_grass_normal",
- "minecraft:patch_dead_bush",
- "minecraft:patch_waterlily",
- "minecraft:seagrass_swamp"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/meadow.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/meadow.json
deleted file mode 100644
index 98dccd0bf2..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/meadow.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:patch_tall_grass_2",
- "minecraft:patch_grass_plain",
- "minecraft:flower_meadow",
- "minecraft:trees_meadow"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/mushroom_fields.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/mushroom_fields.json
deleted file mode 100644
index 6fb541aa47..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/mushroom_fields.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:mushroom_island_vegetation",
- "minecraft:brown_mushroom_taiga",
- "minecraft:red_mushroom_taiga",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/nether_wastes.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/nether_wastes.json
deleted file mode 100644
index b2fa7ea96b..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/nether_wastes.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_nether",
- "required": false
- },
- "minecraft:spring_lava",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/ocean.json
deleted file mode 100644
index fe20ce4b6e..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/ocean.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:trees_water",
- "minecraft:flower_default",
- "minecraft:patch_grass_badlands",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin",
- "minecraft:seagrass_normal",
- "minecraft:seagrass_simple",
- "minecraft:kelp_cold"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/old_growth_birch_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/old_growth_birch_forest.json
deleted file mode 100644
index 2bfd4347f7..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/old_growth_birch_forest.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:forest_flowers",
- "minecraft:birch_tall",
- "minecraft:flower_default",
- "minecraft:patch_grass_forest",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/old_growth_pine_taiga.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/old_growth_pine_taiga.json
deleted file mode 100644
index ef77295fc2..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/old_growth_pine_taiga.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:patch_large_fern",
- "minecraft:trees_old_growth_pine_taiga",
- "minecraft:flower_default",
- "minecraft:patch_grass_taiga",
- "minecraft:patch_dead_bush",
- "minecraft:brown_mushroom_old_growth",
- "minecraft:red_mushroom_old_growth",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin",
- "minecraft:patch_berry_common"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/old_growth_spruce_taiga.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/old_growth_spruce_taiga.json
deleted file mode 100644
index 654ed1f56f..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/old_growth_spruce_taiga.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:patch_large_fern",
- "minecraft:trees_old_growth_spruce_taiga",
- "minecraft:flower_default",
- "minecraft:patch_grass_taiga",
- "minecraft:patch_dead_bush",
- "minecraft:brown_mushroom_old_growth",
- "minecraft:red_mushroom_old_growth",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin",
- "minecraft:patch_berry_common"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/plains.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/plains.json
deleted file mode 100644
index 73a2d00438..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/plains.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:patch_tall_grass_2",
- "minecraft:trees_plains",
- "minecraft:flower_plains",
- "minecraft:patch_grass_plain",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/river.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/river.json
deleted file mode 100644
index 98878236cc..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/river.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:trees_water",
- "minecraft:flower_default",
- "minecraft:patch_grass_badlands",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin",
- "minecraft:seagrass_river"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/savanna.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/savanna.json
deleted file mode 100644
index 7fd572eecd..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/savanna.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:patch_tall_grass",
- "minecraft:trees_savanna",
- "minecraft:flower_warm",
- "minecraft:patch_grass_savanna",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/savanna_plateau.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/savanna_plateau.json
deleted file mode 100644
index 7fd572eecd..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/savanna_plateau.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:patch_tall_grass",
- "minecraft:trees_savanna",
- "minecraft:flower_warm",
- "minecraft:patch_grass_savanna",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/small_end_islands.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/small_end_islands.json
deleted file mode 100644
index c2ad81aedc..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/small_end_islands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/snowy_beach.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/snowy_beach.json
deleted file mode 100644
index 13d98bcc29..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/snowy_beach.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:flower_default",
- "minecraft:patch_grass_badlands",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/snowy_plains.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/snowy_plains.json
deleted file mode 100644
index 5b24beccfc..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/snowy_plains.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:trees_snowy",
- "minecraft:flower_default",
- "minecraft:patch_grass_badlands",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/snowy_slopes.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/snowy_slopes.json
deleted file mode 100644
index 31bf811d0c..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/snowy_slopes.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/snowy_taiga.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/snowy_taiga.json
deleted file mode 100644
index 9d9dfc56f6..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/snowy_taiga.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:patch_large_fern",
- "minecraft:trees_taiga",
- "minecraft:flower_default",
- "minecraft:patch_grass_taiga_2",
- "minecraft:brown_mushroom_taiga",
- "minecraft:red_mushroom_taiga",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin",
- "minecraft:patch_berry_rare"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/soul_sand_valley.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/soul_sand_valley.json
deleted file mode 100644
index ee1d5860b3..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/soul_sand_valley.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_nether",
- "required": false
- },
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/sparse_jungle.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/sparse_jungle.json
deleted file mode 100644
index 54d0931c4c..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/sparse_jungle.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:trees_sparse_jungle",
- "minecraft:flower_warm",
- "minecraft:patch_grass_jungle",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin",
- "minecraft:vines",
- "minecraft:patch_melon_sparse"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/stony_peaks.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/stony_peaks.json
deleted file mode 100644
index 763ba77b96..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/stony_peaks.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/stony_shore.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/stony_shore.json
deleted file mode 100644
index 13d98bcc29..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/stony_shore.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:flower_default",
- "minecraft:patch_grass_badlands",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/sunflower_plains.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/sunflower_plains.json
deleted file mode 100644
index 62baa25894..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/sunflower_plains.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:patch_tall_grass_2",
- "minecraft:patch_sunflower",
- "minecraft:trees_plains",
- "minecraft:flower_plains",
- "minecraft:patch_grass_plain",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/swamp.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/swamp.json
deleted file mode 100644
index 38ba6bd789..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/swamp.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:trees_swamp",
- "minecraft:flower_swamp",
- "minecraft:patch_grass_normal",
- "minecraft:patch_dead_bush",
- "minecraft:patch_waterlily",
- "minecraft:brown_mushroom_swamp",
- "minecraft:red_mushroom_swamp",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane_swamp",
- "minecraft:patch_pumpkin",
- "minecraft:seagrass_swamp"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/taiga.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/taiga.json
deleted file mode 100644
index 054b2fdfd3..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/taiga.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:patch_large_fern",
- "minecraft:trees_taiga",
- "minecraft:flower_default",
- "minecraft:patch_grass_taiga_2",
- "minecraft:brown_mushroom_taiga",
- "minecraft:red_mushroom_taiga",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin",
- "minecraft:patch_berry_common"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/the_end.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/the_end.json
deleted file mode 100644
index c2ad81aedc..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/the_end.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/the_void.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/the_void.json
deleted file mode 100644
index 5d341ba242..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/the_void.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "replace": false,
- "values": []
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/warm_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/warm_ocean.json
deleted file mode 100644
index eecc3476dd..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/warm_ocean.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:trees_water",
- "minecraft:flower_default",
- "minecraft:patch_grass_badlands",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin",
- "minecraft:warm_ocean_vegetation",
- "minecraft:seagrass_warm",
- "minecraft:sea_pickle"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/warped_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/warped_forest.json
deleted file mode 100644
index 9c6a493175..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/warped_forest.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_nether",
- "required": false
- },
- "minecraft:spring_lava",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:warped_fungi",
- "minecraft:warped_forest_vegetation",
- "minecraft:nether_sprouts",
- "minecraft:twisting_vines"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/windswept_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/windswept_forest.json
deleted file mode 100644
index 4f0dd143b0..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/windswept_forest.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:trees_windswept_forest",
- "minecraft:flower_default",
- "minecraft:patch_grass_badlands",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/windswept_gravelly_hills.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/windswept_gravelly_hills.json
deleted file mode 100644
index a25b54a207..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/windswept_gravelly_hills.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:trees_windswept_hills",
- "minecraft:flower_default",
- "minecraft:patch_grass_badlands",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/windswept_hills.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/windswept_hills.json
deleted file mode 100644
index a25b54a207..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/windswept_hills.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:trees_windswept_hills",
- "minecraft:flower_default",
- "minecraft:patch_grass_badlands",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/windswept_savanna.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/windswept_savanna.json
deleted file mode 100644
index 6434f5009f..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/windswept_savanna.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:trees_windswept_savanna",
- "minecraft:flower_default",
- "minecraft:patch_grass_normal",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/wooded_badlands.json b/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/wooded_badlands.json
deleted file mode 100644
index 87fa18f9c2..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/wooded_badlands.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:trees_badlands",
- "minecraft:patch_grass_badlands",
- "minecraft:patch_dead_bush_badlands",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane_badlands",
- "minecraft:patch_pumpkin",
- "minecraft:patch_cactus_decorated"
- ]
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/badlands.json b/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/badlands.json
deleted file mode 100644
index 6a9e5ee5aa..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/badlands.json
+++ /dev/null
@@ -1,124 +0,0 @@
-{
- "carvers": {
- "air": "#minecraft:air/in_biome/badlands",
- "liquid": "#minecraft:liquid/in_biome/badlands"
- },
- "creature_spawn_probability": 0.03,
- "downfall": 0.0,
- "effects": {
- "fog_color": 12638463,
- "foliage_color": 10387789,
- "grass_color": 9470285,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "music": {
- "max_delay": 24000,
- "min_delay": 12000,
- "replace_current_music": false,
- "sound": "minecraft:music.overworld.badlands"
- },
- "sky_color": 7254527,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/badlands",
- "#minecraft:lakes/in_biome/badlands",
- "#minecraft:local_modifications/in_biome/badlands",
- "#minecraft:underground_structures/in_biome/badlands",
- "#minecraft:surface_structures/in_biome/badlands",
- "#minecraft:strongholds/in_biome/badlands",
- "#minecraft:underground_ores/in_biome/badlands",
- "#minecraft:underground_decoration/in_biome/badlands",
- "#minecraft:fluid_springs/in_biome/badlands",
- "#minecraft:vegetal_decoration/in_biome/badlands",
- "#minecraft:top_layer_modification/in_biome/badlands"
- ],
- "has_precipitation": false,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:armadillo",
- "maxCount": 2,
- "minCount": 1,
- "weight": 6
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 2.0
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/bamboo_jungle.json b/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/bamboo_jungle.json
deleted file mode 100644
index fbe32f967e..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/bamboo_jungle.json
+++ /dev/null
@@ -1,163 +0,0 @@
-{
- "carvers": {
- "air": "#minecraft:air/in_biome/bamboo_jungle",
- "liquid": "#minecraft:liquid/in_biome/bamboo_jungle"
- },
- "downfall": 0.9,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "music": {
- "max_delay": 24000,
- "min_delay": 12000,
- "replace_current_music": false,
- "sound": "minecraft:music.overworld.bamboo_jungle"
- },
- "sky_color": 7842047,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/bamboo_jungle",
- "#minecraft:lakes/in_biome/bamboo_jungle",
- "#minecraft:local_modifications/in_biome/bamboo_jungle",
- "#minecraft:underground_structures/in_biome/bamboo_jungle",
- "#minecraft:surface_structures/in_biome/bamboo_jungle",
- "#minecraft:strongholds/in_biome/bamboo_jungle",
- "#minecraft:underground_ores/in_biome/bamboo_jungle",
- "#minecraft:underground_decoration/in_biome/bamboo_jungle",
- "#minecraft:fluid_springs/in_biome/bamboo_jungle",
- "#minecraft:vegetal_decoration/in_biome/bamboo_jungle",
- "#minecraft:top_layer_modification/in_biome/bamboo_jungle"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:sheep",
- "maxCount": 4,
- "minCount": 4,
- "weight": 12
- },
- {
- "type": "minecraft:pig",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:chicken",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:cow",
- "maxCount": 4,
- "minCount": 4,
- "weight": 8
- },
- {
- "type": "minecraft:chicken",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:parrot",
- "maxCount": 2,
- "minCount": 1,
- "weight": 40
- },
- {
- "type": "minecraft:panda",
- "maxCount": 2,
- "minCount": 1,
- "weight": 80
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:ocelot",
- "maxCount": 1,
- "minCount": 1,
- "weight": 2
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 0.95
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/basalt_deltas.json b/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/basalt_deltas.json
deleted file mode 100644
index bc91195234..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/basalt_deltas.json
+++ /dev/null
@@ -1,82 +0,0 @@
-{
- "carvers": {
- "air": "#minecraft:air/in_biome/basalt_deltas",
- "liquid": "#minecraft:liquid/in_biome/basalt_deltas"
- },
- "downfall": 0.0,
- "effects": {
- "additions_sound": {
- "sound": "minecraft:ambient.basalt_deltas.additions",
- "tick_chance": 0.0111
- },
- "ambient_sound": "minecraft:ambient.basalt_deltas.loop",
- "fog_color": 6840176,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.basalt_deltas.mood",
- "tick_delay": 6000
- },
- "music": {
- "max_delay": 24000,
- "min_delay": 12000,
- "replace_current_music": false,
- "sound": "minecraft:music.nether.basalt_deltas"
- },
- "particle": {
- "options": {
- "type": "minecraft:white_ash"
- },
- "probability": 0.118093334
- },
- "sky_color": 7254527,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/basalt_deltas",
- "#minecraft:lakes/in_biome/basalt_deltas",
- "#minecraft:local_modifications/in_biome/basalt_deltas",
- "#minecraft:underground_structures/in_biome/basalt_deltas",
- "#minecraft:surface_structures/in_biome/basalt_deltas",
- "#minecraft:strongholds/in_biome/basalt_deltas",
- "#minecraft:underground_ores/in_biome/basalt_deltas",
- "#minecraft:underground_decoration/in_biome/basalt_deltas",
- "#minecraft:fluid_springs/in_biome/basalt_deltas",
- "#minecraft:vegetal_decoration/in_biome/basalt_deltas",
- "#minecraft:top_layer_modification/in_biome/basalt_deltas"
- ],
- "has_precipitation": false,
- "spawn_costs": {},
- "spawners": {
- "ambient": [],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:strider",
- "maxCount": 2,
- "minCount": 1,
- "weight": 60
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:ghast",
- "maxCount": 1,
- "minCount": 1,
- "weight": 40
- },
- {
- "type": "minecraft:magma_cube",
- "maxCount": 5,
- "minCount": 2,
- "weight": 100
- }
- ],
- "underground_water_creature": [],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 2.0
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/beach.json b/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/beach.json
deleted file mode 100644
index a06995c991..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/beach.json
+++ /dev/null
@@ -1,115 +0,0 @@
-{
- "carvers": {
- "air": "#minecraft:air/in_biome/beach",
- "liquid": "#minecraft:liquid/in_biome/beach"
- },
- "downfall": 0.4,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "sky_color": 7907327,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/beach",
- "#minecraft:lakes/in_biome/beach",
- "#minecraft:local_modifications/in_biome/beach",
- "#minecraft:underground_structures/in_biome/beach",
- "#minecraft:surface_structures/in_biome/beach",
- "#minecraft:strongholds/in_biome/beach",
- "#minecraft:underground_ores/in_biome/beach",
- "#minecraft:underground_decoration/in_biome/beach",
- "#minecraft:fluid_springs/in_biome/beach",
- "#minecraft:vegetal_decoration/in_biome/beach",
- "#minecraft:top_layer_modification/in_biome/beach"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:turtle",
- "maxCount": 5,
- "minCount": 2,
- "weight": 5
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 0.8
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/birch_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/birch_forest.json
deleted file mode 100644
index 6fd34c661d..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/birch_forest.json
+++ /dev/null
@@ -1,139 +0,0 @@
-{
- "carvers": {
- "air": "#minecraft:air/in_biome/birch_forest",
- "liquid": "#minecraft:liquid/in_biome/birch_forest"
- },
- "downfall": 0.6,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "music": {
- "max_delay": 24000,
- "min_delay": 12000,
- "replace_current_music": false,
- "sound": "minecraft:music.overworld.forest"
- },
- "sky_color": 8037887,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/birch_forest",
- "#minecraft:lakes/in_biome/birch_forest",
- "#minecraft:local_modifications/in_biome/birch_forest",
- "#minecraft:underground_structures/in_biome/birch_forest",
- "#minecraft:surface_structures/in_biome/birch_forest",
- "#minecraft:strongholds/in_biome/birch_forest",
- "#minecraft:underground_ores/in_biome/birch_forest",
- "#minecraft:underground_decoration/in_biome/birch_forest",
- "#minecraft:fluid_springs/in_biome/birch_forest",
- "#minecraft:vegetal_decoration/in_biome/birch_forest",
- "#minecraft:top_layer_modification/in_biome/birch_forest"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:sheep",
- "maxCount": 4,
- "minCount": 4,
- "weight": 12
- },
- {
- "type": "minecraft:pig",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:chicken",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:cow",
- "maxCount": 4,
- "minCount": 4,
- "weight": 8
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 0.6
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/cherry_grove.json b/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/cherry_grove.json
deleted file mode 100644
index 807ba825b5..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/cherry_grove.json
+++ /dev/null
@@ -1,135 +0,0 @@
-{
- "carvers": {
- "air": "#minecraft:air/in_biome/cherry_grove",
- "liquid": "#minecraft:liquid/in_biome/cherry_grove"
- },
- "downfall": 0.8,
- "effects": {
- "fog_color": 12638463,
- "foliage_color": 11983713,
- "grass_color": 11983713,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "music": {
- "max_delay": 24000,
- "min_delay": 12000,
- "replace_current_music": false,
- "sound": "minecraft:music.overworld.cherry_grove"
- },
- "sky_color": 8103167,
- "water_color": 6141935,
- "water_fog_color": 6141935
- },
- "features": [
- "#minecraft:raw_generation/in_biome/cherry_grove",
- "#minecraft:lakes/in_biome/cherry_grove",
- "#minecraft:local_modifications/in_biome/cherry_grove",
- "#minecraft:underground_structures/in_biome/cherry_grove",
- "#minecraft:surface_structures/in_biome/cherry_grove",
- "#minecraft:strongholds/in_biome/cherry_grove",
- "#minecraft:underground_ores/in_biome/cherry_grove",
- "#minecraft:underground_decoration/in_biome/cherry_grove",
- "#minecraft:fluid_springs/in_biome/cherry_grove",
- "#minecraft:vegetal_decoration/in_biome/cherry_grove",
- "#minecraft:top_layer_modification/in_biome/cherry_grove"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:pig",
- "maxCount": 2,
- "minCount": 1,
- "weight": 1
- },
- {
- "type": "minecraft:rabbit",
- "maxCount": 6,
- "minCount": 2,
- "weight": 2
- },
- {
- "type": "minecraft:sheep",
- "maxCount": 4,
- "minCount": 2,
- "weight": 2
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 0.5
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/cold_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/cold_ocean.json
deleted file mode 100644
index adfa713682..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/cold_ocean.json
+++ /dev/null
@@ -1,134 +0,0 @@
-{
- "carvers": {
- "air": "#minecraft:air/in_biome/cold_ocean",
- "liquid": "#minecraft:liquid/in_biome/cold_ocean"
- },
- "downfall": 0.5,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "sky_color": 8103167,
- "water_color": 4020182,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/cold_ocean",
- "#minecraft:lakes/in_biome/cold_ocean",
- "#minecraft:local_modifications/in_biome/cold_ocean",
- "#minecraft:underground_structures/in_biome/cold_ocean",
- "#minecraft:surface_structures/in_biome/cold_ocean",
- "#minecraft:strongholds/in_biome/cold_ocean",
- "#minecraft:underground_ores/in_biome/cold_ocean",
- "#minecraft:underground_decoration/in_biome/cold_ocean",
- "#minecraft:fluid_springs/in_biome/cold_ocean",
- "#minecraft:vegetal_decoration/in_biome/cold_ocean",
- "#minecraft:top_layer_modification/in_biome/cold_ocean"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:drowned",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [
- {
- "type": "minecraft:cod",
- "maxCount": 6,
- "minCount": 3,
- "weight": 15
- },
- {
- "type": "minecraft:salmon",
- "maxCount": 5,
- "minCount": 1,
- "weight": 15
- }
- ],
- "water_creature": [
- {
- "type": "minecraft:squid",
- "maxCount": 4,
- "minCount": 1,
- "weight": 3
- }
- ]
- },
- "temperature": 0.5
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/crimson_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/crimson_forest.json
deleted file mode 100644
index ab3dc7dd83..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/crimson_forest.json
+++ /dev/null
@@ -1,88 +0,0 @@
-{
- "carvers": {
- "air": "#minecraft:air/in_biome/crimson_forest",
- "liquid": "#minecraft:liquid/in_biome/crimson_forest"
- },
- "downfall": 0.0,
- "effects": {
- "additions_sound": {
- "sound": "minecraft:ambient.crimson_forest.additions",
- "tick_chance": 0.0111
- },
- "ambient_sound": "minecraft:ambient.crimson_forest.loop",
- "fog_color": 3343107,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.crimson_forest.mood",
- "tick_delay": 6000
- },
- "music": {
- "max_delay": 24000,
- "min_delay": 12000,
- "replace_current_music": false,
- "sound": "minecraft:music.nether.crimson_forest"
- },
- "particle": {
- "options": {
- "type": "minecraft:crimson_spore"
- },
- "probability": 0.025
- },
- "sky_color": 7254527,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/crimson_forest",
- "#minecraft:lakes/in_biome/crimson_forest",
- "#minecraft:local_modifications/in_biome/crimson_forest",
- "#minecraft:underground_structures/in_biome/crimson_forest",
- "#minecraft:surface_structures/in_biome/crimson_forest",
- "#minecraft:strongholds/in_biome/crimson_forest",
- "#minecraft:underground_ores/in_biome/crimson_forest",
- "#minecraft:underground_decoration/in_biome/crimson_forest",
- "#minecraft:fluid_springs/in_biome/crimson_forest",
- "#minecraft:vegetal_decoration/in_biome/crimson_forest",
- "#minecraft:top_layer_modification/in_biome/crimson_forest"
- ],
- "has_precipitation": false,
- "spawn_costs": {},
- "spawners": {
- "ambient": [],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:strider",
- "maxCount": 2,
- "minCount": 1,
- "weight": 60
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:zombified_piglin",
- "maxCount": 4,
- "minCount": 2,
- "weight": 1
- },
- {
- "type": "minecraft:hoglin",
- "maxCount": 4,
- "minCount": 3,
- "weight": 9
- },
- {
- "type": "minecraft:piglin",
- "maxCount": 4,
- "minCount": 3,
- "weight": 5
- }
- ],
- "underground_water_creature": [],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 2.0
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/dark_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/dark_forest.json
deleted file mode 100644
index 73e1d643ef..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/dark_forest.json
+++ /dev/null
@@ -1,140 +0,0 @@
-{
- "carvers": {
- "air": "#minecraft:air/in_biome/dark_forest",
- "liquid": "#minecraft:liquid/in_biome/dark_forest"
- },
- "downfall": 0.8,
- "effects": {
- "fog_color": 12638463,
- "grass_color_modifier": "dark_forest",
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "music": {
- "max_delay": 24000,
- "min_delay": 12000,
- "replace_current_music": false,
- "sound": "minecraft:music.overworld.forest"
- },
- "sky_color": 7972607,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/dark_forest",
- "#minecraft:lakes/in_biome/dark_forest",
- "#minecraft:local_modifications/in_biome/dark_forest",
- "#minecraft:underground_structures/in_biome/dark_forest",
- "#minecraft:surface_structures/in_biome/dark_forest",
- "#minecraft:strongholds/in_biome/dark_forest",
- "#minecraft:underground_ores/in_biome/dark_forest",
- "#minecraft:underground_decoration/in_biome/dark_forest",
- "#minecraft:fluid_springs/in_biome/dark_forest",
- "#minecraft:vegetal_decoration/in_biome/dark_forest",
- "#minecraft:top_layer_modification/in_biome/dark_forest"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:sheep",
- "maxCount": 4,
- "minCount": 4,
- "weight": 12
- },
- {
- "type": "minecraft:pig",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:chicken",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:cow",
- "maxCount": 4,
- "minCount": 4,
- "weight": 8
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 0.7
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/deep_cold_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/deep_cold_ocean.json
deleted file mode 100644
index 01e556236d..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/deep_cold_ocean.json
+++ /dev/null
@@ -1,134 +0,0 @@
-{
- "carvers": {
- "air": "#minecraft:air/in_biome/deep_cold_ocean",
- "liquid": "#minecraft:liquid/in_biome/deep_cold_ocean"
- },
- "downfall": 0.5,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "sky_color": 8103167,
- "water_color": 4020182,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/deep_cold_ocean",
- "#minecraft:lakes/in_biome/deep_cold_ocean",
- "#minecraft:local_modifications/in_biome/deep_cold_ocean",
- "#minecraft:underground_structures/in_biome/deep_cold_ocean",
- "#minecraft:surface_structures/in_biome/deep_cold_ocean",
- "#minecraft:strongholds/in_biome/deep_cold_ocean",
- "#minecraft:underground_ores/in_biome/deep_cold_ocean",
- "#minecraft:underground_decoration/in_biome/deep_cold_ocean",
- "#minecraft:fluid_springs/in_biome/deep_cold_ocean",
- "#minecraft:vegetal_decoration/in_biome/deep_cold_ocean",
- "#minecraft:top_layer_modification/in_biome/deep_cold_ocean"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:drowned",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [
- {
- "type": "minecraft:cod",
- "maxCount": 6,
- "minCount": 3,
- "weight": 15
- },
- {
- "type": "minecraft:salmon",
- "maxCount": 5,
- "minCount": 1,
- "weight": 15
- }
- ],
- "water_creature": [
- {
- "type": "minecraft:squid",
- "maxCount": 4,
- "minCount": 1,
- "weight": 3
- }
- ]
- },
- "temperature": 0.5
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/deep_dark.json b/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/deep_dark.json
deleted file mode 100644
index 64d144bdb3..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/deep_dark.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- "carvers": {
- "air": "#minecraft:air/in_biome/deep_dark",
- "liquid": "#minecraft:liquid/in_biome/deep_dark"
- },
- "downfall": 0.4,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "music": {
- "max_delay": 24000,
- "min_delay": 12000,
- "replace_current_music": false,
- "sound": "minecraft:music.overworld.deep_dark"
- },
- "sky_color": 7907327,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/deep_dark",
- "#minecraft:lakes/in_biome/deep_dark",
- "#minecraft:local_modifications/in_biome/deep_dark",
- "#minecraft:underground_structures/in_biome/deep_dark",
- "#minecraft:surface_structures/in_biome/deep_dark",
- "#minecraft:strongholds/in_biome/deep_dark",
- "#minecraft:underground_ores/in_biome/deep_dark",
- "#minecraft:underground_decoration/in_biome/deep_dark",
- "#minecraft:fluid_springs/in_biome/deep_dark",
- "#minecraft:vegetal_decoration/in_biome/deep_dark",
- "#minecraft:top_layer_modification/in_biome/deep_dark"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [],
- "axolotls": [],
- "creature": [],
- "misc": [],
- "monster": [],
- "underground_water_creature": [],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 0.8
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/deep_frozen_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/deep_frozen_ocean.json
deleted file mode 100644
index bdc414e979..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/deep_frozen_ocean.json
+++ /dev/null
@@ -1,136 +0,0 @@
-{
- "carvers": {
- "air": "#minecraft:air/in_biome/deep_frozen_ocean",
- "liquid": "#minecraft:liquid/in_biome/deep_frozen_ocean"
- },
- "downfall": 0.5,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "sky_color": 8103167,
- "water_color": 3750089,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/deep_frozen_ocean",
- "#minecraft:lakes/in_biome/deep_frozen_ocean",
- "#minecraft:local_modifications/in_biome/deep_frozen_ocean",
- "#minecraft:underground_structures/in_biome/deep_frozen_ocean",
- "#minecraft:surface_structures/in_biome/deep_frozen_ocean",
- "#minecraft:strongholds/in_biome/deep_frozen_ocean",
- "#minecraft:underground_ores/in_biome/deep_frozen_ocean",
- "#minecraft:underground_decoration/in_biome/deep_frozen_ocean",
- "#minecraft:fluid_springs/in_biome/deep_frozen_ocean",
- "#minecraft:vegetal_decoration/in_biome/deep_frozen_ocean",
- "#minecraft:top_layer_modification/in_biome/deep_frozen_ocean"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:polar_bear",
- "maxCount": 2,
- "minCount": 1,
- "weight": 1
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:drowned",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [
- {
- "type": "minecraft:salmon",
- "maxCount": 5,
- "minCount": 1,
- "weight": 15
- }
- ],
- "water_creature": [
- {
- "type": "minecraft:squid",
- "maxCount": 4,
- "minCount": 1,
- "weight": 1
- }
- ]
- },
- "temperature": 0.5,
- "temperature_modifier": "frozen"
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/deep_lukewarm_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/deep_lukewarm_ocean.json
deleted file mode 100644
index 4821c4e77f..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/deep_lukewarm_ocean.json
+++ /dev/null
@@ -1,146 +0,0 @@
-{
- "carvers": {
- "air": "#minecraft:air/in_biome/deep_lukewarm_ocean",
- "liquid": "#minecraft:liquid/in_biome/deep_lukewarm_ocean"
- },
- "downfall": 0.5,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "sky_color": 8103167,
- "water_color": 4566514,
- "water_fog_color": 267827
- },
- "features": [
- "#minecraft:raw_generation/in_biome/deep_lukewarm_ocean",
- "#minecraft:lakes/in_biome/deep_lukewarm_ocean",
- "#minecraft:local_modifications/in_biome/deep_lukewarm_ocean",
- "#minecraft:underground_structures/in_biome/deep_lukewarm_ocean",
- "#minecraft:surface_structures/in_biome/deep_lukewarm_ocean",
- "#minecraft:strongholds/in_biome/deep_lukewarm_ocean",
- "#minecraft:underground_ores/in_biome/deep_lukewarm_ocean",
- "#minecraft:underground_decoration/in_biome/deep_lukewarm_ocean",
- "#minecraft:fluid_springs/in_biome/deep_lukewarm_ocean",
- "#minecraft:vegetal_decoration/in_biome/deep_lukewarm_ocean",
- "#minecraft:top_layer_modification/in_biome/deep_lukewarm_ocean"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:drowned",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [
- {
- "type": "minecraft:cod",
- "maxCount": 6,
- "minCount": 3,
- "weight": 8
- },
- {
- "type": "minecraft:pufferfish",
- "maxCount": 3,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:tropical_fish",
- "maxCount": 8,
- "minCount": 8,
- "weight": 25
- }
- ],
- "water_creature": [
- {
- "type": "minecraft:squid",
- "maxCount": 4,
- "minCount": 1,
- "weight": 8
- },
- {
- "type": "minecraft:dolphin",
- "maxCount": 2,
- "minCount": 1,
- "weight": 2
- }
- ]
- },
- "temperature": 0.5
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/deep_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/deep_ocean.json
deleted file mode 100644
index 01dbe1ae23..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/deep_ocean.json
+++ /dev/null
@@ -1,134 +0,0 @@
-{
- "carvers": {
- "air": "#minecraft:air/in_biome/deep_ocean",
- "liquid": "#minecraft:liquid/in_biome/deep_ocean"
- },
- "downfall": 0.5,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "sky_color": 8103167,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/deep_ocean",
- "#minecraft:lakes/in_biome/deep_ocean",
- "#minecraft:local_modifications/in_biome/deep_ocean",
- "#minecraft:underground_structures/in_biome/deep_ocean",
- "#minecraft:surface_structures/in_biome/deep_ocean",
- "#minecraft:strongholds/in_biome/deep_ocean",
- "#minecraft:underground_ores/in_biome/deep_ocean",
- "#minecraft:underground_decoration/in_biome/deep_ocean",
- "#minecraft:fluid_springs/in_biome/deep_ocean",
- "#minecraft:vegetal_decoration/in_biome/deep_ocean",
- "#minecraft:top_layer_modification/in_biome/deep_ocean"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:drowned",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [
- {
- "type": "minecraft:cod",
- "maxCount": 6,
- "minCount": 3,
- "weight": 10
- }
- ],
- "water_creature": [
- {
- "type": "minecraft:squid",
- "maxCount": 4,
- "minCount": 1,
- "weight": 1
- },
- {
- "type": "minecraft:dolphin",
- "maxCount": 2,
- "minCount": 1,
- "weight": 1
- }
- ]
- },
- "temperature": 0.5
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/desert.json b/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/desert.json
deleted file mode 100644
index 6c8628ea24..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/desert.json
+++ /dev/null
@@ -1,127 +0,0 @@
-{
- "carvers": {
- "air": "#minecraft:air/in_biome/desert",
- "liquid": "#minecraft:liquid/in_biome/desert"
- },
- "downfall": 0.0,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "music": {
- "max_delay": 24000,
- "min_delay": 12000,
- "replace_current_music": false,
- "sound": "minecraft:music.overworld.desert"
- },
- "sky_color": 7254527,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/desert",
- "#minecraft:lakes/in_biome/desert",
- "#minecraft:local_modifications/in_biome/desert",
- "#minecraft:underground_structures/in_biome/desert",
- "#minecraft:surface_structures/in_biome/desert",
- "#minecraft:strongholds/in_biome/desert",
- "#minecraft:underground_ores/in_biome/desert",
- "#minecraft:underground_decoration/in_biome/desert",
- "#minecraft:fluid_springs/in_biome/desert",
- "#minecraft:vegetal_decoration/in_biome/desert",
- "#minecraft:top_layer_modification/in_biome/desert"
- ],
- "has_precipitation": false,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:rabbit",
- "maxCount": 3,
- "minCount": 2,
- "weight": 4
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 19
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 1
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:husk",
- "maxCount": 4,
- "minCount": 4,
- "weight": 80
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 2.0
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/dripstone_caves.json b/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/dripstone_caves.json
deleted file mode 100644
index f3cf15a48a..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/dripstone_caves.json
+++ /dev/null
@@ -1,120 +0,0 @@
-{
- "carvers": {
- "air": "#minecraft:air/in_biome/dripstone_caves",
- "liquid": "#minecraft:liquid/in_biome/dripstone_caves"
- },
- "downfall": 0.4,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "music": {
- "max_delay": 24000,
- "min_delay": 12000,
- "replace_current_music": false,
- "sound": "minecraft:music.overworld.dripstone_caves"
- },
- "sky_color": 7907327,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/dripstone_caves",
- "#minecraft:lakes/in_biome/dripstone_caves",
- "#minecraft:local_modifications/in_biome/dripstone_caves",
- "#minecraft:underground_structures/in_biome/dripstone_caves",
- "#minecraft:surface_structures/in_biome/dripstone_caves",
- "#minecraft:strongholds/in_biome/dripstone_caves",
- "#minecraft:underground_ores/in_biome/dripstone_caves",
- "#minecraft:underground_decoration/in_biome/dripstone_caves",
- "#minecraft:fluid_springs/in_biome/dripstone_caves",
- "#minecraft:vegetal_decoration/in_biome/dripstone_caves",
- "#minecraft:top_layer_modification/in_biome/dripstone_caves"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:drowned",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 0.8
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/end_barrens.json b/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/end_barrens.json
deleted file mode 100644
index 4f112dc469..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/end_barrens.json
+++ /dev/null
@@ -1,52 +0,0 @@
-{
- "carvers": {
- "air": "#minecraft:air/in_biome/end_barrens",
- "liquid": "#minecraft:liquid/in_biome/end_barrens"
- },
- "downfall": 0.5,
- "effects": {
- "fog_color": 10518688,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "sky_color": 0,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/end_barrens",
- "#minecraft:lakes/in_biome/end_barrens",
- "#minecraft:local_modifications/in_biome/end_barrens",
- "#minecraft:underground_structures/in_biome/end_barrens",
- "#minecraft:surface_structures/in_biome/end_barrens",
- "#minecraft:strongholds/in_biome/end_barrens",
- "#minecraft:underground_ores/in_biome/end_barrens",
- "#minecraft:underground_decoration/in_biome/end_barrens",
- "#minecraft:fluid_springs/in_biome/end_barrens",
- "#minecraft:vegetal_decoration/in_biome/end_barrens",
- "#minecraft:top_layer_modification/in_biome/end_barrens"
- ],
- "has_precipitation": false,
- "spawn_costs": {},
- "spawners": {
- "ambient": [],
- "axolotls": [],
- "creature": [],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- }
- ],
- "underground_water_creature": [],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 0.5
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/end_highlands.json b/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/end_highlands.json
deleted file mode 100644
index 9ccc47bdd5..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/end_highlands.json
+++ /dev/null
@@ -1,52 +0,0 @@
-{
- "carvers": {
- "air": "#minecraft:air/in_biome/end_highlands",
- "liquid": "#minecraft:liquid/in_biome/end_highlands"
- },
- "downfall": 0.5,
- "effects": {
- "fog_color": 10518688,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "sky_color": 0,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/end_highlands",
- "#minecraft:lakes/in_biome/end_highlands",
- "#minecraft:local_modifications/in_biome/end_highlands",
- "#minecraft:underground_structures/in_biome/end_highlands",
- "#minecraft:surface_structures/in_biome/end_highlands",
- "#minecraft:strongholds/in_biome/end_highlands",
- "#minecraft:underground_ores/in_biome/end_highlands",
- "#minecraft:underground_decoration/in_biome/end_highlands",
- "#minecraft:fluid_springs/in_biome/end_highlands",
- "#minecraft:vegetal_decoration/in_biome/end_highlands",
- "#minecraft:top_layer_modification/in_biome/end_highlands"
- ],
- "has_precipitation": false,
- "spawn_costs": {},
- "spawners": {
- "ambient": [],
- "axolotls": [],
- "creature": [],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- }
- ],
- "underground_water_creature": [],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 0.5
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/end_midlands.json b/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/end_midlands.json
deleted file mode 100644
index 4b4d579088..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/end_midlands.json
+++ /dev/null
@@ -1,52 +0,0 @@
-{
- "carvers": {
- "air": "#minecraft:air/in_biome/end_midlands",
- "liquid": "#minecraft:liquid/in_biome/end_midlands"
- },
- "downfall": 0.5,
- "effects": {
- "fog_color": 10518688,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "sky_color": 0,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/end_midlands",
- "#minecraft:lakes/in_biome/end_midlands",
- "#minecraft:local_modifications/in_biome/end_midlands",
- "#minecraft:underground_structures/in_biome/end_midlands",
- "#minecraft:surface_structures/in_biome/end_midlands",
- "#minecraft:strongholds/in_biome/end_midlands",
- "#minecraft:underground_ores/in_biome/end_midlands",
- "#minecraft:underground_decoration/in_biome/end_midlands",
- "#minecraft:fluid_springs/in_biome/end_midlands",
- "#minecraft:vegetal_decoration/in_biome/end_midlands",
- "#minecraft:top_layer_modification/in_biome/end_midlands"
- ],
- "has_precipitation": false,
- "spawn_costs": {},
- "spawners": {
- "ambient": [],
- "axolotls": [],
- "creature": [],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- }
- ],
- "underground_water_creature": [],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 0.5
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/eroded_badlands.json b/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/eroded_badlands.json
deleted file mode 100644
index a531497e04..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/eroded_badlands.json
+++ /dev/null
@@ -1,124 +0,0 @@
-{
- "carvers": {
- "air": "#minecraft:air/in_biome/eroded_badlands",
- "liquid": "#minecraft:liquid/in_biome/eroded_badlands"
- },
- "creature_spawn_probability": 0.03,
- "downfall": 0.0,
- "effects": {
- "fog_color": 12638463,
- "foliage_color": 10387789,
- "grass_color": 9470285,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "music": {
- "max_delay": 24000,
- "min_delay": 12000,
- "replace_current_music": false,
- "sound": "minecraft:music.overworld.badlands"
- },
- "sky_color": 7254527,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/eroded_badlands",
- "#minecraft:lakes/in_biome/eroded_badlands",
- "#minecraft:local_modifications/in_biome/eroded_badlands",
- "#minecraft:underground_structures/in_biome/eroded_badlands",
- "#minecraft:surface_structures/in_biome/eroded_badlands",
- "#minecraft:strongholds/in_biome/eroded_badlands",
- "#minecraft:underground_ores/in_biome/eroded_badlands",
- "#minecraft:underground_decoration/in_biome/eroded_badlands",
- "#minecraft:fluid_springs/in_biome/eroded_badlands",
- "#minecraft:vegetal_decoration/in_biome/eroded_badlands",
- "#minecraft:top_layer_modification/in_biome/eroded_badlands"
- ],
- "has_precipitation": false,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:armadillo",
- "maxCount": 2,
- "minCount": 1,
- "weight": 6
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 2.0
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/flower_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/flower_forest.json
deleted file mode 100644
index 5a9fefeafa..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/flower_forest.json
+++ /dev/null
@@ -1,145 +0,0 @@
-{
- "carvers": {
- "air": "#minecraft:air/in_biome/flower_forest",
- "liquid": "#minecraft:liquid/in_biome/flower_forest"
- },
- "downfall": 0.8,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "music": {
- "max_delay": 24000,
- "min_delay": 12000,
- "replace_current_music": false,
- "sound": "minecraft:music.overworld.flower_forest"
- },
- "sky_color": 7972607,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/flower_forest",
- "#minecraft:lakes/in_biome/flower_forest",
- "#minecraft:local_modifications/in_biome/flower_forest",
- "#minecraft:underground_structures/in_biome/flower_forest",
- "#minecraft:surface_structures/in_biome/flower_forest",
- "#minecraft:strongholds/in_biome/flower_forest",
- "#minecraft:underground_ores/in_biome/flower_forest",
- "#minecraft:underground_decoration/in_biome/flower_forest",
- "#minecraft:fluid_springs/in_biome/flower_forest",
- "#minecraft:vegetal_decoration/in_biome/flower_forest",
- "#minecraft:top_layer_modification/in_biome/flower_forest"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:sheep",
- "maxCount": 4,
- "minCount": 4,
- "weight": 12
- },
- {
- "type": "minecraft:pig",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:chicken",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:cow",
- "maxCount": 4,
- "minCount": 4,
- "weight": 8
- },
- {
- "type": "minecraft:rabbit",
- "maxCount": 3,
- "minCount": 2,
- "weight": 4
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 0.7
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/forest.json b/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/forest.json
deleted file mode 100644
index da89856209..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/forest.json
+++ /dev/null
@@ -1,145 +0,0 @@
-{
- "carvers": {
- "air": "#minecraft:air/in_biome/forest",
- "liquid": "#minecraft:liquid/in_biome/forest"
- },
- "downfall": 0.8,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "music": {
- "max_delay": 24000,
- "min_delay": 12000,
- "replace_current_music": false,
- "sound": "minecraft:music.overworld.forest"
- },
- "sky_color": 7972607,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/forest",
- "#minecraft:lakes/in_biome/forest",
- "#minecraft:local_modifications/in_biome/forest",
- "#minecraft:underground_structures/in_biome/forest",
- "#minecraft:surface_structures/in_biome/forest",
- "#minecraft:strongholds/in_biome/forest",
- "#minecraft:underground_ores/in_biome/forest",
- "#minecraft:underground_decoration/in_biome/forest",
- "#minecraft:fluid_springs/in_biome/forest",
- "#minecraft:vegetal_decoration/in_biome/forest",
- "#minecraft:top_layer_modification/in_biome/forest"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:sheep",
- "maxCount": 4,
- "minCount": 4,
- "weight": 12
- },
- {
- "type": "minecraft:pig",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:chicken",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:cow",
- "maxCount": 4,
- "minCount": 4,
- "weight": 8
- },
- {
- "type": "minecraft:wolf",
- "maxCount": 4,
- "minCount": 4,
- "weight": 5
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 0.7
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/frozen_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/frozen_ocean.json
deleted file mode 100644
index 7945888bec..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/frozen_ocean.json
+++ /dev/null
@@ -1,136 +0,0 @@
-{
- "carvers": {
- "air": "#minecraft:air/in_biome/frozen_ocean",
- "liquid": "#minecraft:liquid/in_biome/frozen_ocean"
- },
- "downfall": 0.5,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "sky_color": 8364543,
- "water_color": 3750089,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/frozen_ocean",
- "#minecraft:lakes/in_biome/frozen_ocean",
- "#minecraft:local_modifications/in_biome/frozen_ocean",
- "#minecraft:underground_structures/in_biome/frozen_ocean",
- "#minecraft:surface_structures/in_biome/frozen_ocean",
- "#minecraft:strongholds/in_biome/frozen_ocean",
- "#minecraft:underground_ores/in_biome/frozen_ocean",
- "#minecraft:underground_decoration/in_biome/frozen_ocean",
- "#minecraft:fluid_springs/in_biome/frozen_ocean",
- "#minecraft:vegetal_decoration/in_biome/frozen_ocean",
- "#minecraft:top_layer_modification/in_biome/frozen_ocean"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:polar_bear",
- "maxCount": 2,
- "minCount": 1,
- "weight": 1
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:drowned",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [
- {
- "type": "minecraft:salmon",
- "maxCount": 5,
- "minCount": 1,
- "weight": 15
- }
- ],
- "water_creature": [
- {
- "type": "minecraft:squid",
- "maxCount": 4,
- "minCount": 1,
- "weight": 1
- }
- ]
- },
- "temperature": 0.0,
- "temperature_modifier": "frozen"
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/frozen_peaks.json b/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/frozen_peaks.json
deleted file mode 100644
index cfd14dfb51..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/frozen_peaks.json
+++ /dev/null
@@ -1,121 +0,0 @@
-{
- "carvers": {
- "air": "#minecraft:air/in_biome/frozen_peaks",
- "liquid": "#minecraft:liquid/in_biome/frozen_peaks"
- },
- "downfall": 0.9,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "music": {
- "max_delay": 24000,
- "min_delay": 12000,
- "replace_current_music": false,
- "sound": "minecraft:music.overworld.frozen_peaks"
- },
- "sky_color": 8756735,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/frozen_peaks",
- "#minecraft:lakes/in_biome/frozen_peaks",
- "#minecraft:local_modifications/in_biome/frozen_peaks",
- "#minecraft:underground_structures/in_biome/frozen_peaks",
- "#minecraft:surface_structures/in_biome/frozen_peaks",
- "#minecraft:strongholds/in_biome/frozen_peaks",
- "#minecraft:underground_ores/in_biome/frozen_peaks",
- "#minecraft:underground_decoration/in_biome/frozen_peaks",
- "#minecraft:fluid_springs/in_biome/frozen_peaks",
- "#minecraft:vegetal_decoration/in_biome/frozen_peaks",
- "#minecraft:top_layer_modification/in_biome/frozen_peaks"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:goat",
- "maxCount": 3,
- "minCount": 1,
- "weight": 5
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": -0.7
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/frozen_river.json b/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/frozen_river.json
deleted file mode 100644
index da6ed1759e..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/frozen_river.json
+++ /dev/null
@@ -1,128 +0,0 @@
-{
- "carvers": {
- "air": "#minecraft:air/in_biome/frozen_river",
- "liquid": "#minecraft:liquid/in_biome/frozen_river"
- },
- "downfall": 0.5,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "sky_color": 8364543,
- "water_color": 3750089,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/frozen_river",
- "#minecraft:lakes/in_biome/frozen_river",
- "#minecraft:local_modifications/in_biome/frozen_river",
- "#minecraft:underground_structures/in_biome/frozen_river",
- "#minecraft:surface_structures/in_biome/frozen_river",
- "#minecraft:strongholds/in_biome/frozen_river",
- "#minecraft:underground_ores/in_biome/frozen_river",
- "#minecraft:underground_decoration/in_biome/frozen_river",
- "#minecraft:fluid_springs/in_biome/frozen_river",
- "#minecraft:vegetal_decoration/in_biome/frozen_river",
- "#minecraft:top_layer_modification/in_biome/frozen_river"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:drowned",
- "maxCount": 1,
- "minCount": 1,
- "weight": 1
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [
- {
- "type": "minecraft:salmon",
- "maxCount": 5,
- "minCount": 1,
- "weight": 5
- }
- ],
- "water_creature": [
- {
- "type": "minecraft:squid",
- "maxCount": 4,
- "minCount": 1,
- "weight": 2
- }
- ]
- },
- "temperature": 0.0
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/grove.json b/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/grove.json
deleted file mode 100644
index c8332724f0..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/grove.json
+++ /dev/null
@@ -1,133 +0,0 @@
-{
- "carvers": {
- "air": "#minecraft:air/in_biome/grove",
- "liquid": "#minecraft:liquid/in_biome/grove"
- },
- "downfall": 0.8,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "music": {
- "max_delay": 24000,
- "min_delay": 12000,
- "replace_current_music": false,
- "sound": "minecraft:music.overworld.grove"
- },
- "sky_color": 8495359,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/grove",
- "#minecraft:lakes/in_biome/grove",
- "#minecraft:local_modifications/in_biome/grove",
- "#minecraft:underground_structures/in_biome/grove",
- "#minecraft:surface_structures/in_biome/grove",
- "#minecraft:strongholds/in_biome/grove",
- "#minecraft:underground_ores/in_biome/grove",
- "#minecraft:underground_decoration/in_biome/grove",
- "#minecraft:fluid_springs/in_biome/grove",
- "#minecraft:vegetal_decoration/in_biome/grove",
- "#minecraft:top_layer_modification/in_biome/grove"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:wolf",
- "maxCount": 1,
- "minCount": 1,
- "weight": 1
- },
- {
- "type": "minecraft:rabbit",
- "maxCount": 3,
- "minCount": 2,
- "weight": 8
- },
- {
- "type": "minecraft:fox",
- "maxCount": 4,
- "minCount": 2,
- "weight": 4
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": -0.2
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/ice_spikes.json b/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/ice_spikes.json
deleted file mode 100644
index d58b52b1d3..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/ice_spikes.json
+++ /dev/null
@@ -1,128 +0,0 @@
-{
- "carvers": {
- "air": "#minecraft:air/in_biome/ice_spikes",
- "liquid": "#minecraft:liquid/in_biome/ice_spikes"
- },
- "creature_spawn_probability": 0.07,
- "downfall": 0.5,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "sky_color": 8364543,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/ice_spikes",
- "#minecraft:lakes/in_biome/ice_spikes",
- "#minecraft:local_modifications/in_biome/ice_spikes",
- "#minecraft:underground_structures/in_biome/ice_spikes",
- "#minecraft:surface_structures/in_biome/ice_spikes",
- "#minecraft:strongholds/in_biome/ice_spikes",
- "#minecraft:underground_ores/in_biome/ice_spikes",
- "#minecraft:underground_decoration/in_biome/ice_spikes",
- "#minecraft:fluid_springs/in_biome/ice_spikes",
- "#minecraft:vegetal_decoration/in_biome/ice_spikes",
- "#minecraft:top_layer_modification/in_biome/ice_spikes"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:rabbit",
- "maxCount": 3,
- "minCount": 2,
- "weight": 10
- },
- {
- "type": "minecraft:polar_bear",
- "maxCount": 2,
- "minCount": 1,
- "weight": 1
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 20
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:stray",
- "maxCount": 4,
- "minCount": 4,
- "weight": 80
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 0.0
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/jagged_peaks.json b/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/jagged_peaks.json
deleted file mode 100644
index e9413a4a95..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/jagged_peaks.json
+++ /dev/null
@@ -1,121 +0,0 @@
-{
- "carvers": {
- "air": "#minecraft:air/in_biome/jagged_peaks",
- "liquid": "#minecraft:liquid/in_biome/jagged_peaks"
- },
- "downfall": 0.9,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "music": {
- "max_delay": 24000,
- "min_delay": 12000,
- "replace_current_music": false,
- "sound": "minecraft:music.overworld.jagged_peaks"
- },
- "sky_color": 8756735,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/jagged_peaks",
- "#minecraft:lakes/in_biome/jagged_peaks",
- "#minecraft:local_modifications/in_biome/jagged_peaks",
- "#minecraft:underground_structures/in_biome/jagged_peaks",
- "#minecraft:surface_structures/in_biome/jagged_peaks",
- "#minecraft:strongholds/in_biome/jagged_peaks",
- "#minecraft:underground_ores/in_biome/jagged_peaks",
- "#minecraft:underground_decoration/in_biome/jagged_peaks",
- "#minecraft:fluid_springs/in_biome/jagged_peaks",
- "#minecraft:vegetal_decoration/in_biome/jagged_peaks",
- "#minecraft:top_layer_modification/in_biome/jagged_peaks"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:goat",
- "maxCount": 3,
- "minCount": 1,
- "weight": 5
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": -0.7
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/jungle.json b/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/jungle.json
deleted file mode 100644
index 504bc37123..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/jungle.json
+++ /dev/null
@@ -1,163 +0,0 @@
-{
- "carvers": {
- "air": "#minecraft:air/in_biome/jungle",
- "liquid": "#minecraft:liquid/in_biome/jungle"
- },
- "downfall": 0.9,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "music": {
- "max_delay": 24000,
- "min_delay": 12000,
- "replace_current_music": false,
- "sound": "minecraft:music.overworld.jungle"
- },
- "sky_color": 7842047,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/jungle",
- "#minecraft:lakes/in_biome/jungle",
- "#minecraft:local_modifications/in_biome/jungle",
- "#minecraft:underground_structures/in_biome/jungle",
- "#minecraft:surface_structures/in_biome/jungle",
- "#minecraft:strongholds/in_biome/jungle",
- "#minecraft:underground_ores/in_biome/jungle",
- "#minecraft:underground_decoration/in_biome/jungle",
- "#minecraft:fluid_springs/in_biome/jungle",
- "#minecraft:vegetal_decoration/in_biome/jungle",
- "#minecraft:top_layer_modification/in_biome/jungle"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:sheep",
- "maxCount": 4,
- "minCount": 4,
- "weight": 12
- },
- {
- "type": "minecraft:pig",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:chicken",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:cow",
- "maxCount": 4,
- "minCount": 4,
- "weight": 8
- },
- {
- "type": "minecraft:chicken",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:parrot",
- "maxCount": 2,
- "minCount": 1,
- "weight": 40
- },
- {
- "type": "minecraft:panda",
- "maxCount": 2,
- "minCount": 1,
- "weight": 1
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:ocelot",
- "maxCount": 3,
- "minCount": 1,
- "weight": 2
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 0.95
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/lukewarm_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/lukewarm_ocean.json
deleted file mode 100644
index 35386abede..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/lukewarm_ocean.json
+++ /dev/null
@@ -1,146 +0,0 @@
-{
- "carvers": {
- "air": "#minecraft:air/in_biome/lukewarm_ocean",
- "liquid": "#minecraft:liquid/in_biome/lukewarm_ocean"
- },
- "downfall": 0.5,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "sky_color": 8103167,
- "water_color": 4566514,
- "water_fog_color": 267827
- },
- "features": [
- "#minecraft:raw_generation/in_biome/lukewarm_ocean",
- "#minecraft:lakes/in_biome/lukewarm_ocean",
- "#minecraft:local_modifications/in_biome/lukewarm_ocean",
- "#minecraft:underground_structures/in_biome/lukewarm_ocean",
- "#minecraft:surface_structures/in_biome/lukewarm_ocean",
- "#minecraft:strongholds/in_biome/lukewarm_ocean",
- "#minecraft:underground_ores/in_biome/lukewarm_ocean",
- "#minecraft:underground_decoration/in_biome/lukewarm_ocean",
- "#minecraft:fluid_springs/in_biome/lukewarm_ocean",
- "#minecraft:vegetal_decoration/in_biome/lukewarm_ocean",
- "#minecraft:top_layer_modification/in_biome/lukewarm_ocean"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:drowned",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [
- {
- "type": "minecraft:cod",
- "maxCount": 6,
- "minCount": 3,
- "weight": 15
- },
- {
- "type": "minecraft:pufferfish",
- "maxCount": 3,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:tropical_fish",
- "maxCount": 8,
- "minCount": 8,
- "weight": 25
- }
- ],
- "water_creature": [
- {
- "type": "minecraft:squid",
- "maxCount": 2,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:dolphin",
- "maxCount": 2,
- "minCount": 1,
- "weight": 2
- }
- ]
- },
- "temperature": 0.5
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/lush_caves.json b/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/lush_caves.json
deleted file mode 100644
index 5a2103d541..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/lush_caves.json
+++ /dev/null
@@ -1,128 +0,0 @@
-{
- "carvers": {
- "air": "#minecraft:air/in_biome/lush_caves",
- "liquid": "#minecraft:liquid/in_biome/lush_caves"
- },
- "downfall": 0.5,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "music": {
- "max_delay": 24000,
- "min_delay": 12000,
- "replace_current_music": false,
- "sound": "minecraft:music.overworld.lush_caves"
- },
- "sky_color": 8103167,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/lush_caves",
- "#minecraft:lakes/in_biome/lush_caves",
- "#minecraft:local_modifications/in_biome/lush_caves",
- "#minecraft:underground_structures/in_biome/lush_caves",
- "#minecraft:surface_structures/in_biome/lush_caves",
- "#minecraft:strongholds/in_biome/lush_caves",
- "#minecraft:underground_ores/in_biome/lush_caves",
- "#minecraft:underground_decoration/in_biome/lush_caves",
- "#minecraft:fluid_springs/in_biome/lush_caves",
- "#minecraft:vegetal_decoration/in_biome/lush_caves",
- "#minecraft:top_layer_modification/in_biome/lush_caves"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [
- {
- "type": "minecraft:axolotl",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "creature": [],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [
- {
- "type": "minecraft:tropical_fish",
- "maxCount": 8,
- "minCount": 8,
- "weight": 25
- }
- ],
- "water_creature": []
- },
- "temperature": 0.5
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/mangrove_swamp.json b/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/mangrove_swamp.json
deleted file mode 100644
index 99435a95e5..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/mangrove_swamp.json
+++ /dev/null
@@ -1,136 +0,0 @@
-{
- "carvers": {
- "air": "#minecraft:air/in_biome/mangrove_swamp",
- "liquid": "#minecraft:liquid/in_biome/mangrove_swamp"
- },
- "downfall": 0.9,
- "effects": {
- "fog_color": 12638463,
- "foliage_color": 9285927,
- "grass_color_modifier": "swamp",
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "music": {
- "max_delay": 24000,
- "min_delay": 12000,
- "replace_current_music": false,
- "sound": "minecraft:music.overworld.swamp"
- },
- "sky_color": 7907327,
- "water_color": 3832426,
- "water_fog_color": 5077600
- },
- "features": [
- "#minecraft:raw_generation/in_biome/mangrove_swamp",
- "#minecraft:lakes/in_biome/mangrove_swamp",
- "#minecraft:local_modifications/in_biome/mangrove_swamp",
- "#minecraft:underground_structures/in_biome/mangrove_swamp",
- "#minecraft:surface_structures/in_biome/mangrove_swamp",
- "#minecraft:strongholds/in_biome/mangrove_swamp",
- "#minecraft:underground_ores/in_biome/mangrove_swamp",
- "#minecraft:underground_decoration/in_biome/mangrove_swamp",
- "#minecraft:fluid_springs/in_biome/mangrove_swamp",
- "#minecraft:vegetal_decoration/in_biome/mangrove_swamp",
- "#minecraft:top_layer_modification/in_biome/mangrove_swamp"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:frog",
- "maxCount": 5,
- "minCount": 2,
- "weight": 10
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:slime",
- "maxCount": 1,
- "minCount": 1,
- "weight": 1
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [
- {
- "type": "minecraft:tropical_fish",
- "maxCount": 8,
- "minCount": 8,
- "weight": 25
- }
- ],
- "water_creature": []
- },
- "temperature": 0.8
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/meadow.json b/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/meadow.json
deleted file mode 100644
index cfbbbab29e..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/meadow.json
+++ /dev/null
@@ -1,133 +0,0 @@
-{
- "carvers": {
- "air": "#minecraft:air/in_biome/meadow",
- "liquid": "#minecraft:liquid/in_biome/meadow"
- },
- "downfall": 0.8,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "music": {
- "max_delay": 24000,
- "min_delay": 12000,
- "replace_current_music": false,
- "sound": "minecraft:music.overworld.meadow"
- },
- "sky_color": 8103167,
- "water_color": 937679,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/meadow",
- "#minecraft:lakes/in_biome/meadow",
- "#minecraft:local_modifications/in_biome/meadow",
- "#minecraft:underground_structures/in_biome/meadow",
- "#minecraft:surface_structures/in_biome/meadow",
- "#minecraft:strongholds/in_biome/meadow",
- "#minecraft:underground_ores/in_biome/meadow",
- "#minecraft:underground_decoration/in_biome/meadow",
- "#minecraft:fluid_springs/in_biome/meadow",
- "#minecraft:vegetal_decoration/in_biome/meadow",
- "#minecraft:top_layer_modification/in_biome/meadow"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:donkey",
- "maxCount": 2,
- "minCount": 1,
- "weight": 1
- },
- {
- "type": "minecraft:rabbit",
- "maxCount": 6,
- "minCount": 2,
- "weight": 2
- },
- {
- "type": "minecraft:sheep",
- "maxCount": 4,
- "minCount": 2,
- "weight": 2
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 0.5
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/mushroom_fields.json b/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/mushroom_fields.json
deleted file mode 100644
index a4ec4d4ef8..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/mushroom_fields.json
+++ /dev/null
@@ -1,66 +0,0 @@
-{
- "carvers": {
- "air": "#minecraft:air/in_biome/mushroom_fields",
- "liquid": "#minecraft:liquid/in_biome/mushroom_fields"
- },
- "downfall": 1.0,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "sky_color": 7842047,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/mushroom_fields",
- "#minecraft:lakes/in_biome/mushroom_fields",
- "#minecraft:local_modifications/in_biome/mushroom_fields",
- "#minecraft:underground_structures/in_biome/mushroom_fields",
- "#minecraft:surface_structures/in_biome/mushroom_fields",
- "#minecraft:strongholds/in_biome/mushroom_fields",
- "#minecraft:underground_ores/in_biome/mushroom_fields",
- "#minecraft:underground_decoration/in_biome/mushroom_fields",
- "#minecraft:fluid_springs/in_biome/mushroom_fields",
- "#minecraft:vegetal_decoration/in_biome/mushroom_fields",
- "#minecraft:top_layer_modification/in_biome/mushroom_fields"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:mooshroom",
- "maxCount": 8,
- "minCount": 4,
- "weight": 8
- }
- ],
- "misc": [],
- "monster": [],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 0.9
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/nether_wastes.json b/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/nether_wastes.json
deleted file mode 100644
index 8d16284968..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/nether_wastes.json
+++ /dev/null
@@ -1,94 +0,0 @@
-{
- "carvers": {
- "air": "#minecraft:air/in_biome/nether_wastes",
- "liquid": "#minecraft:liquid/in_biome/nether_wastes"
- },
- "downfall": 0.0,
- "effects": {
- "additions_sound": {
- "sound": "minecraft:ambient.nether_wastes.additions",
- "tick_chance": 0.0111
- },
- "ambient_sound": "minecraft:ambient.nether_wastes.loop",
- "fog_color": 3344392,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.nether_wastes.mood",
- "tick_delay": 6000
- },
- "music": {
- "max_delay": 24000,
- "min_delay": 12000,
- "replace_current_music": false,
- "sound": "minecraft:music.nether.nether_wastes"
- },
- "sky_color": 7254527,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/nether_wastes",
- "#minecraft:lakes/in_biome/nether_wastes",
- "#minecraft:local_modifications/in_biome/nether_wastes",
- "#minecraft:underground_structures/in_biome/nether_wastes",
- "#minecraft:surface_structures/in_biome/nether_wastes",
- "#minecraft:strongholds/in_biome/nether_wastes",
- "#minecraft:underground_ores/in_biome/nether_wastes",
- "#minecraft:underground_decoration/in_biome/nether_wastes",
- "#minecraft:fluid_springs/in_biome/nether_wastes",
- "#minecraft:vegetal_decoration/in_biome/nether_wastes",
- "#minecraft:top_layer_modification/in_biome/nether_wastes"
- ],
- "has_precipitation": false,
- "spawn_costs": {},
- "spawners": {
- "ambient": [],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:strider",
- "maxCount": 2,
- "minCount": 1,
- "weight": 60
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:ghast",
- "maxCount": 4,
- "minCount": 4,
- "weight": 50
- },
- {
- "type": "minecraft:zombified_piglin",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:magma_cube",
- "maxCount": 4,
- "minCount": 4,
- "weight": 2
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 4,
- "weight": 1
- },
- {
- "type": "minecraft:piglin",
- "maxCount": 4,
- "minCount": 4,
- "weight": 15
- }
- ],
- "underground_water_creature": [],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 2.0
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/ocean.json
deleted file mode 100644
index 5e52f85dda..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/ocean.json
+++ /dev/null
@@ -1,134 +0,0 @@
-{
- "carvers": {
- "air": "#minecraft:air/in_biome/ocean",
- "liquid": "#minecraft:liquid/in_biome/ocean"
- },
- "downfall": 0.5,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "sky_color": 8103167,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/ocean",
- "#minecraft:lakes/in_biome/ocean",
- "#minecraft:local_modifications/in_biome/ocean",
- "#minecraft:underground_structures/in_biome/ocean",
- "#minecraft:surface_structures/in_biome/ocean",
- "#minecraft:strongholds/in_biome/ocean",
- "#minecraft:underground_ores/in_biome/ocean",
- "#minecraft:underground_decoration/in_biome/ocean",
- "#minecraft:fluid_springs/in_biome/ocean",
- "#minecraft:vegetal_decoration/in_biome/ocean",
- "#minecraft:top_layer_modification/in_biome/ocean"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:drowned",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [
- {
- "type": "minecraft:cod",
- "maxCount": 6,
- "minCount": 3,
- "weight": 10
- }
- ],
- "water_creature": [
- {
- "type": "minecraft:squid",
- "maxCount": 4,
- "minCount": 1,
- "weight": 1
- },
- {
- "type": "minecraft:dolphin",
- "maxCount": 2,
- "minCount": 1,
- "weight": 1
- }
- ]
- },
- "temperature": 0.5
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/old_growth_birch_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/old_growth_birch_forest.json
deleted file mode 100644
index 0c9b2ad5ad..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/old_growth_birch_forest.json
+++ /dev/null
@@ -1,139 +0,0 @@
-{
- "carvers": {
- "air": "#minecraft:air/in_biome/old_growth_birch_forest",
- "liquid": "#minecraft:liquid/in_biome/old_growth_birch_forest"
- },
- "downfall": 0.6,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "music": {
- "max_delay": 24000,
- "min_delay": 12000,
- "replace_current_music": false,
- "sound": "minecraft:music.overworld.forest"
- },
- "sky_color": 8037887,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/old_growth_birch_forest",
- "#minecraft:lakes/in_biome/old_growth_birch_forest",
- "#minecraft:local_modifications/in_biome/old_growth_birch_forest",
- "#minecraft:underground_structures/in_biome/old_growth_birch_forest",
- "#minecraft:surface_structures/in_biome/old_growth_birch_forest",
- "#minecraft:strongholds/in_biome/old_growth_birch_forest",
- "#minecraft:underground_ores/in_biome/old_growth_birch_forest",
- "#minecraft:underground_decoration/in_biome/old_growth_birch_forest",
- "#minecraft:fluid_springs/in_biome/old_growth_birch_forest",
- "#minecraft:vegetal_decoration/in_biome/old_growth_birch_forest",
- "#minecraft:top_layer_modification/in_biome/old_growth_birch_forest"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:sheep",
- "maxCount": 4,
- "minCount": 4,
- "weight": 12
- },
- {
- "type": "minecraft:pig",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:chicken",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:cow",
- "maxCount": 4,
- "minCount": 4,
- "weight": 8
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 0.6
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/old_growth_pine_taiga.json b/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/old_growth_pine_taiga.json
deleted file mode 100644
index cb3946fd26..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/old_growth_pine_taiga.json
+++ /dev/null
@@ -1,157 +0,0 @@
-{
- "carvers": {
- "air": "#minecraft:air/in_biome/old_growth_pine_taiga",
- "liquid": "#minecraft:liquid/in_biome/old_growth_pine_taiga"
- },
- "downfall": 0.8,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "music": {
- "max_delay": 24000,
- "min_delay": 12000,
- "replace_current_music": false,
- "sound": "minecraft:music.overworld.old_growth_taiga"
- },
- "sky_color": 8168447,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/old_growth_pine_taiga",
- "#minecraft:lakes/in_biome/old_growth_pine_taiga",
- "#minecraft:local_modifications/in_biome/old_growth_pine_taiga",
- "#minecraft:underground_structures/in_biome/old_growth_pine_taiga",
- "#minecraft:surface_structures/in_biome/old_growth_pine_taiga",
- "#minecraft:strongholds/in_biome/old_growth_pine_taiga",
- "#minecraft:underground_ores/in_biome/old_growth_pine_taiga",
- "#minecraft:underground_decoration/in_biome/old_growth_pine_taiga",
- "#minecraft:fluid_springs/in_biome/old_growth_pine_taiga",
- "#minecraft:vegetal_decoration/in_biome/old_growth_pine_taiga",
- "#minecraft:top_layer_modification/in_biome/old_growth_pine_taiga"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:sheep",
- "maxCount": 4,
- "minCount": 4,
- "weight": 12
- },
- {
- "type": "minecraft:pig",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:chicken",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:cow",
- "maxCount": 4,
- "minCount": 4,
- "weight": 8
- },
- {
- "type": "minecraft:wolf",
- "maxCount": 4,
- "minCount": 4,
- "weight": 8
- },
- {
- "type": "minecraft:rabbit",
- "maxCount": 3,
- "minCount": 2,
- "weight": 4
- },
- {
- "type": "minecraft:fox",
- "maxCount": 4,
- "minCount": 2,
- "weight": 8
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 25
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 0.3
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/old_growth_spruce_taiga.json b/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/old_growth_spruce_taiga.json
deleted file mode 100644
index 8435426a37..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/old_growth_spruce_taiga.json
+++ /dev/null
@@ -1,157 +0,0 @@
-{
- "carvers": {
- "air": "#minecraft:air/in_biome/old_growth_spruce_taiga",
- "liquid": "#minecraft:liquid/in_biome/old_growth_spruce_taiga"
- },
- "downfall": 0.8,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "music": {
- "max_delay": 24000,
- "min_delay": 12000,
- "replace_current_music": false,
- "sound": "minecraft:music.overworld.old_growth_taiga"
- },
- "sky_color": 8233983,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/old_growth_spruce_taiga",
- "#minecraft:lakes/in_biome/old_growth_spruce_taiga",
- "#minecraft:local_modifications/in_biome/old_growth_spruce_taiga",
- "#minecraft:underground_structures/in_biome/old_growth_spruce_taiga",
- "#minecraft:surface_structures/in_biome/old_growth_spruce_taiga",
- "#minecraft:strongholds/in_biome/old_growth_spruce_taiga",
- "#minecraft:underground_ores/in_biome/old_growth_spruce_taiga",
- "#minecraft:underground_decoration/in_biome/old_growth_spruce_taiga",
- "#minecraft:fluid_springs/in_biome/old_growth_spruce_taiga",
- "#minecraft:vegetal_decoration/in_biome/old_growth_spruce_taiga",
- "#minecraft:top_layer_modification/in_biome/old_growth_spruce_taiga"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:sheep",
- "maxCount": 4,
- "minCount": 4,
- "weight": 12
- },
- {
- "type": "minecraft:pig",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:chicken",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:cow",
- "maxCount": 4,
- "minCount": 4,
- "weight": 8
- },
- {
- "type": "minecraft:wolf",
- "maxCount": 4,
- "minCount": 4,
- "weight": 8
- },
- {
- "type": "minecraft:rabbit",
- "maxCount": 3,
- "minCount": 2,
- "weight": 4
- },
- {
- "type": "minecraft:fox",
- "maxCount": 4,
- "minCount": 2,
- "weight": 8
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 0.25
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/plains.json b/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/plains.json
deleted file mode 100644
index 9a4de18e05..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/plains.json
+++ /dev/null
@@ -1,145 +0,0 @@
-{
- "carvers": {
- "air": "#minecraft:air/in_biome/plains",
- "liquid": "#minecraft:liquid/in_biome/plains"
- },
- "downfall": 0.4,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "sky_color": 7907327,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/plains",
- "#minecraft:lakes/in_biome/plains",
- "#minecraft:local_modifications/in_biome/plains",
- "#minecraft:underground_structures/in_biome/plains",
- "#minecraft:surface_structures/in_biome/plains",
- "#minecraft:strongholds/in_biome/plains",
- "#minecraft:underground_ores/in_biome/plains",
- "#minecraft:underground_decoration/in_biome/plains",
- "#minecraft:fluid_springs/in_biome/plains",
- "#minecraft:vegetal_decoration/in_biome/plains",
- "#minecraft:top_layer_modification/in_biome/plains"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:sheep",
- "maxCount": 4,
- "minCount": 4,
- "weight": 12
- },
- {
- "type": "minecraft:pig",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:chicken",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:cow",
- "maxCount": 4,
- "minCount": 4,
- "weight": 8
- },
- {
- "type": "minecraft:horse",
- "maxCount": 6,
- "minCount": 2,
- "weight": 5
- },
- {
- "type": "minecraft:donkey",
- "maxCount": 3,
- "minCount": 1,
- "weight": 1
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 0.8
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/river.json b/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/river.json
deleted file mode 100644
index 16774a8c3e..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/river.json
+++ /dev/null
@@ -1,128 +0,0 @@
-{
- "carvers": {
- "air": "#minecraft:air/in_biome/river",
- "liquid": "#minecraft:liquid/in_biome/river"
- },
- "downfall": 0.5,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "sky_color": 8103167,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/river",
- "#minecraft:lakes/in_biome/river",
- "#minecraft:local_modifications/in_biome/river",
- "#minecraft:underground_structures/in_biome/river",
- "#minecraft:surface_structures/in_biome/river",
- "#minecraft:strongholds/in_biome/river",
- "#minecraft:underground_ores/in_biome/river",
- "#minecraft:underground_decoration/in_biome/river",
- "#minecraft:fluid_springs/in_biome/river",
- "#minecraft:vegetal_decoration/in_biome/river",
- "#minecraft:top_layer_modification/in_biome/river"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:drowned",
- "maxCount": 1,
- "minCount": 1,
- "weight": 100
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [
- {
- "type": "minecraft:salmon",
- "maxCount": 5,
- "minCount": 1,
- "weight": 5
- }
- ],
- "water_creature": [
- {
- "type": "minecraft:squid",
- "maxCount": 4,
- "minCount": 1,
- "weight": 2
- }
- ]
- },
- "temperature": 0.5
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/savanna.json b/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/savanna.json
deleted file mode 100644
index ac0f8ed5ab..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/savanna.json
+++ /dev/null
@@ -1,151 +0,0 @@
-{
- "carvers": {
- "air": "#minecraft:air/in_biome/savanna",
- "liquid": "#minecraft:liquid/in_biome/savanna"
- },
- "downfall": 0.0,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "sky_color": 7254527,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/savanna",
- "#minecraft:lakes/in_biome/savanna",
- "#minecraft:local_modifications/in_biome/savanna",
- "#minecraft:underground_structures/in_biome/savanna",
- "#minecraft:surface_structures/in_biome/savanna",
- "#minecraft:strongholds/in_biome/savanna",
- "#minecraft:underground_ores/in_biome/savanna",
- "#minecraft:underground_decoration/in_biome/savanna",
- "#minecraft:fluid_springs/in_biome/savanna",
- "#minecraft:vegetal_decoration/in_biome/savanna",
- "#minecraft:top_layer_modification/in_biome/savanna"
- ],
- "has_precipitation": false,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:sheep",
- "maxCount": 4,
- "minCount": 4,
- "weight": 12
- },
- {
- "type": "minecraft:pig",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:chicken",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:cow",
- "maxCount": 4,
- "minCount": 4,
- "weight": 8
- },
- {
- "type": "minecraft:horse",
- "maxCount": 6,
- "minCount": 2,
- "weight": 1
- },
- {
- "type": "minecraft:donkey",
- "maxCount": 1,
- "minCount": 1,
- "weight": 1
- },
- {
- "type": "minecraft:armadillo",
- "maxCount": 3,
- "minCount": 2,
- "weight": 10
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 2.0
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/savanna_plateau.json b/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/savanna_plateau.json
deleted file mode 100644
index ac7df184a1..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/savanna_plateau.json
+++ /dev/null
@@ -1,163 +0,0 @@
-{
- "carvers": {
- "air": "#minecraft:air/in_biome/savanna_plateau",
- "liquid": "#minecraft:liquid/in_biome/savanna_plateau"
- },
- "downfall": 0.0,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "sky_color": 7254527,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/savanna_plateau",
- "#minecraft:lakes/in_biome/savanna_plateau",
- "#minecraft:local_modifications/in_biome/savanna_plateau",
- "#minecraft:underground_structures/in_biome/savanna_plateau",
- "#minecraft:surface_structures/in_biome/savanna_plateau",
- "#minecraft:strongholds/in_biome/savanna_plateau",
- "#minecraft:underground_ores/in_biome/savanna_plateau",
- "#minecraft:underground_decoration/in_biome/savanna_plateau",
- "#minecraft:fluid_springs/in_biome/savanna_plateau",
- "#minecraft:vegetal_decoration/in_biome/savanna_plateau",
- "#minecraft:top_layer_modification/in_biome/savanna_plateau"
- ],
- "has_precipitation": false,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:sheep",
- "maxCount": 4,
- "minCount": 4,
- "weight": 12
- },
- {
- "type": "minecraft:pig",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:chicken",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:cow",
- "maxCount": 4,
- "minCount": 4,
- "weight": 8
- },
- {
- "type": "minecraft:horse",
- "maxCount": 6,
- "minCount": 2,
- "weight": 1
- },
- {
- "type": "minecraft:donkey",
- "maxCount": 1,
- "minCount": 1,
- "weight": 1
- },
- {
- "type": "minecraft:armadillo",
- "maxCount": 3,
- "minCount": 2,
- "weight": 10
- },
- {
- "type": "minecraft:llama",
- "maxCount": 4,
- "minCount": 4,
- "weight": 8
- },
- {
- "type": "minecraft:wolf",
- "maxCount": 8,
- "minCount": 4,
- "weight": 8
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 2.0
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/small_end_islands.json b/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/small_end_islands.json
deleted file mode 100644
index d27c76e411..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/small_end_islands.json
+++ /dev/null
@@ -1,52 +0,0 @@
-{
- "carvers": {
- "air": "#minecraft:air/in_biome/small_end_islands",
- "liquid": "#minecraft:liquid/in_biome/small_end_islands"
- },
- "downfall": 0.5,
- "effects": {
- "fog_color": 10518688,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "sky_color": 0,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/small_end_islands",
- "#minecraft:lakes/in_biome/small_end_islands",
- "#minecraft:local_modifications/in_biome/small_end_islands",
- "#minecraft:underground_structures/in_biome/small_end_islands",
- "#minecraft:surface_structures/in_biome/small_end_islands",
- "#minecraft:strongholds/in_biome/small_end_islands",
- "#minecraft:underground_ores/in_biome/small_end_islands",
- "#minecraft:underground_decoration/in_biome/small_end_islands",
- "#minecraft:fluid_springs/in_biome/small_end_islands",
- "#minecraft:vegetal_decoration/in_biome/small_end_islands",
- "#minecraft:top_layer_modification/in_biome/small_end_islands"
- ],
- "has_precipitation": false,
- "spawn_costs": {},
- "spawners": {
- "ambient": [],
- "axolotls": [],
- "creature": [],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- }
- ],
- "underground_water_creature": [],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 0.5
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/snowy_beach.json b/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/snowy_beach.json
deleted file mode 100644
index ed18a4ebf8..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/snowy_beach.json
+++ /dev/null
@@ -1,108 +0,0 @@
-{
- "carvers": {
- "air": "#minecraft:air/in_biome/snowy_beach",
- "liquid": "#minecraft:liquid/in_biome/snowy_beach"
- },
- "downfall": 0.3,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "sky_color": 8364543,
- "water_color": 4020182,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/snowy_beach",
- "#minecraft:lakes/in_biome/snowy_beach",
- "#minecraft:local_modifications/in_biome/snowy_beach",
- "#minecraft:underground_structures/in_biome/snowy_beach",
- "#minecraft:surface_structures/in_biome/snowy_beach",
- "#minecraft:strongholds/in_biome/snowy_beach",
- "#minecraft:underground_ores/in_biome/snowy_beach",
- "#minecraft:underground_decoration/in_biome/snowy_beach",
- "#minecraft:fluid_springs/in_biome/snowy_beach",
- "#minecraft:vegetal_decoration/in_biome/snowy_beach",
- "#minecraft:top_layer_modification/in_biome/snowy_beach"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 0.05
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/snowy_plains.json b/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/snowy_plains.json
deleted file mode 100644
index 7832cc6f6a..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/snowy_plains.json
+++ /dev/null
@@ -1,128 +0,0 @@
-{
- "carvers": {
- "air": "#minecraft:air/in_biome/snowy_plains",
- "liquid": "#minecraft:liquid/in_biome/snowy_plains"
- },
- "creature_spawn_probability": 0.07,
- "downfall": 0.5,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "sky_color": 8364543,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/snowy_plains",
- "#minecraft:lakes/in_biome/snowy_plains",
- "#minecraft:local_modifications/in_biome/snowy_plains",
- "#minecraft:underground_structures/in_biome/snowy_plains",
- "#minecraft:surface_structures/in_biome/snowy_plains",
- "#minecraft:strongholds/in_biome/snowy_plains",
- "#minecraft:underground_ores/in_biome/snowy_plains",
- "#minecraft:underground_decoration/in_biome/snowy_plains",
- "#minecraft:fluid_springs/in_biome/snowy_plains",
- "#minecraft:vegetal_decoration/in_biome/snowy_plains",
- "#minecraft:top_layer_modification/in_biome/snowy_plains"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:rabbit",
- "maxCount": 3,
- "minCount": 2,
- "weight": 10
- },
- {
- "type": "minecraft:polar_bear",
- "maxCount": 2,
- "minCount": 1,
- "weight": 1
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 20
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:stray",
- "maxCount": 4,
- "minCount": 4,
- "weight": 80
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 0.0
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/snowy_slopes.json b/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/snowy_slopes.json
deleted file mode 100644
index 04f6e76848..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/snowy_slopes.json
+++ /dev/null
@@ -1,127 +0,0 @@
-{
- "carvers": {
- "air": "#minecraft:air/in_biome/snowy_slopes",
- "liquid": "#minecraft:liquid/in_biome/snowy_slopes"
- },
- "downfall": 0.9,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "music": {
- "max_delay": 24000,
- "min_delay": 12000,
- "replace_current_music": false,
- "sound": "minecraft:music.overworld.snowy_slopes"
- },
- "sky_color": 8560639,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/snowy_slopes",
- "#minecraft:lakes/in_biome/snowy_slopes",
- "#minecraft:local_modifications/in_biome/snowy_slopes",
- "#minecraft:underground_structures/in_biome/snowy_slopes",
- "#minecraft:surface_structures/in_biome/snowy_slopes",
- "#minecraft:strongholds/in_biome/snowy_slopes",
- "#minecraft:underground_ores/in_biome/snowy_slopes",
- "#minecraft:underground_decoration/in_biome/snowy_slopes",
- "#minecraft:fluid_springs/in_biome/snowy_slopes",
- "#minecraft:vegetal_decoration/in_biome/snowy_slopes",
- "#minecraft:top_layer_modification/in_biome/snowy_slopes"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:rabbit",
- "maxCount": 3,
- "minCount": 2,
- "weight": 4
- },
- {
- "type": "minecraft:goat",
- "maxCount": 3,
- "minCount": 1,
- "weight": 5
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": -0.3
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/snowy_taiga.json b/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/snowy_taiga.json
deleted file mode 100644
index a1a27d5a1f..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/snowy_taiga.json
+++ /dev/null
@@ -1,151 +0,0 @@
-{
- "carvers": {
- "air": "#minecraft:air/in_biome/snowy_taiga",
- "liquid": "#minecraft:liquid/in_biome/snowy_taiga"
- },
- "downfall": 0.4,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "sky_color": 8625919,
- "water_color": 4020182,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/snowy_taiga",
- "#minecraft:lakes/in_biome/snowy_taiga",
- "#minecraft:local_modifications/in_biome/snowy_taiga",
- "#minecraft:underground_structures/in_biome/snowy_taiga",
- "#minecraft:surface_structures/in_biome/snowy_taiga",
- "#minecraft:strongholds/in_biome/snowy_taiga",
- "#minecraft:underground_ores/in_biome/snowy_taiga",
- "#minecraft:underground_decoration/in_biome/snowy_taiga",
- "#minecraft:fluid_springs/in_biome/snowy_taiga",
- "#minecraft:vegetal_decoration/in_biome/snowy_taiga",
- "#minecraft:top_layer_modification/in_biome/snowy_taiga"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:sheep",
- "maxCount": 4,
- "minCount": 4,
- "weight": 12
- },
- {
- "type": "minecraft:pig",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:chicken",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:cow",
- "maxCount": 4,
- "minCount": 4,
- "weight": 8
- },
- {
- "type": "minecraft:wolf",
- "maxCount": 4,
- "minCount": 4,
- "weight": 8
- },
- {
- "type": "minecraft:rabbit",
- "maxCount": 3,
- "minCount": 2,
- "weight": 4
- },
- {
- "type": "minecraft:fox",
- "maxCount": 4,
- "minCount": 2,
- "weight": 8
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": -0.5
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/soul_sand_valley.json b/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/soul_sand_valley.json
deleted file mode 100644
index ce5ee45c7d..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/soul_sand_valley.json
+++ /dev/null
@@ -1,105 +0,0 @@
-{
- "carvers": {
- "air": "#minecraft:air/in_biome/soul_sand_valley",
- "liquid": "#minecraft:liquid/in_biome/soul_sand_valley"
- },
- "downfall": 0.0,
- "effects": {
- "additions_sound": {
- "sound": "minecraft:ambient.soul_sand_valley.additions",
- "tick_chance": 0.0111
- },
- "ambient_sound": "minecraft:ambient.soul_sand_valley.loop",
- "fog_color": 1787717,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.soul_sand_valley.mood",
- "tick_delay": 6000
- },
- "music": {
- "max_delay": 24000,
- "min_delay": 12000,
- "replace_current_music": false,
- "sound": "minecraft:music.nether.soul_sand_valley"
- },
- "particle": {
- "options": {
- "type": "minecraft:ash"
- },
- "probability": 0.00625
- },
- "sky_color": 7254527,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/soul_sand_valley",
- "#minecraft:lakes/in_biome/soul_sand_valley",
- "#minecraft:local_modifications/in_biome/soul_sand_valley",
- "#minecraft:underground_structures/in_biome/soul_sand_valley",
- "#minecraft:surface_structures/in_biome/soul_sand_valley",
- "#minecraft:strongholds/in_biome/soul_sand_valley",
- "#minecraft:underground_ores/in_biome/soul_sand_valley",
- "#minecraft:underground_decoration/in_biome/soul_sand_valley",
- "#minecraft:fluid_springs/in_biome/soul_sand_valley",
- "#minecraft:vegetal_decoration/in_biome/soul_sand_valley",
- "#minecraft:top_layer_modification/in_biome/soul_sand_valley"
- ],
- "has_precipitation": false,
- "spawn_costs": {
- "minecraft:enderman": {
- "charge": 0.7,
- "energy_budget": 0.15
- },
- "minecraft:ghast": {
- "charge": 0.7,
- "energy_budget": 0.15
- },
- "minecraft:skeleton": {
- "charge": 0.7,
- "energy_budget": 0.15
- },
- "minecraft:strider": {
- "charge": 0.7,
- "energy_budget": 0.15
- }
- },
- "spawners": {
- "ambient": [],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:strider",
- "maxCount": 2,
- "minCount": 1,
- "weight": 60
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:skeleton",
- "maxCount": 5,
- "minCount": 5,
- "weight": 20
- },
- {
- "type": "minecraft:ghast",
- "maxCount": 4,
- "minCount": 4,
- "weight": 50
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 4,
- "weight": 1
- }
- ],
- "underground_water_creature": [],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 2.0
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/sparse_jungle.json b/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/sparse_jungle.json
deleted file mode 100644
index 00a6609d8d..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/sparse_jungle.json
+++ /dev/null
@@ -1,151 +0,0 @@
-{
- "carvers": {
- "air": "#minecraft:air/in_biome/sparse_jungle",
- "liquid": "#minecraft:liquid/in_biome/sparse_jungle"
- },
- "downfall": 0.8,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "music": {
- "max_delay": 24000,
- "min_delay": 12000,
- "replace_current_music": false,
- "sound": "minecraft:music.overworld.sparse_jungle"
- },
- "sky_color": 7842047,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/sparse_jungle",
- "#minecraft:lakes/in_biome/sparse_jungle",
- "#minecraft:local_modifications/in_biome/sparse_jungle",
- "#minecraft:underground_structures/in_biome/sparse_jungle",
- "#minecraft:surface_structures/in_biome/sparse_jungle",
- "#minecraft:strongholds/in_biome/sparse_jungle",
- "#minecraft:underground_ores/in_biome/sparse_jungle",
- "#minecraft:underground_decoration/in_biome/sparse_jungle",
- "#minecraft:fluid_springs/in_biome/sparse_jungle",
- "#minecraft:vegetal_decoration/in_biome/sparse_jungle",
- "#minecraft:top_layer_modification/in_biome/sparse_jungle"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:sheep",
- "maxCount": 4,
- "minCount": 4,
- "weight": 12
- },
- {
- "type": "minecraft:pig",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:chicken",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:cow",
- "maxCount": 4,
- "minCount": 4,
- "weight": 8
- },
- {
- "type": "minecraft:chicken",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:wolf",
- "maxCount": 4,
- "minCount": 2,
- "weight": 8
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 0.95
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/stony_peaks.json b/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/stony_peaks.json
deleted file mode 100644
index 1d2a1ef07d..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/stony_peaks.json
+++ /dev/null
@@ -1,114 +0,0 @@
-{
- "carvers": {
- "air": "#minecraft:air/in_biome/stony_peaks",
- "liquid": "#minecraft:liquid/in_biome/stony_peaks"
- },
- "downfall": 0.3,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "music": {
- "max_delay": 24000,
- "min_delay": 12000,
- "replace_current_music": false,
- "sound": "minecraft:music.overworld.stony_peaks"
- },
- "sky_color": 7776511,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/stony_peaks",
- "#minecraft:lakes/in_biome/stony_peaks",
- "#minecraft:local_modifications/in_biome/stony_peaks",
- "#minecraft:underground_structures/in_biome/stony_peaks",
- "#minecraft:surface_structures/in_biome/stony_peaks",
- "#minecraft:strongholds/in_biome/stony_peaks",
- "#minecraft:underground_ores/in_biome/stony_peaks",
- "#minecraft:underground_decoration/in_biome/stony_peaks",
- "#minecraft:fluid_springs/in_biome/stony_peaks",
- "#minecraft:vegetal_decoration/in_biome/stony_peaks",
- "#minecraft:top_layer_modification/in_biome/stony_peaks"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 1.0
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/stony_shore.json b/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/stony_shore.json
deleted file mode 100644
index 573b4ca614..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/stony_shore.json
+++ /dev/null
@@ -1,108 +0,0 @@
-{
- "carvers": {
- "air": "#minecraft:air/in_biome/stony_shore",
- "liquid": "#minecraft:liquid/in_biome/stony_shore"
- },
- "downfall": 0.3,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "sky_color": 8233727,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/stony_shore",
- "#minecraft:lakes/in_biome/stony_shore",
- "#minecraft:local_modifications/in_biome/stony_shore",
- "#minecraft:underground_structures/in_biome/stony_shore",
- "#minecraft:surface_structures/in_biome/stony_shore",
- "#minecraft:strongholds/in_biome/stony_shore",
- "#minecraft:underground_ores/in_biome/stony_shore",
- "#minecraft:underground_decoration/in_biome/stony_shore",
- "#minecraft:fluid_springs/in_biome/stony_shore",
- "#minecraft:vegetal_decoration/in_biome/stony_shore",
- "#minecraft:top_layer_modification/in_biome/stony_shore"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 0.2
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/sunflower_plains.json b/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/sunflower_plains.json
deleted file mode 100644
index e2b8189d50..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/sunflower_plains.json
+++ /dev/null
@@ -1,145 +0,0 @@
-{
- "carvers": {
- "air": "#minecraft:air/in_biome/sunflower_plains",
- "liquid": "#minecraft:liquid/in_biome/sunflower_plains"
- },
- "downfall": 0.4,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "sky_color": 7907327,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/sunflower_plains",
- "#minecraft:lakes/in_biome/sunflower_plains",
- "#minecraft:local_modifications/in_biome/sunflower_plains",
- "#minecraft:underground_structures/in_biome/sunflower_plains",
- "#minecraft:surface_structures/in_biome/sunflower_plains",
- "#minecraft:strongholds/in_biome/sunflower_plains",
- "#minecraft:underground_ores/in_biome/sunflower_plains",
- "#minecraft:underground_decoration/in_biome/sunflower_plains",
- "#minecraft:fluid_springs/in_biome/sunflower_plains",
- "#minecraft:vegetal_decoration/in_biome/sunflower_plains",
- "#minecraft:top_layer_modification/in_biome/sunflower_plains"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:sheep",
- "maxCount": 4,
- "minCount": 4,
- "weight": 12
- },
- {
- "type": "minecraft:pig",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:chicken",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:cow",
- "maxCount": 4,
- "minCount": 4,
- "weight": 8
- },
- {
- "type": "minecraft:horse",
- "maxCount": 6,
- "minCount": 2,
- "weight": 5
- },
- {
- "type": "minecraft:donkey",
- "maxCount": 3,
- "minCount": 1,
- "weight": 1
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 0.8
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/swamp.json b/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/swamp.json
deleted file mode 100644
index 51b86d8b75..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/swamp.json
+++ /dev/null
@@ -1,153 +0,0 @@
-{
- "carvers": {
- "air": "#minecraft:air/in_biome/swamp",
- "liquid": "#minecraft:liquid/in_biome/swamp"
- },
- "downfall": 0.9,
- "effects": {
- "fog_color": 12638463,
- "foliage_color": 6975545,
- "grass_color_modifier": "swamp",
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "music": {
- "max_delay": 24000,
- "min_delay": 12000,
- "replace_current_music": false,
- "sound": "minecraft:music.overworld.swamp"
- },
- "sky_color": 7907327,
- "water_color": 6388580,
- "water_fog_color": 2302743
- },
- "features": [
- "#minecraft:raw_generation/in_biome/swamp",
- "#minecraft:lakes/in_biome/swamp",
- "#minecraft:local_modifications/in_biome/swamp",
- "#minecraft:underground_structures/in_biome/swamp",
- "#minecraft:surface_structures/in_biome/swamp",
- "#minecraft:strongholds/in_biome/swamp",
- "#minecraft:underground_ores/in_biome/swamp",
- "#minecraft:underground_decoration/in_biome/swamp",
- "#minecraft:fluid_springs/in_biome/swamp",
- "#minecraft:vegetal_decoration/in_biome/swamp",
- "#minecraft:top_layer_modification/in_biome/swamp"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:sheep",
- "maxCount": 4,
- "minCount": 4,
- "weight": 12
- },
- {
- "type": "minecraft:pig",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:chicken",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:cow",
- "maxCount": 4,
- "minCount": 4,
- "weight": 8
- },
- {
- "type": "minecraft:frog",
- "maxCount": 5,
- "minCount": 2,
- "weight": 10
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:slime",
- "maxCount": 1,
- "minCount": 1,
- "weight": 1
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 0.8
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/taiga.json b/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/taiga.json
deleted file mode 100644
index 563cb68cc1..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/taiga.json
+++ /dev/null
@@ -1,151 +0,0 @@
-{
- "carvers": {
- "air": "#minecraft:air/in_biome/taiga",
- "liquid": "#minecraft:liquid/in_biome/taiga"
- },
- "downfall": 0.8,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "sky_color": 8233983,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/taiga",
- "#minecraft:lakes/in_biome/taiga",
- "#minecraft:local_modifications/in_biome/taiga",
- "#minecraft:underground_structures/in_biome/taiga",
- "#minecraft:surface_structures/in_biome/taiga",
- "#minecraft:strongholds/in_biome/taiga",
- "#minecraft:underground_ores/in_biome/taiga",
- "#minecraft:underground_decoration/in_biome/taiga",
- "#minecraft:fluid_springs/in_biome/taiga",
- "#minecraft:vegetal_decoration/in_biome/taiga",
- "#minecraft:top_layer_modification/in_biome/taiga"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:sheep",
- "maxCount": 4,
- "minCount": 4,
- "weight": 12
- },
- {
- "type": "minecraft:pig",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:chicken",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:cow",
- "maxCount": 4,
- "minCount": 4,
- "weight": 8
- },
- {
- "type": "minecraft:wolf",
- "maxCount": 4,
- "minCount": 4,
- "weight": 8
- },
- {
- "type": "minecraft:rabbit",
- "maxCount": 3,
- "minCount": 2,
- "weight": 4
- },
- {
- "type": "minecraft:fox",
- "maxCount": 4,
- "minCount": 2,
- "weight": 8
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 0.25
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/the_end.json b/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/the_end.json
deleted file mode 100644
index 8744bcae4c..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/the_end.json
+++ /dev/null
@@ -1,52 +0,0 @@
-{
- "carvers": {
- "air": "#minecraft:air/in_biome/the_end",
- "liquid": "#minecraft:liquid/in_biome/the_end"
- },
- "downfall": 0.5,
- "effects": {
- "fog_color": 10518688,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "sky_color": 0,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/the_end",
- "#minecraft:lakes/in_biome/the_end",
- "#minecraft:local_modifications/in_biome/the_end",
- "#minecraft:underground_structures/in_biome/the_end",
- "#minecraft:surface_structures/in_biome/the_end",
- "#minecraft:strongholds/in_biome/the_end",
- "#minecraft:underground_ores/in_biome/the_end",
- "#minecraft:underground_decoration/in_biome/the_end",
- "#minecraft:fluid_springs/in_biome/the_end",
- "#minecraft:vegetal_decoration/in_biome/the_end",
- "#minecraft:top_layer_modification/in_biome/the_end"
- ],
- "has_precipitation": false,
- "spawn_costs": {},
- "spawners": {
- "ambient": [],
- "axolotls": [],
- "creature": [],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- }
- ],
- "underground_water_creature": [],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 0.5
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/the_void.json b/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/the_void.json
deleted file mode 100644
index 723781ec2a..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/the_void.json
+++ /dev/null
@@ -1,45 +0,0 @@
-{
- "carvers": {
- "air": "#minecraft:air/in_biome/the_void",
- "liquid": "#minecraft:liquid/in_biome/the_void"
- },
- "downfall": 0.5,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "sky_color": 8103167,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/the_void",
- "#minecraft:lakes/in_biome/the_void",
- "#minecraft:local_modifications/in_biome/the_void",
- "#minecraft:underground_structures/in_biome/the_void",
- "#minecraft:surface_structures/in_biome/the_void",
- "#minecraft:strongholds/in_biome/the_void",
- "#minecraft:underground_ores/in_biome/the_void",
- "#minecraft:underground_decoration/in_biome/the_void",
- "#minecraft:fluid_springs/in_biome/the_void",
- "#minecraft:vegetal_decoration/in_biome/the_void",
- "#minecraft:top_layer_modification/in_biome/the_void"
- ],
- "has_precipitation": false,
- "spawn_costs": {},
- "spawners": {
- "ambient": [],
- "axolotls": [],
- "creature": [],
- "misc": [],
- "monster": [],
- "underground_water_creature": [],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 0.5
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/warm_ocean.json b/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/warm_ocean.json
deleted file mode 100644
index 34fc008152..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/warm_ocean.json
+++ /dev/null
@@ -1,140 +0,0 @@
-{
- "carvers": {
- "air": "#minecraft:air/in_biome/warm_ocean",
- "liquid": "#minecraft:liquid/in_biome/warm_ocean"
- },
- "downfall": 0.5,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "sky_color": 8103167,
- "water_color": 4445678,
- "water_fog_color": 270131
- },
- "features": [
- "#minecraft:raw_generation/in_biome/warm_ocean",
- "#minecraft:lakes/in_biome/warm_ocean",
- "#minecraft:local_modifications/in_biome/warm_ocean",
- "#minecraft:underground_structures/in_biome/warm_ocean",
- "#minecraft:surface_structures/in_biome/warm_ocean",
- "#minecraft:strongholds/in_biome/warm_ocean",
- "#minecraft:underground_ores/in_biome/warm_ocean",
- "#minecraft:underground_decoration/in_biome/warm_ocean",
- "#minecraft:fluid_springs/in_biome/warm_ocean",
- "#minecraft:vegetal_decoration/in_biome/warm_ocean",
- "#minecraft:top_layer_modification/in_biome/warm_ocean"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:drowned",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [
- {
- "type": "minecraft:pufferfish",
- "maxCount": 3,
- "minCount": 1,
- "weight": 15
- },
- {
- "type": "minecraft:tropical_fish",
- "maxCount": 8,
- "minCount": 8,
- "weight": 25
- }
- ],
- "water_creature": [
- {
- "type": "minecraft:squid",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:dolphin",
- "maxCount": 2,
- "minCount": 1,
- "weight": 2
- }
- ]
- },
- "temperature": 0.5
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/warped_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/warped_forest.json
deleted file mode 100644
index 44665203c0..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/warped_forest.json
+++ /dev/null
@@ -1,81 +0,0 @@
-{
- "carvers": {
- "air": "#minecraft:air/in_biome/warped_forest",
- "liquid": "#minecraft:liquid/in_biome/warped_forest"
- },
- "downfall": 0.0,
- "effects": {
- "additions_sound": {
- "sound": "minecraft:ambient.warped_forest.additions",
- "tick_chance": 0.0111
- },
- "ambient_sound": "minecraft:ambient.warped_forest.loop",
- "fog_color": 1705242,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.warped_forest.mood",
- "tick_delay": 6000
- },
- "music": {
- "max_delay": 24000,
- "min_delay": 12000,
- "replace_current_music": false,
- "sound": "minecraft:music.nether.warped_forest"
- },
- "particle": {
- "options": {
- "type": "minecraft:warped_spore"
- },
- "probability": 0.01428
- },
- "sky_color": 7254527,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/warped_forest",
- "#minecraft:lakes/in_biome/warped_forest",
- "#minecraft:local_modifications/in_biome/warped_forest",
- "#minecraft:underground_structures/in_biome/warped_forest",
- "#minecraft:surface_structures/in_biome/warped_forest",
- "#minecraft:strongholds/in_biome/warped_forest",
- "#minecraft:underground_ores/in_biome/warped_forest",
- "#minecraft:underground_decoration/in_biome/warped_forest",
- "#minecraft:fluid_springs/in_biome/warped_forest",
- "#minecraft:vegetal_decoration/in_biome/warped_forest",
- "#minecraft:top_layer_modification/in_biome/warped_forest"
- ],
- "has_precipitation": false,
- "spawn_costs": {
- "minecraft:enderman": {
- "charge": 1.0,
- "energy_budget": 0.12
- }
- },
- "spawners": {
- "ambient": [],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:strider",
- "maxCount": 2,
- "minCount": 1,
- "weight": 60
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 4,
- "weight": 1
- }
- ],
- "underground_water_creature": [],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 2.0
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/windswept_forest.json b/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/windswept_forest.json
deleted file mode 100644
index 105ac88701..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/windswept_forest.json
+++ /dev/null
@@ -1,139 +0,0 @@
-{
- "carvers": {
- "air": "#minecraft:air/in_biome/windswept_forest",
- "liquid": "#minecraft:liquid/in_biome/windswept_forest"
- },
- "downfall": 0.3,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "sky_color": 8233727,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/windswept_forest",
- "#minecraft:lakes/in_biome/windswept_forest",
- "#minecraft:local_modifications/in_biome/windswept_forest",
- "#minecraft:underground_structures/in_biome/windswept_forest",
- "#minecraft:surface_structures/in_biome/windswept_forest",
- "#minecraft:strongholds/in_biome/windswept_forest",
- "#minecraft:underground_ores/in_biome/windswept_forest",
- "#minecraft:underground_decoration/in_biome/windswept_forest",
- "#minecraft:fluid_springs/in_biome/windswept_forest",
- "#minecraft:vegetal_decoration/in_biome/windswept_forest",
- "#minecraft:top_layer_modification/in_biome/windswept_forest"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:sheep",
- "maxCount": 4,
- "minCount": 4,
- "weight": 12
- },
- {
- "type": "minecraft:pig",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:chicken",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:cow",
- "maxCount": 4,
- "minCount": 4,
- "weight": 8
- },
- {
- "type": "minecraft:llama",
- "maxCount": 6,
- "minCount": 4,
- "weight": 5
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 0.2
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/windswept_gravelly_hills.json b/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/windswept_gravelly_hills.json
deleted file mode 100644
index 10792a5468..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/windswept_gravelly_hills.json
+++ /dev/null
@@ -1,139 +0,0 @@
-{
- "carvers": {
- "air": "#minecraft:air/in_biome/windswept_gravelly_hills",
- "liquid": "#minecraft:liquid/in_biome/windswept_gravelly_hills"
- },
- "downfall": 0.3,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "sky_color": 8233727,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/windswept_gravelly_hills",
- "#minecraft:lakes/in_biome/windswept_gravelly_hills",
- "#minecraft:local_modifications/in_biome/windswept_gravelly_hills",
- "#minecraft:underground_structures/in_biome/windswept_gravelly_hills",
- "#minecraft:surface_structures/in_biome/windswept_gravelly_hills",
- "#minecraft:strongholds/in_biome/windswept_gravelly_hills",
- "#minecraft:underground_ores/in_biome/windswept_gravelly_hills",
- "#minecraft:underground_decoration/in_biome/windswept_gravelly_hills",
- "#minecraft:fluid_springs/in_biome/windswept_gravelly_hills",
- "#minecraft:vegetal_decoration/in_biome/windswept_gravelly_hills",
- "#minecraft:top_layer_modification/in_biome/windswept_gravelly_hills"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:sheep",
- "maxCount": 4,
- "minCount": 4,
- "weight": 12
- },
- {
- "type": "minecraft:pig",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:chicken",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:cow",
- "maxCount": 4,
- "minCount": 4,
- "weight": 8
- },
- {
- "type": "minecraft:llama",
- "maxCount": 6,
- "minCount": 4,
- "weight": 5
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 0.2
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/windswept_hills.json b/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/windswept_hills.json
deleted file mode 100644
index 2e587b1d5f..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/windswept_hills.json
+++ /dev/null
@@ -1,139 +0,0 @@
-{
- "carvers": {
- "air": "#minecraft:air/in_biome/windswept_hills",
- "liquid": "#minecraft:liquid/in_biome/windswept_hills"
- },
- "downfall": 0.3,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "sky_color": 8233727,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/windswept_hills",
- "#minecraft:lakes/in_biome/windswept_hills",
- "#minecraft:local_modifications/in_biome/windswept_hills",
- "#minecraft:underground_structures/in_biome/windswept_hills",
- "#minecraft:surface_structures/in_biome/windswept_hills",
- "#minecraft:strongholds/in_biome/windswept_hills",
- "#minecraft:underground_ores/in_biome/windswept_hills",
- "#minecraft:underground_decoration/in_biome/windswept_hills",
- "#minecraft:fluid_springs/in_biome/windswept_hills",
- "#minecraft:vegetal_decoration/in_biome/windswept_hills",
- "#minecraft:top_layer_modification/in_biome/windswept_hills"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:sheep",
- "maxCount": 4,
- "minCount": 4,
- "weight": 12
- },
- {
- "type": "minecraft:pig",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:chicken",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:cow",
- "maxCount": 4,
- "minCount": 4,
- "weight": 8
- },
- {
- "type": "minecraft:llama",
- "maxCount": 6,
- "minCount": 4,
- "weight": 5
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 0.2
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/windswept_savanna.json b/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/windswept_savanna.json
deleted file mode 100644
index d3fef4f345..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/windswept_savanna.json
+++ /dev/null
@@ -1,151 +0,0 @@
-{
- "carvers": {
- "air": "#minecraft:air/in_biome/windswept_savanna",
- "liquid": "#minecraft:liquid/in_biome/windswept_savanna"
- },
- "downfall": 0.0,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "sky_color": 7254527,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/windswept_savanna",
- "#minecraft:lakes/in_biome/windswept_savanna",
- "#minecraft:local_modifications/in_biome/windswept_savanna",
- "#minecraft:underground_structures/in_biome/windswept_savanna",
- "#minecraft:surface_structures/in_biome/windswept_savanna",
- "#minecraft:strongholds/in_biome/windswept_savanna",
- "#minecraft:underground_ores/in_biome/windswept_savanna",
- "#minecraft:underground_decoration/in_biome/windswept_savanna",
- "#minecraft:fluid_springs/in_biome/windswept_savanna",
- "#minecraft:vegetal_decoration/in_biome/windswept_savanna",
- "#minecraft:top_layer_modification/in_biome/windswept_savanna"
- ],
- "has_precipitation": false,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:sheep",
- "maxCount": 4,
- "minCount": 4,
- "weight": 12
- },
- {
- "type": "minecraft:pig",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:chicken",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:cow",
- "maxCount": 4,
- "minCount": 4,
- "weight": 8
- },
- {
- "type": "minecraft:horse",
- "maxCount": 6,
- "minCount": 2,
- "weight": 1
- },
- {
- "type": "minecraft:donkey",
- "maxCount": 1,
- "minCount": 1,
- "weight": 1
- },
- {
- "type": "minecraft:armadillo",
- "maxCount": 3,
- "minCount": 2,
- "weight": 10
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 2.0
-}
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/wooded_badlands.json b/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/wooded_badlands.json
deleted file mode 100644
index fea8bc67f5..0000000000
--- a/pfb_biome_extensions/backport_48/data/minecraft/worldgen/biome/wooded_badlands.json
+++ /dev/null
@@ -1,130 +0,0 @@
-{
- "carvers": {
- "air": "#minecraft:air/in_biome/wooded_badlands",
- "liquid": "#minecraft:liquid/in_biome/wooded_badlands"
- },
- "creature_spawn_probability": 0.04,
- "downfall": 0.0,
- "effects": {
- "fog_color": 12638463,
- "foliage_color": 10387789,
- "grass_color": 9470285,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "music": {
- "max_delay": 24000,
- "min_delay": 12000,
- "replace_current_music": false,
- "sound": "minecraft:music.overworld.badlands"
- },
- "sky_color": 7254527,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/wooded_badlands",
- "#minecraft:lakes/in_biome/wooded_badlands",
- "#minecraft:local_modifications/in_biome/wooded_badlands",
- "#minecraft:underground_structures/in_biome/wooded_badlands",
- "#minecraft:surface_structures/in_biome/wooded_badlands",
- "#minecraft:strongholds/in_biome/wooded_badlands",
- "#minecraft:underground_ores/in_biome/wooded_badlands",
- "#minecraft:underground_decoration/in_biome/wooded_badlands",
- "#minecraft:fluid_springs/in_biome/wooded_badlands",
- "#minecraft:vegetal_decoration/in_biome/wooded_badlands",
- "#minecraft:top_layer_modification/in_biome/wooded_badlands"
- ],
- "has_precipitation": false,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:armadillo",
- "maxCount": 2,
- "minCount": 1,
- "weight": 6
- },
- {
- "type": "minecraft:wolf",
- "maxCount": 8,
- "minCount": 4,
- "weight": 2
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 2.0
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/badlands.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/badlands.json
deleted file mode 100644
index 29d21116ad..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/badlands.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/bamboo_jungle.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/bamboo_jungle.json
deleted file mode 100644
index 29d21116ad..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/bamboo_jungle.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/basalt_deltas.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/basalt_deltas.json
deleted file mode 100644
index 5f9d3c520c..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/basalt_deltas.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:in_nether",
- "required": false
- },
- "minecraft:nether_cave"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/beach.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/beach.json
deleted file mode 100644
index 29d21116ad..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/beach.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/birch_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/birch_forest.json
deleted file mode 100644
index 29d21116ad..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/birch_forest.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/cherry_grove.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/cherry_grove.json
deleted file mode 100644
index 29d21116ad..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/cherry_grove.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/cold_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/cold_ocean.json
deleted file mode 100644
index 29d21116ad..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/cold_ocean.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/crimson_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/crimson_forest.json
deleted file mode 100644
index 5f9d3c520c..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/crimson_forest.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:in_nether",
- "required": false
- },
- "minecraft:nether_cave"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/dark_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/dark_forest.json
deleted file mode 100644
index 29d21116ad..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/dark_forest.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/deep_cold_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/deep_cold_ocean.json
deleted file mode 100644
index 29d21116ad..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/deep_cold_ocean.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/deep_dark.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/deep_dark.json
deleted file mode 100644
index 29d21116ad..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/deep_dark.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/deep_frozen_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/deep_frozen_ocean.json
deleted file mode 100644
index 29d21116ad..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/deep_frozen_ocean.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/deep_lukewarm_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/deep_lukewarm_ocean.json
deleted file mode 100644
index 29d21116ad..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/deep_lukewarm_ocean.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/deep_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/deep_ocean.json
deleted file mode 100644
index 29d21116ad..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/deep_ocean.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/desert.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/desert.json
deleted file mode 100644
index 29d21116ad..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/desert.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/dripstone_caves.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/dripstone_caves.json
deleted file mode 100644
index 29d21116ad..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/dripstone_caves.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/end_barrens.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/end_barrens.json
deleted file mode 100644
index 588b779bc0..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/end_barrens.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/end_highlands.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/end_highlands.json
deleted file mode 100644
index 588b779bc0..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/end_highlands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/end_midlands.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/end_midlands.json
deleted file mode 100644
index 588b779bc0..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/end_midlands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/eroded_badlands.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/eroded_badlands.json
deleted file mode 100644
index 29d21116ad..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/eroded_badlands.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/flower_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/flower_forest.json
deleted file mode 100644
index 29d21116ad..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/flower_forest.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/forest.json
deleted file mode 100644
index 29d21116ad..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/forest.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/frozen_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/frozen_ocean.json
deleted file mode 100644
index 29d21116ad..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/frozen_ocean.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/frozen_peaks.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/frozen_peaks.json
deleted file mode 100644
index 29d21116ad..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/frozen_peaks.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/frozen_river.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/frozen_river.json
deleted file mode 100644
index 29d21116ad..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/frozen_river.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/grove.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/grove.json
deleted file mode 100644
index 29d21116ad..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/grove.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/ice_spikes.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/ice_spikes.json
deleted file mode 100644
index 29d21116ad..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/ice_spikes.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/jagged_peaks.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/jagged_peaks.json
deleted file mode 100644
index 29d21116ad..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/jagged_peaks.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/jungle.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/jungle.json
deleted file mode 100644
index 29d21116ad..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/jungle.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/lukewarm_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/lukewarm_ocean.json
deleted file mode 100644
index 29d21116ad..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/lukewarm_ocean.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/lush_caves.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/lush_caves.json
deleted file mode 100644
index 29d21116ad..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/lush_caves.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/mangrove_swamp.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/mangrove_swamp.json
deleted file mode 100644
index 29d21116ad..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/mangrove_swamp.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/meadow.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/meadow.json
deleted file mode 100644
index 29d21116ad..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/meadow.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/mushroom_fields.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/mushroom_fields.json
deleted file mode 100644
index 29d21116ad..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/mushroom_fields.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/nether_wastes.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/nether_wastes.json
deleted file mode 100644
index 5f9d3c520c..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/nether_wastes.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:in_nether",
- "required": false
- },
- "minecraft:nether_cave"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/ocean.json
deleted file mode 100644
index 29d21116ad..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/ocean.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/old_growth_birch_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/old_growth_birch_forest.json
deleted file mode 100644
index 29d21116ad..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/old_growth_birch_forest.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/old_growth_pine_taiga.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/old_growth_pine_taiga.json
deleted file mode 100644
index 29d21116ad..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/old_growth_pine_taiga.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/old_growth_spruce_taiga.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/old_growth_spruce_taiga.json
deleted file mode 100644
index 29d21116ad..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/old_growth_spruce_taiga.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/plains.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/plains.json
deleted file mode 100644
index 29d21116ad..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/plains.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/river.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/river.json
deleted file mode 100644
index 29d21116ad..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/river.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/savanna.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/savanna.json
deleted file mode 100644
index 29d21116ad..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/savanna.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/savanna_plateau.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/savanna_plateau.json
deleted file mode 100644
index 29d21116ad..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/savanna_plateau.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/small_end_islands.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/small_end_islands.json
deleted file mode 100644
index 588b779bc0..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/small_end_islands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/snowy_beach.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/snowy_beach.json
deleted file mode 100644
index 29d21116ad..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/snowy_beach.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/snowy_plains.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/snowy_plains.json
deleted file mode 100644
index 29d21116ad..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/snowy_plains.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/snowy_slopes.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/snowy_slopes.json
deleted file mode 100644
index 29d21116ad..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/snowy_slopes.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/snowy_taiga.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/snowy_taiga.json
deleted file mode 100644
index 29d21116ad..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/snowy_taiga.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/soul_sand_valley.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/soul_sand_valley.json
deleted file mode 100644
index 5f9d3c520c..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/soul_sand_valley.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:in_nether",
- "required": false
- },
- "minecraft:nether_cave"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/sparse_jungle.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/sparse_jungle.json
deleted file mode 100644
index 29d21116ad..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/sparse_jungle.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/stony_peaks.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/stony_peaks.json
deleted file mode 100644
index 29d21116ad..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/stony_peaks.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/stony_shore.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/stony_shore.json
deleted file mode 100644
index 29d21116ad..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/stony_shore.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/sunflower_plains.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/sunflower_plains.json
deleted file mode 100644
index 29d21116ad..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/sunflower_plains.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/swamp.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/swamp.json
deleted file mode 100644
index 29d21116ad..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/swamp.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/taiga.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/taiga.json
deleted file mode 100644
index 29d21116ad..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/taiga.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/the_end.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/the_end.json
deleted file mode 100644
index 588b779bc0..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/the_end.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/the_void.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/the_void.json
deleted file mode 100644
index 5d341ba242..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/the_void.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "replace": false,
- "values": []
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/warm_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/warm_ocean.json
deleted file mode 100644
index 29d21116ad..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/warm_ocean.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/warped_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/warped_forest.json
deleted file mode 100644
index 5f9d3c520c..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/warped_forest.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:in_nether",
- "required": false
- },
- "minecraft:nether_cave"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/windswept_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/windswept_forest.json
deleted file mode 100644
index 29d21116ad..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/windswept_forest.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/windswept_gravelly_hills.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/windswept_gravelly_hills.json
deleted file mode 100644
index 29d21116ad..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/windswept_gravelly_hills.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/windswept_hills.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/windswept_hills.json
deleted file mode 100644
index 29d21116ad..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/windswept_hills.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/windswept_savanna.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/windswept_savanna.json
deleted file mode 100644
index 29d21116ad..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/windswept_savanna.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/wooded_badlands.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/wooded_badlands.json
deleted file mode 100644
index 29d21116ad..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/configured_carver/in_biome/wooded_badlands.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:in_overworld",
- "required": false
- },
- "minecraft:cave",
- "minecraft:cave_extra_underground",
- "minecraft:canyon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/badlands.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/badlands.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/badlands.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/bamboo_jungle.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/bamboo_jungle.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/bamboo_jungle.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/basalt_deltas.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/basalt_deltas.json
deleted file mode 100644
index 30576cb099..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/basalt_deltas.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/beach.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/beach.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/beach.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/birch_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/birch_forest.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/birch_forest.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/cherry_grove.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/cherry_grove.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/cherry_grove.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/cold_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/cold_ocean.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/cold_ocean.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/crimson_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/crimson_forest.json
deleted file mode 100644
index 30576cb099..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/crimson_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/dark_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/dark_forest.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/dark_forest.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/deep_cold_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/deep_cold_ocean.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/deep_cold_ocean.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/deep_dark.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/deep_dark.json
deleted file mode 100644
index cfa381a47a..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/deep_dark.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/deep_frozen_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/deep_frozen_ocean.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/deep_frozen_ocean.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/deep_lukewarm_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/deep_lukewarm_ocean.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/deep_lukewarm_ocean.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/deep_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/deep_ocean.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/deep_ocean.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/desert.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/desert.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/desert.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/dripstone_caves.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/dripstone_caves.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/dripstone_caves.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/end_barrens.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/end_barrens.json
deleted file mode 100644
index 8df86ba913..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/end_barrens.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/end_highlands.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/end_highlands.json
deleted file mode 100644
index 8df86ba913..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/end_highlands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/end_midlands.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/end_midlands.json
deleted file mode 100644
index 8df86ba913..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/end_midlands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/eroded_badlands.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/eroded_badlands.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/eroded_badlands.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/flower_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/flower_forest.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/flower_forest.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/forest.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/forest.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/frozen_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/frozen_ocean.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/frozen_ocean.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/frozen_peaks.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/frozen_peaks.json
deleted file mode 100644
index 1a5743ce05..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/frozen_peaks.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava",
- "minecraft:spring_lava_frozen"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/frozen_river.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/frozen_river.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/frozen_river.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/grove.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/grove.json
deleted file mode 100644
index 1a5743ce05..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/grove.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava",
- "minecraft:spring_lava_frozen"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/ice_spikes.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/ice_spikes.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/ice_spikes.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/jagged_peaks.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/jagged_peaks.json
deleted file mode 100644
index 1a5743ce05..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/jagged_peaks.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava",
- "minecraft:spring_lava_frozen"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/jungle.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/jungle.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/jungle.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/lukewarm_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/lukewarm_ocean.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/lukewarm_ocean.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/lush_caves.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/lush_caves.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/lush_caves.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/mangrove_swamp.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/mangrove_swamp.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/mangrove_swamp.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/meadow.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/meadow.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/meadow.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/mushroom_fields.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/mushroom_fields.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/mushroom_fields.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/nether_wastes.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/nether_wastes.json
deleted file mode 100644
index 30576cb099..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/nether_wastes.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/ocean.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/ocean.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/old_growth_birch_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/old_growth_birch_forest.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/old_growth_birch_forest.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/old_growth_pine_taiga.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/old_growth_pine_taiga.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/old_growth_pine_taiga.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/old_growth_spruce_taiga.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/old_growth_spruce_taiga.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/old_growth_spruce_taiga.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/plains.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/plains.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/plains.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/river.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/river.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/river.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/savanna.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/savanna.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/savanna.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/savanna_plateau.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/savanna_plateau.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/savanna_plateau.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/small_end_islands.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/small_end_islands.json
deleted file mode 100644
index 8df86ba913..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/small_end_islands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/snowy_beach.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/snowy_beach.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/snowy_beach.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/snowy_plains.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/snowy_plains.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/snowy_plains.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/snowy_slopes.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/snowy_slopes.json
deleted file mode 100644
index 1a5743ce05..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/snowy_slopes.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava",
- "minecraft:spring_lava_frozen"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/snowy_taiga.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/snowy_taiga.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/snowy_taiga.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/soul_sand_valley.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/soul_sand_valley.json
deleted file mode 100644
index 30576cb099..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/soul_sand_valley.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/sparse_jungle.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/sparse_jungle.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/sparse_jungle.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/stony_peaks.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/stony_peaks.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/stony_peaks.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/stony_shore.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/stony_shore.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/stony_shore.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/sunflower_plains.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/sunflower_plains.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/sunflower_plains.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/swamp.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/swamp.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/swamp.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/taiga.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/taiga.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/taiga.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/the_end.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/the_end.json
deleted file mode 100644
index 8df86ba913..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/the_end.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/the_void.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/the_void.json
deleted file mode 100644
index 5d341ba242..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/the_void.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "replace": false,
- "values": []
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/warm_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/warm_ocean.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/warm_ocean.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/warped_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/warped_forest.json
deleted file mode 100644
index 30576cb099..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/warped_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/windswept_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/windswept_forest.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/windswept_forest.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/windswept_gravelly_hills.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/windswept_gravelly_hills.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/windswept_gravelly_hills.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/windswept_hills.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/windswept_hills.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/windswept_hills.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/windswept_savanna.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/windswept_savanna.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/windswept_savanna.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/wooded_badlands.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/wooded_badlands.json
deleted file mode 100644
index 051c50a9df..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/wooded_badlands.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:fluid_springs/in_overworld",
- "required": false
- },
- "minecraft:spring_water",
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/badlands.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/badlands.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/badlands.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/bamboo_jungle.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/bamboo_jungle.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/bamboo_jungle.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/basalt_deltas.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/basalt_deltas.json
deleted file mode 100644
index a141583b40..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/basalt_deltas.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/beach.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/beach.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/beach.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/birch_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/birch_forest.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/birch_forest.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/cherry_grove.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/cherry_grove.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/cherry_grove.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/cold_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/cold_ocean.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/cold_ocean.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/crimson_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/crimson_forest.json
deleted file mode 100644
index a141583b40..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/crimson_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/dark_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/dark_forest.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/dark_forest.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/deep_cold_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/deep_cold_ocean.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/deep_cold_ocean.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/deep_dark.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/deep_dark.json
deleted file mode 100644
index 46755c3b7c..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/deep_dark.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/deep_frozen_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/deep_frozen_ocean.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/deep_frozen_ocean.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/deep_lukewarm_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/deep_lukewarm_ocean.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/deep_lukewarm_ocean.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/deep_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/deep_ocean.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/deep_ocean.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/desert.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/desert.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/desert.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/dripstone_caves.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/dripstone_caves.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/dripstone_caves.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/end_barrens.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/end_barrens.json
deleted file mode 100644
index 8f00d8e27c..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/end_barrens.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/end_highlands.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/end_highlands.json
deleted file mode 100644
index 8f00d8e27c..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/end_highlands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/end_midlands.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/end_midlands.json
deleted file mode 100644
index 8f00d8e27c..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/end_midlands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/eroded_badlands.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/eroded_badlands.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/eroded_badlands.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/flower_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/flower_forest.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/flower_forest.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/forest.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/forest.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/frozen_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/frozen_ocean.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/frozen_ocean.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/frozen_peaks.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/frozen_peaks.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/frozen_peaks.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/frozen_river.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/frozen_river.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/frozen_river.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/grove.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/grove.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/grove.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/ice_spikes.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/ice_spikes.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/ice_spikes.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/jagged_peaks.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/jagged_peaks.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/jagged_peaks.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/jungle.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/jungle.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/jungle.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/lukewarm_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/lukewarm_ocean.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/lukewarm_ocean.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/lush_caves.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/lush_caves.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/lush_caves.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/mangrove_swamp.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/mangrove_swamp.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/mangrove_swamp.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/meadow.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/meadow.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/meadow.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/mushroom_fields.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/mushroom_fields.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/mushroom_fields.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/nether_wastes.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/nether_wastes.json
deleted file mode 100644
index a141583b40..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/nether_wastes.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/ocean.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/ocean.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/old_growth_birch_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/old_growth_birch_forest.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/old_growth_birch_forest.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/old_growth_pine_taiga.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/old_growth_pine_taiga.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/old_growth_pine_taiga.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/old_growth_spruce_taiga.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/old_growth_spruce_taiga.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/old_growth_spruce_taiga.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/plains.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/plains.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/plains.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/river.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/river.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/river.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/savanna.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/savanna.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/savanna.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/savanna_plateau.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/savanna_plateau.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/savanna_plateau.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/small_end_islands.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/small_end_islands.json
deleted file mode 100644
index 8f00d8e27c..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/small_end_islands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/snowy_beach.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/snowy_beach.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/snowy_beach.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/snowy_plains.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/snowy_plains.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/snowy_plains.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/snowy_slopes.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/snowy_slopes.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/snowy_slopes.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/snowy_taiga.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/snowy_taiga.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/snowy_taiga.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/soul_sand_valley.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/soul_sand_valley.json
deleted file mode 100644
index a141583b40..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/soul_sand_valley.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/sparse_jungle.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/sparse_jungle.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/sparse_jungle.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/stony_peaks.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/stony_peaks.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/stony_peaks.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/stony_shore.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/stony_shore.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/stony_shore.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/sunflower_plains.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/sunflower_plains.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/sunflower_plains.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/swamp.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/swamp.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/swamp.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/taiga.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/taiga.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/taiga.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/the_end.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/the_end.json
deleted file mode 100644
index 8f00d8e27c..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/the_end.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/the_void.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/the_void.json
deleted file mode 100644
index 5d341ba242..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/the_void.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "replace": false,
- "values": []
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/warm_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/warm_ocean.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/warm_ocean.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/warped_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/warped_forest.json
deleted file mode 100644
index a141583b40..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/warped_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/windswept_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/windswept_forest.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/windswept_forest.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/windswept_gravelly_hills.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/windswept_gravelly_hills.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/windswept_gravelly_hills.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/windswept_hills.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/windswept_hills.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/windswept_hills.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/windswept_savanna.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/windswept_savanna.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/windswept_savanna.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/wooded_badlands.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/wooded_badlands.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/wooded_badlands.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/badlands.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/badlands.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/badlands.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/bamboo_jungle.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/bamboo_jungle.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/bamboo_jungle.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/basalt_deltas.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/basalt_deltas.json
deleted file mode 100644
index 3bb8c75fcd..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/basalt_deltas.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/beach.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/beach.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/beach.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/birch_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/birch_forest.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/birch_forest.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/cherry_grove.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/cherry_grove.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/cherry_grove.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/cold_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/cold_ocean.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/cold_ocean.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/crimson_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/crimson_forest.json
deleted file mode 100644
index 3bb8c75fcd..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/crimson_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/dark_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/dark_forest.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/dark_forest.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/deep_cold_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/deep_cold_ocean.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/deep_cold_ocean.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/deep_dark.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/deep_dark.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/deep_dark.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/deep_frozen_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/deep_frozen_ocean.json
deleted file mode 100644
index 7c225233eb..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/deep_frozen_ocean.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:iceberg_packed",
- "minecraft:iceberg_blue",
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/deep_lukewarm_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/deep_lukewarm_ocean.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/deep_lukewarm_ocean.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/deep_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/deep_ocean.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/deep_ocean.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/desert.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/desert.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/desert.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/dripstone_caves.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/dripstone_caves.json
deleted file mode 100644
index f50acab367..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/dripstone_caves.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode",
- "minecraft:large_dripstone"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/end_barrens.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/end_barrens.json
deleted file mode 100644
index 24e8318cbc..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/end_barrens.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/end_highlands.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/end_highlands.json
deleted file mode 100644
index 24e8318cbc..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/end_highlands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/end_midlands.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/end_midlands.json
deleted file mode 100644
index 24e8318cbc..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/end_midlands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/eroded_badlands.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/eroded_badlands.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/eroded_badlands.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/flower_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/flower_forest.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/flower_forest.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/forest.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/forest.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/frozen_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/frozen_ocean.json
deleted file mode 100644
index 7c225233eb..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/frozen_ocean.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:iceberg_packed",
- "minecraft:iceberg_blue",
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/frozen_peaks.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/frozen_peaks.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/frozen_peaks.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/frozen_river.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/frozen_river.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/frozen_river.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/grove.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/grove.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/grove.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/ice_spikes.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/ice_spikes.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/ice_spikes.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/jagged_peaks.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/jagged_peaks.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/jagged_peaks.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/jungle.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/jungle.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/jungle.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/lukewarm_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/lukewarm_ocean.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/lukewarm_ocean.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/lush_caves.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/lush_caves.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/lush_caves.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/mangrove_swamp.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/mangrove_swamp.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/mangrove_swamp.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/meadow.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/meadow.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/meadow.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/mushroom_fields.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/mushroom_fields.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/mushroom_fields.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/nether_wastes.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/nether_wastes.json
deleted file mode 100644
index 3bb8c75fcd..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/nether_wastes.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/ocean.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/ocean.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/old_growth_birch_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/old_growth_birch_forest.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/old_growth_birch_forest.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/old_growth_pine_taiga.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/old_growth_pine_taiga.json
deleted file mode 100644
index a00ae5e629..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/old_growth_pine_taiga.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode",
- "minecraft:forest_rock"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/old_growth_spruce_taiga.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/old_growth_spruce_taiga.json
deleted file mode 100644
index a00ae5e629..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/old_growth_spruce_taiga.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode",
- "minecraft:forest_rock"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/plains.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/plains.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/plains.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/river.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/river.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/river.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/savanna.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/savanna.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/savanna.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/savanna_plateau.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/savanna_plateau.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/savanna_plateau.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/small_end_islands.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/small_end_islands.json
deleted file mode 100644
index 24e8318cbc..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/small_end_islands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/snowy_beach.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/snowy_beach.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/snowy_beach.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/snowy_plains.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/snowy_plains.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/snowy_plains.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/snowy_slopes.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/snowy_slopes.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/snowy_slopes.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/snowy_taiga.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/snowy_taiga.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/snowy_taiga.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/soul_sand_valley.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/soul_sand_valley.json
deleted file mode 100644
index 5c7038b578..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/soul_sand_valley.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_nether",
- "required": false
- },
- "minecraft:basalt_pillar"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/sparse_jungle.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/sparse_jungle.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/sparse_jungle.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/stony_peaks.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/stony_peaks.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/stony_peaks.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/stony_shore.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/stony_shore.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/stony_shore.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/sunflower_plains.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/sunflower_plains.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/sunflower_plains.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/swamp.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/swamp.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/swamp.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/taiga.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/taiga.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/taiga.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/the_end.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/the_end.json
deleted file mode 100644
index 24e8318cbc..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/the_end.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/the_void.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/the_void.json
deleted file mode 100644
index 5d341ba242..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/the_void.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "replace": false,
- "values": []
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/warm_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/warm_ocean.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/warm_ocean.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/warped_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/warped_forest.json
deleted file mode 100644
index 3bb8c75fcd..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/warped_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/windswept_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/windswept_forest.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/windswept_forest.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/windswept_gravelly_hills.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/windswept_gravelly_hills.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/windswept_gravelly_hills.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/windswept_hills.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/windswept_hills.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/windswept_hills.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/windswept_savanna.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/windswept_savanna.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/windswept_savanna.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/wooded_badlands.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/wooded_badlands.json
deleted file mode 100644
index d1325cc236..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/wooded_badlands.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:local_modifications/in_overworld",
- "required": false
- },
- "minecraft:amethyst_geode"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/badlands.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/badlands.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/badlands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/bamboo_jungle.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/bamboo_jungle.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/bamboo_jungle.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/basalt_deltas.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/basalt_deltas.json
deleted file mode 100644
index 8666138563..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/basalt_deltas.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/beach.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/beach.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/beach.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/birch_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/birch_forest.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/birch_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/cherry_grove.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/cherry_grove.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/cherry_grove.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/cold_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/cold_ocean.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/cold_ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/crimson_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/crimson_forest.json
deleted file mode 100644
index 8666138563..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/crimson_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/dark_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/dark_forest.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/dark_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/deep_cold_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/deep_cold_ocean.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/deep_cold_ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/deep_dark.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/deep_dark.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/deep_dark.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/deep_frozen_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/deep_frozen_ocean.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/deep_frozen_ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/deep_lukewarm_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/deep_lukewarm_ocean.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/deep_lukewarm_ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/deep_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/deep_ocean.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/deep_ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/desert.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/desert.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/desert.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/dripstone_caves.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/dripstone_caves.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/dripstone_caves.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/end_barrens.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/end_barrens.json
deleted file mode 100644
index d4067a4c9d..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/end_barrens.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/end_highlands.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/end_highlands.json
deleted file mode 100644
index d4067a4c9d..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/end_highlands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/end_midlands.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/end_midlands.json
deleted file mode 100644
index d4067a4c9d..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/end_midlands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/eroded_badlands.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/eroded_badlands.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/eroded_badlands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/flower_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/flower_forest.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/flower_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/forest.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/frozen_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/frozen_ocean.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/frozen_ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/frozen_peaks.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/frozen_peaks.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/frozen_peaks.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/frozen_river.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/frozen_river.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/frozen_river.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/grove.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/grove.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/grove.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/ice_spikes.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/ice_spikes.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/ice_spikes.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/jagged_peaks.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/jagged_peaks.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/jagged_peaks.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/jungle.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/jungle.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/jungle.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/lukewarm_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/lukewarm_ocean.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/lukewarm_ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/lush_caves.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/lush_caves.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/lush_caves.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/mangrove_swamp.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/mangrove_swamp.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/mangrove_swamp.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/meadow.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/meadow.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/meadow.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/mushroom_fields.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/mushroom_fields.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/mushroom_fields.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/nether_wastes.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/nether_wastes.json
deleted file mode 100644
index 8666138563..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/nether_wastes.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/ocean.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/old_growth_birch_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/old_growth_birch_forest.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/old_growth_birch_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/old_growth_pine_taiga.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/old_growth_pine_taiga.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/old_growth_pine_taiga.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/old_growth_spruce_taiga.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/old_growth_spruce_taiga.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/old_growth_spruce_taiga.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/plains.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/plains.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/plains.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/river.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/river.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/river.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/savanna.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/savanna.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/savanna.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/savanna_plateau.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/savanna_plateau.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/savanna_plateau.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/small_end_islands.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/small_end_islands.json
deleted file mode 100644
index 1ba39f3180..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/small_end_islands.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_end",
- "required": false
- },
- "minecraft:end_island_decorated"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/snowy_beach.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/snowy_beach.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/snowy_beach.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/snowy_plains.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/snowy_plains.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/snowy_plains.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/snowy_slopes.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/snowy_slopes.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/snowy_slopes.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/snowy_taiga.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/snowy_taiga.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/snowy_taiga.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/soul_sand_valley.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/soul_sand_valley.json
deleted file mode 100644
index 8666138563..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/soul_sand_valley.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/sparse_jungle.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/sparse_jungle.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/sparse_jungle.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/stony_peaks.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/stony_peaks.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/stony_peaks.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/stony_shore.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/stony_shore.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/stony_shore.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/sunflower_plains.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/sunflower_plains.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/sunflower_plains.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/swamp.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/swamp.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/swamp.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/taiga.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/taiga.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/taiga.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/the_end.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/the_end.json
deleted file mode 100644
index d4067a4c9d..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/the_end.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/the_void.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/the_void.json
deleted file mode 100644
index 5d341ba242..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/the_void.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "replace": false,
- "values": []
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/warm_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/warm_ocean.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/warm_ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/warped_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/warped_forest.json
deleted file mode 100644
index 8666138563..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/warped_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/windswept_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/windswept_forest.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/windswept_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/windswept_gravelly_hills.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/windswept_gravelly_hills.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/windswept_gravelly_hills.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/windswept_hills.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/windswept_hills.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/windswept_hills.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/windswept_savanna.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/windswept_savanna.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/windswept_savanna.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/wooded_badlands.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/wooded_badlands.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/wooded_badlands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/badlands.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/badlands.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/badlands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/bamboo_jungle.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/bamboo_jungle.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/bamboo_jungle.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/basalt_deltas.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/basalt_deltas.json
deleted file mode 100644
index 6304797d8b..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/basalt_deltas.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/beach.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/beach.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/beach.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/birch_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/birch_forest.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/birch_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/cherry_grove.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/cherry_grove.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/cherry_grove.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/cold_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/cold_ocean.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/cold_ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/crimson_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/crimson_forest.json
deleted file mode 100644
index 6304797d8b..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/crimson_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/dark_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/dark_forest.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/dark_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/deep_cold_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/deep_cold_ocean.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/deep_cold_ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/deep_dark.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/deep_dark.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/deep_dark.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/deep_frozen_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/deep_frozen_ocean.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/deep_frozen_ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/deep_lukewarm_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/deep_lukewarm_ocean.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/deep_lukewarm_ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/deep_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/deep_ocean.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/deep_ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/desert.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/desert.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/desert.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/dripstone_caves.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/dripstone_caves.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/dripstone_caves.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/end_barrens.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/end_barrens.json
deleted file mode 100644
index 35d6078f96..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/end_barrens.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/end_highlands.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/end_highlands.json
deleted file mode 100644
index 35d6078f96..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/end_highlands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/end_midlands.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/end_midlands.json
deleted file mode 100644
index 35d6078f96..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/end_midlands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/eroded_badlands.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/eroded_badlands.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/eroded_badlands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/flower_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/flower_forest.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/flower_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/forest.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/frozen_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/frozen_ocean.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/frozen_ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/frozen_peaks.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/frozen_peaks.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/frozen_peaks.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/frozen_river.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/frozen_river.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/frozen_river.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/grove.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/grove.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/grove.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/ice_spikes.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/ice_spikes.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/ice_spikes.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/jagged_peaks.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/jagged_peaks.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/jagged_peaks.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/jungle.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/jungle.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/jungle.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/lukewarm_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/lukewarm_ocean.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/lukewarm_ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/lush_caves.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/lush_caves.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/lush_caves.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/mangrove_swamp.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/mangrove_swamp.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/mangrove_swamp.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/meadow.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/meadow.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/meadow.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/mushroom_fields.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/mushroom_fields.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/mushroom_fields.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/nether_wastes.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/nether_wastes.json
deleted file mode 100644
index 6304797d8b..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/nether_wastes.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/ocean.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/old_growth_birch_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/old_growth_birch_forest.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/old_growth_birch_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/old_growth_pine_taiga.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/old_growth_pine_taiga.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/old_growth_pine_taiga.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/old_growth_spruce_taiga.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/old_growth_spruce_taiga.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/old_growth_spruce_taiga.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/plains.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/plains.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/plains.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/river.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/river.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/river.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/savanna.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/savanna.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/savanna.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/savanna_plateau.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/savanna_plateau.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/savanna_plateau.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/small_end_islands.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/small_end_islands.json
deleted file mode 100644
index 35d6078f96..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/small_end_islands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/snowy_beach.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/snowy_beach.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/snowy_beach.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/snowy_plains.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/snowy_plains.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/snowy_plains.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/snowy_slopes.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/snowy_slopes.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/snowy_slopes.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/snowy_taiga.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/snowy_taiga.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/snowy_taiga.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/soul_sand_valley.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/soul_sand_valley.json
deleted file mode 100644
index 6304797d8b..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/soul_sand_valley.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/sparse_jungle.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/sparse_jungle.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/sparse_jungle.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/stony_peaks.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/stony_peaks.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/stony_peaks.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/stony_shore.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/stony_shore.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/stony_shore.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/sunflower_plains.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/sunflower_plains.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/sunflower_plains.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/swamp.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/swamp.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/swamp.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/taiga.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/taiga.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/taiga.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/the_end.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/the_end.json
deleted file mode 100644
index 35d6078f96..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/the_end.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/the_void.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/the_void.json
deleted file mode 100644
index 5d341ba242..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/the_void.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "replace": false,
- "values": []
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/warm_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/warm_ocean.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/warm_ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/warped_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/warped_forest.json
deleted file mode 100644
index 6304797d8b..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/warped_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/windswept_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/windswept_forest.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/windswept_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/windswept_gravelly_hills.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/windswept_gravelly_hills.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/windswept_gravelly_hills.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/windswept_hills.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/windswept_hills.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/windswept_hills.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/windswept_savanna.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/windswept_savanna.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/windswept_savanna.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/wooded_badlands.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/wooded_badlands.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/wooded_badlands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/badlands.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/badlands.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/badlands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/bamboo_jungle.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/bamboo_jungle.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/bamboo_jungle.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/basalt_deltas.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/basalt_deltas.json
deleted file mode 100644
index 1b1c79b4ba..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/basalt_deltas.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_nether",
- "required": false
- },
- "minecraft:delta",
- "minecraft:small_basalt_columns",
- "minecraft:large_basalt_columns"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/beach.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/beach.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/beach.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/birch_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/birch_forest.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/birch_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/cherry_grove.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/cherry_grove.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/cherry_grove.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/cold_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/cold_ocean.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/cold_ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/crimson_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/crimson_forest.json
deleted file mode 100644
index 593507096e..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/crimson_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/dark_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/dark_forest.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/dark_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/deep_cold_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/deep_cold_ocean.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/deep_cold_ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/deep_dark.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/deep_dark.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/deep_dark.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/deep_frozen_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/deep_frozen_ocean.json
deleted file mode 100644
index c12a8fc610..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/deep_frozen_ocean.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- },
- "minecraft:blue_ice"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/deep_lukewarm_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/deep_lukewarm_ocean.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/deep_lukewarm_ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/deep_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/deep_ocean.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/deep_ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/desert.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/desert.json
deleted file mode 100644
index f83e8c4249..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/desert.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- },
- "minecraft:desert_well"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/dripstone_caves.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/dripstone_caves.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/dripstone_caves.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/end_barrens.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/end_barrens.json
deleted file mode 100644
index 93db345cc0..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/end_barrens.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/end_highlands.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/end_highlands.json
deleted file mode 100644
index 5ac97602c1..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/end_highlands.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_end",
- "required": false
- },
- "minecraft:end_gateway_return"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/end_midlands.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/end_midlands.json
deleted file mode 100644
index 93db345cc0..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/end_midlands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/eroded_badlands.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/eroded_badlands.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/eroded_badlands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/flower_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/flower_forest.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/flower_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/forest.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/frozen_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/frozen_ocean.json
deleted file mode 100644
index c12a8fc610..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/frozen_ocean.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- },
- "minecraft:blue_ice"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/frozen_peaks.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/frozen_peaks.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/frozen_peaks.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/frozen_river.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/frozen_river.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/frozen_river.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/grove.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/grove.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/grove.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/ice_spikes.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/ice_spikes.json
deleted file mode 100644
index 25677310ac..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/ice_spikes.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- },
- "minecraft:ice_spike",
- "minecraft:ice_patch"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/jagged_peaks.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/jagged_peaks.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/jagged_peaks.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/jungle.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/jungle.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/jungle.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/lukewarm_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/lukewarm_ocean.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/lukewarm_ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/lush_caves.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/lush_caves.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/lush_caves.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/mangrove_swamp.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/mangrove_swamp.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/mangrove_swamp.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/meadow.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/meadow.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/meadow.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/mushroom_fields.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/mushroom_fields.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/mushroom_fields.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/nether_wastes.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/nether_wastes.json
deleted file mode 100644
index 593507096e..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/nether_wastes.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/ocean.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/old_growth_birch_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/old_growth_birch_forest.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/old_growth_birch_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/old_growth_pine_taiga.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/old_growth_pine_taiga.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/old_growth_pine_taiga.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/old_growth_spruce_taiga.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/old_growth_spruce_taiga.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/old_growth_spruce_taiga.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/plains.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/plains.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/plains.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/river.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/river.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/river.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/savanna.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/savanna.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/savanna.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/savanna_plateau.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/savanna_plateau.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/savanna_plateau.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/small_end_islands.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/small_end_islands.json
deleted file mode 100644
index 93db345cc0..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/small_end_islands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/snowy_beach.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/snowy_beach.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/snowy_beach.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/snowy_plains.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/snowy_plains.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/snowy_plains.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/snowy_slopes.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/snowy_slopes.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/snowy_slopes.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/snowy_taiga.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/snowy_taiga.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/snowy_taiga.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/soul_sand_valley.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/soul_sand_valley.json
deleted file mode 100644
index 593507096e..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/soul_sand_valley.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/sparse_jungle.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/sparse_jungle.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/sparse_jungle.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/stony_peaks.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/stony_peaks.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/stony_peaks.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/stony_shore.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/stony_shore.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/stony_shore.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/sunflower_plains.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/sunflower_plains.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/sunflower_plains.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/swamp.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/swamp.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/swamp.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/taiga.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/taiga.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/taiga.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/the_end.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/the_end.json
deleted file mode 100644
index 3a651843a9..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/the_end.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_end",
- "required": false
- },
- "minecraft:end_spike"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/the_void.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/the_void.json
deleted file mode 100644
index 5d341ba242..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/the_void.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "replace": false,
- "values": []
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/warm_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/warm_ocean.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/warm_ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/warped_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/warped_forest.json
deleted file mode 100644
index 593507096e..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/warped_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/windswept_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/windswept_forest.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/windswept_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/windswept_gravelly_hills.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/windswept_gravelly_hills.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/windswept_gravelly_hills.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/windswept_hills.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/windswept_hills.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/windswept_hills.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/windswept_savanna.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/windswept_savanna.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/windswept_savanna.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/wooded_badlands.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/wooded_badlands.json
deleted file mode 100644
index 36b1953568..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/wooded_badlands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:surface_structures/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/badlands.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/badlands.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/badlands.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/bamboo_jungle.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/bamboo_jungle.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/bamboo_jungle.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/basalt_deltas.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/basalt_deltas.json
deleted file mode 100644
index c970b2d759..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/basalt_deltas.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/beach.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/beach.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/beach.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/birch_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/birch_forest.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/birch_forest.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/cherry_grove.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/cherry_grove.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/cherry_grove.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/cold_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/cold_ocean.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/cold_ocean.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/crimson_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/crimson_forest.json
deleted file mode 100644
index c970b2d759..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/crimson_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/dark_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/dark_forest.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/dark_forest.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/deep_cold_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/deep_cold_ocean.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/deep_cold_ocean.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/deep_dark.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/deep_dark.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/deep_dark.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/deep_frozen_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/deep_frozen_ocean.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/deep_frozen_ocean.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/deep_lukewarm_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/deep_lukewarm_ocean.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/deep_lukewarm_ocean.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/deep_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/deep_ocean.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/deep_ocean.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/desert.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/desert.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/desert.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/dripstone_caves.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/dripstone_caves.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/dripstone_caves.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/end_barrens.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/end_barrens.json
deleted file mode 100644
index b8126b6e08..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/end_barrens.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/end_highlands.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/end_highlands.json
deleted file mode 100644
index b8126b6e08..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/end_highlands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/end_midlands.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/end_midlands.json
deleted file mode 100644
index b8126b6e08..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/end_midlands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/eroded_badlands.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/eroded_badlands.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/eroded_badlands.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/flower_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/flower_forest.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/flower_forest.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/forest.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/forest.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/frozen_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/frozen_ocean.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/frozen_ocean.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/frozen_peaks.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/frozen_peaks.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/frozen_peaks.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/frozen_river.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/frozen_river.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/frozen_river.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/grove.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/grove.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/grove.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/ice_spikes.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/ice_spikes.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/ice_spikes.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/jagged_peaks.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/jagged_peaks.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/jagged_peaks.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/jungle.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/jungle.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/jungle.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/lukewarm_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/lukewarm_ocean.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/lukewarm_ocean.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/lush_caves.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/lush_caves.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/lush_caves.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/mangrove_swamp.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/mangrove_swamp.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/mangrove_swamp.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/meadow.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/meadow.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/meadow.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/mushroom_fields.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/mushroom_fields.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/mushroom_fields.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/nether_wastes.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/nether_wastes.json
deleted file mode 100644
index c970b2d759..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/nether_wastes.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/ocean.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/ocean.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/old_growth_birch_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/old_growth_birch_forest.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/old_growth_birch_forest.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/old_growth_pine_taiga.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/old_growth_pine_taiga.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/old_growth_pine_taiga.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/old_growth_spruce_taiga.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/old_growth_spruce_taiga.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/old_growth_spruce_taiga.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/plains.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/plains.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/plains.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/river.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/river.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/river.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/savanna.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/savanna.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/savanna.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/savanna_plateau.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/savanna_plateau.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/savanna_plateau.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/small_end_islands.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/small_end_islands.json
deleted file mode 100644
index b8126b6e08..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/small_end_islands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/snowy_beach.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/snowy_beach.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/snowy_beach.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/snowy_plains.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/snowy_plains.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/snowy_plains.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/snowy_slopes.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/snowy_slopes.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/snowy_slopes.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/snowy_taiga.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/snowy_taiga.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/snowy_taiga.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/soul_sand_valley.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/soul_sand_valley.json
deleted file mode 100644
index c970b2d759..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/soul_sand_valley.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/sparse_jungle.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/sparse_jungle.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/sparse_jungle.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/stony_peaks.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/stony_peaks.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/stony_peaks.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/stony_shore.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/stony_shore.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/stony_shore.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/sunflower_plains.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/sunflower_plains.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/sunflower_plains.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/swamp.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/swamp.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/swamp.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/taiga.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/taiga.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/taiga.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/the_end.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/the_end.json
deleted file mode 100644
index 3980c35276..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/the_end.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_end",
- "required": false
- },
- "minecraft:end_platform"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/the_void.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/the_void.json
deleted file mode 100644
index 2b959ffe69..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/the_void.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "replace": false,
- "values": [
- "minecraft:void_start_platform"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/warm_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/warm_ocean.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/warm_ocean.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/warped_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/warped_forest.json
deleted file mode 100644
index c970b2d759..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/warped_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/windswept_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/windswept_forest.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/windswept_forest.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/windswept_gravelly_hills.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/windswept_gravelly_hills.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/windswept_gravelly_hills.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/windswept_hills.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/windswept_hills.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/windswept_hills.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/windswept_savanna.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/windswept_savanna.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/windswept_savanna.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/wooded_badlands.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/wooded_badlands.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/wooded_badlands.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/badlands.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/badlands.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/badlands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/bamboo_jungle.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/bamboo_jungle.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/bamboo_jungle.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/basalt_deltas.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/basalt_deltas.json
deleted file mode 100644
index 9f432dc218..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/basalt_deltas.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_nether",
- "required": false
- },
- "minecraft:basalt_blobs",
- "minecraft:blackstone_blobs",
- "minecraft:spring_delta",
- "minecraft:patch_fire",
- "minecraft:patch_soul_fire",
- "minecraft:glowstone_extra",
- "minecraft:glowstone",
- "minecraft:brown_mushroom_nether",
- "minecraft:red_mushroom_nether",
- "minecraft:ore_magma",
- "minecraft:spring_closed_double",
- "minecraft:ore_gold_deltas",
- "minecraft:ore_quartz_deltas",
- "minecraft:ore_ancient_debris_large",
- "minecraft:ore_debris_small"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/beach.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/beach.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/beach.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/birch_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/birch_forest.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/birch_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/cherry_grove.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/cherry_grove.json
deleted file mode 100644
index 6cd420a436..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/cherry_grove.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- },
- "minecraft:ore_infested"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/cold_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/cold_ocean.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/cold_ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/crimson_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/crimson_forest.json
deleted file mode 100644
index ca37cb5209..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/crimson_forest.json
+++ /dev/null
@@ -1,21 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_nether",
- "required": false
- },
- "minecraft:spring_open",
- "minecraft:patch_fire",
- "minecraft:glowstone_extra",
- "minecraft:glowstone",
- "minecraft:ore_magma",
- "minecraft:spring_closed",
- "minecraft:ore_gravel_nether",
- "minecraft:ore_blackstone",
- "minecraft:ore_gold_nether",
- "minecraft:ore_quartz_nether",
- "minecraft:ore_ancient_debris_large",
- "minecraft:ore_debris_small"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/dark_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/dark_forest.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/dark_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/deep_cold_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/deep_cold_ocean.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/deep_cold_ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/deep_dark.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/deep_dark.json
deleted file mode 100644
index 85167be7e1..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/deep_dark.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- },
- "minecraft:sculk_vein",
- "minecraft:sculk_patch_deep_dark"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/deep_frozen_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/deep_frozen_ocean.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/deep_frozen_ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/deep_lukewarm_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/deep_lukewarm_ocean.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/deep_lukewarm_ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/deep_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/deep_ocean.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/deep_ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/desert.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/desert.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/desert.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/dripstone_caves.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/dripstone_caves.json
deleted file mode 100644
index 5520d75828..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/dripstone_caves.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- },
- "minecraft:dripstone_cluster",
- "minecraft:pointed_dripstone"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/end_barrens.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/end_barrens.json
deleted file mode 100644
index 5cb72e2210..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/end_barrens.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/end_highlands.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/end_highlands.json
deleted file mode 100644
index 5cb72e2210..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/end_highlands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/end_midlands.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/end_midlands.json
deleted file mode 100644
index 5cb72e2210..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/end_midlands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/eroded_badlands.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/eroded_badlands.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/eroded_badlands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/flower_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/flower_forest.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/flower_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/forest.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/frozen_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/frozen_ocean.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/frozen_ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/frozen_peaks.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/frozen_peaks.json
deleted file mode 100644
index 6cd420a436..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/frozen_peaks.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- },
- "minecraft:ore_infested"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/frozen_river.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/frozen_river.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/frozen_river.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/grove.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/grove.json
deleted file mode 100644
index 6cd420a436..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/grove.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- },
- "minecraft:ore_infested"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/ice_spikes.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/ice_spikes.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/ice_spikes.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/jagged_peaks.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/jagged_peaks.json
deleted file mode 100644
index 6cd420a436..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/jagged_peaks.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- },
- "minecraft:ore_infested"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/jungle.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/jungle.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/jungle.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/lukewarm_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/lukewarm_ocean.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/lukewarm_ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/lush_caves.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/lush_caves.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/lush_caves.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/mangrove_swamp.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/mangrove_swamp.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/mangrove_swamp.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/meadow.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/meadow.json
deleted file mode 100644
index 6cd420a436..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/meadow.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- },
- "minecraft:ore_infested"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/mushroom_fields.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/mushroom_fields.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/mushroom_fields.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/nether_wastes.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/nether_wastes.json
deleted file mode 100644
index cf202e3855..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/nether_wastes.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_nether",
- "required": false
- },
- "minecraft:spring_open",
- "minecraft:patch_fire",
- "minecraft:patch_soul_fire",
- "minecraft:glowstone_extra",
- "minecraft:glowstone",
- "minecraft:brown_mushroom_nether",
- "minecraft:red_mushroom_nether",
- "minecraft:ore_magma",
- "minecraft:spring_closed",
- "minecraft:ore_gravel_nether",
- "minecraft:ore_blackstone",
- "minecraft:ore_gold_nether",
- "minecraft:ore_quartz_nether",
- "minecraft:ore_ancient_debris_large",
- "minecraft:ore_debris_small"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/ocean.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/old_growth_birch_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/old_growth_birch_forest.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/old_growth_birch_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/old_growth_pine_taiga.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/old_growth_pine_taiga.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/old_growth_pine_taiga.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/old_growth_spruce_taiga.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/old_growth_spruce_taiga.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/old_growth_spruce_taiga.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/plains.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/plains.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/plains.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/river.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/river.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/river.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/savanna.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/savanna.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/savanna.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/savanna_plateau.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/savanna_plateau.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/savanna_plateau.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/small_end_islands.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/small_end_islands.json
deleted file mode 100644
index 5cb72e2210..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/small_end_islands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/snowy_beach.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/snowy_beach.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/snowy_beach.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/snowy_plains.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/snowy_plains.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/snowy_plains.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/snowy_slopes.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/snowy_slopes.json
deleted file mode 100644
index 6cd420a436..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/snowy_slopes.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- },
- "minecraft:ore_infested"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/snowy_taiga.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/snowy_taiga.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/snowy_taiga.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/soul_sand_valley.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/soul_sand_valley.json
deleted file mode 100644
index 4ce46a9bf1..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/soul_sand_valley.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_nether",
- "required": false
- },
- "minecraft:spring_open",
- "minecraft:patch_fire",
- "minecraft:patch_soul_fire",
- "minecraft:glowstone_extra",
- "minecraft:glowstone",
- "minecraft:patch_crimson_roots",
- "minecraft:ore_magma",
- "minecraft:spring_closed",
- "minecraft:ore_soul_sand",
- "minecraft:ore_gravel_nether",
- "minecraft:ore_blackstone",
- "minecraft:ore_gold_nether",
- "minecraft:ore_quartz_nether",
- "minecraft:ore_ancient_debris_large",
- "minecraft:ore_debris_small"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/sparse_jungle.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/sparse_jungle.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/sparse_jungle.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/stony_peaks.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/stony_peaks.json
deleted file mode 100644
index 6cd420a436..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/stony_peaks.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- },
- "minecraft:ore_infested"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/stony_shore.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/stony_shore.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/stony_shore.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/sunflower_plains.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/sunflower_plains.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/sunflower_plains.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/swamp.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/swamp.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/swamp.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/taiga.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/taiga.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/taiga.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/the_end.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/the_end.json
deleted file mode 100644
index 5cb72e2210..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/the_end.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/the_void.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/the_void.json
deleted file mode 100644
index 5d341ba242..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/the_void.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "replace": false,
- "values": []
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/warm_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/warm_ocean.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/warm_ocean.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/warped_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/warped_forest.json
deleted file mode 100644
index dd09d50413..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/warped_forest.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_nether",
- "required": false
- },
- "minecraft:spring_open",
- "minecraft:patch_fire",
- "minecraft:patch_soul_fire",
- "minecraft:glowstone_extra",
- "minecraft:glowstone",
- "minecraft:ore_magma",
- "minecraft:spring_closed",
- "minecraft:ore_gravel_nether",
- "minecraft:ore_blackstone",
- "minecraft:ore_gold_nether",
- "minecraft:ore_quartz_nether",
- "minecraft:ore_ancient_debris_large",
- "minecraft:ore_debris_small"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/windswept_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/windswept_forest.json
deleted file mode 100644
index 6cd420a436..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/windswept_forest.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- },
- "minecraft:ore_infested"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/windswept_gravelly_hills.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/windswept_gravelly_hills.json
deleted file mode 100644
index 6cd420a436..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/windswept_gravelly_hills.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- },
- "minecraft:ore_infested"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/windswept_hills.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/windswept_hills.json
deleted file mode 100644
index 6cd420a436..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/windswept_hills.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- },
- "minecraft:ore_infested"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/windswept_savanna.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/windswept_savanna.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/windswept_savanna.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/wooded_badlands.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/wooded_badlands.json
deleted file mode 100644
index 5c1c91b8f8..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/wooded_badlands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_decoration/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/badlands.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/badlands.json
deleted file mode 100644
index 7a2c9ab13e..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/badlands.json
+++ /dev/null
@@ -1,39 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:ore_gold_extra",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/bamboo_jungle.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/bamboo_jungle.json
deleted file mode 100644
index 6d0a840770..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/bamboo_jungle.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/basalt_deltas.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/basalt_deltas.json
deleted file mode 100644
index 75811ae2c9..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/basalt_deltas.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/beach.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/beach.json
deleted file mode 100644
index 6d0a840770..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/beach.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/birch_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/birch_forest.json
deleted file mode 100644
index 6d0a840770..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/birch_forest.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/cherry_grove.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/cherry_grove.json
deleted file mode 100644
index c8ed0143c7..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/cherry_grove.json
+++ /dev/null
@@ -1,39 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel",
- "minecraft:ore_emerald"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/cold_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/cold_ocean.json
deleted file mode 100644
index 6d0a840770..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/cold_ocean.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/crimson_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/crimson_forest.json
deleted file mode 100644
index 75811ae2c9..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/crimson_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/dark_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/dark_forest.json
deleted file mode 100644
index 6d0a840770..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/dark_forest.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/deep_cold_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/deep_cold_ocean.json
deleted file mode 100644
index 6d0a840770..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/deep_cold_ocean.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/deep_dark.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/deep_dark.json
deleted file mode 100644
index 6d0a840770..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/deep_dark.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/deep_frozen_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/deep_frozen_ocean.json
deleted file mode 100644
index 6d0a840770..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/deep_frozen_ocean.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/deep_lukewarm_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/deep_lukewarm_ocean.json
deleted file mode 100644
index 6d0a840770..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/deep_lukewarm_ocean.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/deep_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/deep_ocean.json
deleted file mode 100644
index 6d0a840770..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/deep_ocean.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/desert.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/desert.json
deleted file mode 100644
index 6d0a840770..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/desert.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/dripstone_caves.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/dripstone_caves.json
deleted file mode 100644
index 921a24ce25..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/dripstone_caves.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper_large",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/end_barrens.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/end_barrens.json
deleted file mode 100644
index fe9ae09187..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/end_barrens.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/end_highlands.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/end_highlands.json
deleted file mode 100644
index fe9ae09187..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/end_highlands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/end_midlands.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/end_midlands.json
deleted file mode 100644
index fe9ae09187..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/end_midlands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/eroded_badlands.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/eroded_badlands.json
deleted file mode 100644
index 7a2c9ab13e..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/eroded_badlands.json
+++ /dev/null
@@ -1,39 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:ore_gold_extra",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/flower_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/flower_forest.json
deleted file mode 100644
index 6d0a840770..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/flower_forest.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/forest.json
deleted file mode 100644
index 6d0a840770..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/forest.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/frozen_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/frozen_ocean.json
deleted file mode 100644
index 6d0a840770..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/frozen_ocean.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/frozen_peaks.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/frozen_peaks.json
deleted file mode 100644
index c8ed0143c7..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/frozen_peaks.json
+++ /dev/null
@@ -1,39 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel",
- "minecraft:ore_emerald"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/frozen_river.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/frozen_river.json
deleted file mode 100644
index 6d0a840770..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/frozen_river.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/grove.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/grove.json
deleted file mode 100644
index c8ed0143c7..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/grove.json
+++ /dev/null
@@ -1,39 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel",
- "minecraft:ore_emerald"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/ice_spikes.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/ice_spikes.json
deleted file mode 100644
index 6d0a840770..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/ice_spikes.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/jagged_peaks.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/jagged_peaks.json
deleted file mode 100644
index c8ed0143c7..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/jagged_peaks.json
+++ /dev/null
@@ -1,39 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel",
- "minecraft:ore_emerald"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/jungle.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/jungle.json
deleted file mode 100644
index 6d0a840770..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/jungle.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/lukewarm_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/lukewarm_ocean.json
deleted file mode 100644
index 6d0a840770..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/lukewarm_ocean.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/lush_caves.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/lush_caves.json
deleted file mode 100644
index 4bc9ca5fe9..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/lush_caves.json
+++ /dev/null
@@ -1,39 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:ore_clay",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/mangrove_swamp.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/mangrove_swamp.json
deleted file mode 100644
index 7e0d50ea95..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/mangrove_swamp.json
+++ /dev/null
@@ -1,37 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_grass",
- "minecraft:disk_clay"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/meadow.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/meadow.json
deleted file mode 100644
index c8ed0143c7..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/meadow.json
+++ /dev/null
@@ -1,39 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel",
- "minecraft:ore_emerald"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/mushroom_fields.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/mushroom_fields.json
deleted file mode 100644
index 6d0a840770..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/mushroom_fields.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/nether_wastes.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/nether_wastes.json
deleted file mode 100644
index 75811ae2c9..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/nether_wastes.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/ocean.json
deleted file mode 100644
index 6d0a840770..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/ocean.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/old_growth_birch_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/old_growth_birch_forest.json
deleted file mode 100644
index 6d0a840770..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/old_growth_birch_forest.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/old_growth_pine_taiga.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/old_growth_pine_taiga.json
deleted file mode 100644
index 6d0a840770..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/old_growth_pine_taiga.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/old_growth_spruce_taiga.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/old_growth_spruce_taiga.json
deleted file mode 100644
index 6d0a840770..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/old_growth_spruce_taiga.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/plains.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/plains.json
deleted file mode 100644
index 6d0a840770..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/plains.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/river.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/river.json
deleted file mode 100644
index 6d0a840770..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/river.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/savanna.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/savanna.json
deleted file mode 100644
index 6d0a840770..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/savanna.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/savanna_plateau.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/savanna_plateau.json
deleted file mode 100644
index 6d0a840770..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/savanna_plateau.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/small_end_islands.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/small_end_islands.json
deleted file mode 100644
index fe9ae09187..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/small_end_islands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/snowy_beach.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/snowy_beach.json
deleted file mode 100644
index 6d0a840770..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/snowy_beach.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/snowy_plains.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/snowy_plains.json
deleted file mode 100644
index 6d0a840770..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/snowy_plains.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/snowy_slopes.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/snowy_slopes.json
deleted file mode 100644
index c8ed0143c7..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/snowy_slopes.json
+++ /dev/null
@@ -1,39 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel",
- "minecraft:ore_emerald"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/snowy_taiga.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/snowy_taiga.json
deleted file mode 100644
index 6d0a840770..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/snowy_taiga.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/soul_sand_valley.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/soul_sand_valley.json
deleted file mode 100644
index 75811ae2c9..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/soul_sand_valley.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/sparse_jungle.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/sparse_jungle.json
deleted file mode 100644
index 6d0a840770..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/sparse_jungle.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/stony_peaks.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/stony_peaks.json
deleted file mode 100644
index c8ed0143c7..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/stony_peaks.json
+++ /dev/null
@@ -1,39 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel",
- "minecraft:ore_emerald"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/stony_shore.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/stony_shore.json
deleted file mode 100644
index 6d0a840770..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/stony_shore.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/sunflower_plains.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/sunflower_plains.json
deleted file mode 100644
index 6d0a840770..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/sunflower_plains.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/swamp.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/swamp.json
deleted file mode 100644
index 5fe571ce18..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/swamp.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_clay"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/taiga.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/taiga.json
deleted file mode 100644
index 6d0a840770..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/taiga.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/the_end.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/the_end.json
deleted file mode 100644
index fe9ae09187..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/the_end.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/the_void.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/the_void.json
deleted file mode 100644
index 5d341ba242..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/the_void.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "replace": false,
- "values": []
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/warm_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/warm_ocean.json
deleted file mode 100644
index 6d0a840770..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/warm_ocean.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/warped_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/warped_forest.json
deleted file mode 100644
index 75811ae2c9..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/warped_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/windswept_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/windswept_forest.json
deleted file mode 100644
index c8ed0143c7..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/windswept_forest.json
+++ /dev/null
@@ -1,39 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel",
- "minecraft:ore_emerald"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/windswept_gravelly_hills.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/windswept_gravelly_hills.json
deleted file mode 100644
index c8ed0143c7..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/windswept_gravelly_hills.json
+++ /dev/null
@@ -1,39 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel",
- "minecraft:ore_emerald"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/windswept_hills.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/windswept_hills.json
deleted file mode 100644
index c8ed0143c7..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/windswept_hills.json
+++ /dev/null
@@ -1,39 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel",
- "minecraft:ore_emerald"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/windswept_savanna.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/windswept_savanna.json
deleted file mode 100644
index 6d0a840770..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/windswept_savanna.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/wooded_badlands.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/wooded_badlands.json
deleted file mode 100644
index 7a2c9ab13e..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/wooded_badlands.json
+++ /dev/null
@@ -1,39 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_ores/in_overworld",
- "required": false
- },
- "minecraft:ore_dirt",
- "minecraft:ore_gravel",
- "minecraft:ore_granite_upper",
- "minecraft:ore_granite_lower",
- "minecraft:ore_diorite_upper",
- "minecraft:ore_diorite_lower",
- "minecraft:ore_andesite_upper",
- "minecraft:ore_andesite_lower",
- "minecraft:ore_tuff",
- "minecraft:ore_coal_upper",
- "minecraft:ore_coal_lower",
- "minecraft:ore_iron_upper",
- "minecraft:ore_iron_middle",
- "minecraft:ore_iron_small",
- "minecraft:ore_gold",
- "minecraft:ore_gold_lower",
- "minecraft:ore_redstone",
- "minecraft:ore_redstone_lower",
- "minecraft:ore_diamond",
- "minecraft:ore_diamond_medium",
- "minecraft:ore_diamond_large",
- "minecraft:ore_diamond_buried",
- "minecraft:ore_lapis",
- "minecraft:ore_lapis_buried",
- "minecraft:ore_copper",
- "minecraft:underwater_magma",
- "minecraft:ore_gold_extra",
- "minecraft:disk_sand",
- "minecraft:disk_clay",
- "minecraft:disk_gravel"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/badlands.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/badlands.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/badlands.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/bamboo_jungle.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/bamboo_jungle.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/bamboo_jungle.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/basalt_deltas.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/basalt_deltas.json
deleted file mode 100644
index b2c24d2e6f..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/basalt_deltas.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/beach.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/beach.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/beach.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/birch_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/birch_forest.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/birch_forest.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/cherry_grove.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/cherry_grove.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/cherry_grove.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/cold_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/cold_ocean.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/cold_ocean.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/crimson_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/crimson_forest.json
deleted file mode 100644
index b2c24d2e6f..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/crimson_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/dark_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/dark_forest.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/dark_forest.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/deep_cold_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/deep_cold_ocean.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/deep_cold_ocean.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/deep_dark.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/deep_dark.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/deep_dark.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/deep_frozen_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/deep_frozen_ocean.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/deep_frozen_ocean.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/deep_lukewarm_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/deep_lukewarm_ocean.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/deep_lukewarm_ocean.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/deep_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/deep_ocean.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/deep_ocean.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/desert.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/desert.json
deleted file mode 100644
index ff89b2ec1a..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/desert.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:fossil_upper",
- "minecraft:fossil_lower",
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/dripstone_caves.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/dripstone_caves.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/dripstone_caves.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/end_barrens.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/end_barrens.json
deleted file mode 100644
index 282e8b99b0..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/end_barrens.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/end_highlands.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/end_highlands.json
deleted file mode 100644
index 282e8b99b0..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/end_highlands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/end_midlands.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/end_midlands.json
deleted file mode 100644
index 282e8b99b0..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/end_midlands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/eroded_badlands.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/eroded_badlands.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/eroded_badlands.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/flower_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/flower_forest.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/flower_forest.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/forest.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/forest.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/frozen_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/frozen_ocean.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/frozen_ocean.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/frozen_peaks.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/frozen_peaks.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/frozen_peaks.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/frozen_river.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/frozen_river.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/frozen_river.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/grove.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/grove.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/grove.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/ice_spikes.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/ice_spikes.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/ice_spikes.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/jagged_peaks.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/jagged_peaks.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/jagged_peaks.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/jungle.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/jungle.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/jungle.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/lukewarm_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/lukewarm_ocean.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/lukewarm_ocean.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/lush_caves.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/lush_caves.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/lush_caves.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/mangrove_swamp.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/mangrove_swamp.json
deleted file mode 100644
index ff89b2ec1a..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/mangrove_swamp.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:fossil_upper",
- "minecraft:fossil_lower",
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/meadow.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/meadow.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/meadow.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/mushroom_fields.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/mushroom_fields.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/mushroom_fields.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/nether_wastes.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/nether_wastes.json
deleted file mode 100644
index b2c24d2e6f..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/nether_wastes.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/ocean.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/ocean.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/old_growth_birch_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/old_growth_birch_forest.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/old_growth_birch_forest.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/old_growth_pine_taiga.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/old_growth_pine_taiga.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/old_growth_pine_taiga.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/old_growth_spruce_taiga.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/old_growth_spruce_taiga.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/old_growth_spruce_taiga.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/plains.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/plains.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/plains.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/river.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/river.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/river.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/savanna.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/savanna.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/savanna.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/savanna_plateau.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/savanna_plateau.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/savanna_plateau.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/small_end_islands.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/small_end_islands.json
deleted file mode 100644
index 282e8b99b0..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/small_end_islands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/snowy_beach.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/snowy_beach.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/snowy_beach.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/snowy_plains.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/snowy_plains.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/snowy_plains.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/snowy_slopes.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/snowy_slopes.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/snowy_slopes.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/snowy_taiga.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/snowy_taiga.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/snowy_taiga.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/soul_sand_valley.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/soul_sand_valley.json
deleted file mode 100644
index b2c24d2e6f..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/soul_sand_valley.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/sparse_jungle.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/sparse_jungle.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/sparse_jungle.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/stony_peaks.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/stony_peaks.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/stony_peaks.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/stony_shore.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/stony_shore.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/stony_shore.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/sunflower_plains.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/sunflower_plains.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/sunflower_plains.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/swamp.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/swamp.json
deleted file mode 100644
index ff89b2ec1a..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/swamp.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:fossil_upper",
- "minecraft:fossil_lower",
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/taiga.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/taiga.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/taiga.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/the_end.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/the_end.json
deleted file mode 100644
index 282e8b99b0..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/the_end.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/the_void.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/the_void.json
deleted file mode 100644
index 5d341ba242..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/the_void.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "replace": false,
- "values": []
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/warm_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/warm_ocean.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/warm_ocean.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/warped_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/warped_forest.json
deleted file mode 100644
index b2c24d2e6f..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/warped_forest.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/windswept_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/windswept_forest.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/windswept_forest.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/windswept_gravelly_hills.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/windswept_gravelly_hills.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/windswept_gravelly_hills.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/windswept_hills.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/windswept_hills.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/windswept_hills.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/windswept_savanna.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/windswept_savanna.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/windswept_savanna.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/wooded_badlands.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/wooded_badlands.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/wooded_badlands.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/badlands.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/badlands.json
deleted file mode 100644
index 942ed584de..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/badlands.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:patch_grass_badlands",
- "minecraft:patch_dead_bush_badlands",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane_badlands",
- "minecraft:patch_pumpkin",
- "minecraft:patch_cactus_decorated"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/bamboo_jungle.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/bamboo_jungle.json
deleted file mode 100644
index 4bc3d7a6a3..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/bamboo_jungle.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:bamboo",
- "minecraft:bamboo_vegetation",
- "minecraft:flower_warm",
- "minecraft:patch_grass_jungle",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin",
- "minecraft:vines",
- "minecraft:patch_melon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/basalt_deltas.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/basalt_deltas.json
deleted file mode 100644
index 4349a9fe6e..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/basalt_deltas.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_nether",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/beach.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/beach.json
deleted file mode 100644
index 13d98bcc29..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/beach.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:flower_default",
- "minecraft:patch_grass_badlands",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/birch_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/birch_forest.json
deleted file mode 100644
index dcba91ea62..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/birch_forest.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:forest_flowers",
- "minecraft:trees_birch",
- "minecraft:flower_default",
- "minecraft:patch_grass_forest",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/cherry_grove.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/cherry_grove.json
deleted file mode 100644
index fa6a39154c..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/cherry_grove.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:patch_tall_grass_2",
- "minecraft:patch_grass_plain",
- "minecraft:flower_cherry",
- "minecraft:trees_cherry"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/cold_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/cold_ocean.json
deleted file mode 100644
index 006d9e827d..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/cold_ocean.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:trees_water",
- "minecraft:flower_default",
- "minecraft:patch_grass_badlands",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin",
- "minecraft:seagrass_cold",
- "minecraft:kelp_cold"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/crimson_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/crimson_forest.json
deleted file mode 100644
index d9b01e9ef0..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/crimson_forest.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_nether",
- "required": false
- },
- "minecraft:spring_lava",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:weeping_vines",
- "minecraft:crimson_fungi",
- "minecraft:crimson_forest_vegetation"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/dark_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/dark_forest.json
deleted file mode 100644
index 6e9f5815b7..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/dark_forest.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:dark_forest_vegetation",
- "minecraft:forest_flowers",
- "minecraft:flower_default",
- "minecraft:patch_grass_forest",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/deep_cold_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/deep_cold_ocean.json
deleted file mode 100644
index 1f60c3b876..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/deep_cold_ocean.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:trees_water",
- "minecraft:flower_default",
- "minecraft:patch_grass_badlands",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin",
- "minecraft:seagrass_deep_cold",
- "minecraft:kelp_cold"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/deep_dark.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/deep_dark.json
deleted file mode 100644
index 73a2d00438..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/deep_dark.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:patch_tall_grass_2",
- "minecraft:trees_plains",
- "minecraft:flower_plains",
- "minecraft:patch_grass_plain",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/deep_frozen_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/deep_frozen_ocean.json
deleted file mode 100644
index a624a7f287..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/deep_frozen_ocean.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:trees_water",
- "minecraft:flower_default",
- "minecraft:patch_grass_badlands",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/deep_lukewarm_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/deep_lukewarm_ocean.json
deleted file mode 100644
index 03c93912e3..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/deep_lukewarm_ocean.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:trees_water",
- "minecraft:flower_default",
- "minecraft:patch_grass_badlands",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin",
- "minecraft:seagrass_deep_warm",
- "minecraft:kelp_warm"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/deep_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/deep_ocean.json
deleted file mode 100644
index 7b4adb7f41..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/deep_ocean.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:trees_water",
- "minecraft:flower_default",
- "minecraft:patch_grass_badlands",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin",
- "minecraft:seagrass_deep",
- "minecraft:kelp_cold"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/desert.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/desert.json
deleted file mode 100644
index 97addb35fc..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/desert.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:flower_default",
- "minecraft:patch_grass_badlands",
- "minecraft:patch_dead_bush_2",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane_desert",
- "minecraft:patch_pumpkin",
- "minecraft:patch_cactus_desert"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/dripstone_caves.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/dripstone_caves.json
deleted file mode 100644
index 73a2d00438..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/dripstone_caves.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:patch_tall_grass_2",
- "minecraft:trees_plains",
- "minecraft:flower_plains",
- "minecraft:patch_grass_plain",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/end_barrens.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/end_barrens.json
deleted file mode 100644
index c2ad81aedc..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/end_barrens.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/end_highlands.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/end_highlands.json
deleted file mode 100644
index 28edad356c..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/end_highlands.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_end",
- "required": false
- },
- "minecraft:chorus_plant"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/end_midlands.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/end_midlands.json
deleted file mode 100644
index c2ad81aedc..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/end_midlands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/eroded_badlands.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/eroded_badlands.json
deleted file mode 100644
index 942ed584de..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/eroded_badlands.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:patch_grass_badlands",
- "minecraft:patch_dead_bush_badlands",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane_badlands",
- "minecraft:patch_pumpkin",
- "minecraft:patch_cactus_decorated"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/flower_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/flower_forest.json
deleted file mode 100644
index 3dcac0d545..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/flower_forest.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:flower_forest_flowers",
- "minecraft:trees_flower_forest",
- "minecraft:flower_flower_forest",
- "minecraft:patch_grass_badlands",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/forest.json
deleted file mode 100644
index 08ac1eaaa2..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/forest.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:forest_flowers",
- "minecraft:trees_birch_and_oak",
- "minecraft:flower_default",
- "minecraft:patch_grass_forest",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/frozen_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/frozen_ocean.json
deleted file mode 100644
index a624a7f287..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/frozen_ocean.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:trees_water",
- "minecraft:flower_default",
- "minecraft:patch_grass_badlands",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/frozen_peaks.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/frozen_peaks.json
deleted file mode 100644
index 763ba77b96..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/frozen_peaks.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/frozen_river.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/frozen_river.json
deleted file mode 100644
index a624a7f287..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/frozen_river.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:trees_water",
- "minecraft:flower_default",
- "minecraft:patch_grass_badlands",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/grove.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/grove.json
deleted file mode 100644
index c3b3265ad1..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/grove.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:trees_grove",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/ice_spikes.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/ice_spikes.json
deleted file mode 100644
index 5b24beccfc..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/ice_spikes.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:trees_snowy",
- "minecraft:flower_default",
- "minecraft:patch_grass_badlands",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/jagged_peaks.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/jagged_peaks.json
deleted file mode 100644
index 763ba77b96..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/jagged_peaks.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/jungle.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/jungle.json
deleted file mode 100644
index 4ea85eab16..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/jungle.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:bamboo_light",
- "minecraft:trees_jungle",
- "minecraft:flower_warm",
- "minecraft:patch_grass_jungle",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin",
- "minecraft:vines",
- "minecraft:patch_melon"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/lukewarm_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/lukewarm_ocean.json
deleted file mode 100644
index 05fbaa13ad..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/lukewarm_ocean.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:trees_water",
- "minecraft:flower_default",
- "minecraft:patch_grass_badlands",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin",
- "minecraft:seagrass_warm",
- "minecraft:kelp_warm"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/lush_caves.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/lush_caves.json
deleted file mode 100644
index ae1cef986b..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/lush_caves.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:patch_tall_grass_2",
- "minecraft:lush_caves_ceiling_vegetation",
- "minecraft:cave_vines",
- "minecraft:lush_caves_clay",
- "minecraft:lush_caves_vegetation",
- "minecraft:rooted_azalea_tree",
- "minecraft:spore_blossom",
- "minecraft:classic_vines_cave_feature"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/mangrove_swamp.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/mangrove_swamp.json
deleted file mode 100644
index 9003e1532f..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/mangrove_swamp.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:trees_mangrove",
- "minecraft:patch_grass_normal",
- "minecraft:patch_dead_bush",
- "minecraft:patch_waterlily",
- "minecraft:seagrass_swamp"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/meadow.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/meadow.json
deleted file mode 100644
index 98dccd0bf2..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/meadow.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:patch_tall_grass_2",
- "minecraft:patch_grass_plain",
- "minecraft:flower_meadow",
- "minecraft:trees_meadow"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/mushroom_fields.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/mushroom_fields.json
deleted file mode 100644
index 6fb541aa47..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/mushroom_fields.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:mushroom_island_vegetation",
- "minecraft:brown_mushroom_taiga",
- "minecraft:red_mushroom_taiga",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/nether_wastes.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/nether_wastes.json
deleted file mode 100644
index b2fa7ea96b..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/nether_wastes.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_nether",
- "required": false
- },
- "minecraft:spring_lava",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/ocean.json
deleted file mode 100644
index 9f3cd64335..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/ocean.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:trees_water",
- "minecraft:flower_default",
- "minecraft:patch_grass_badlands",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin",
- "minecraft:seagrass_normal",
- "minecraft:kelp_cold"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/old_growth_birch_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/old_growth_birch_forest.json
deleted file mode 100644
index 2bfd4347f7..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/old_growth_birch_forest.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:forest_flowers",
- "minecraft:birch_tall",
- "minecraft:flower_default",
- "minecraft:patch_grass_forest",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/old_growth_pine_taiga.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/old_growth_pine_taiga.json
deleted file mode 100644
index ef77295fc2..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/old_growth_pine_taiga.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:patch_large_fern",
- "minecraft:trees_old_growth_pine_taiga",
- "minecraft:flower_default",
- "minecraft:patch_grass_taiga",
- "minecraft:patch_dead_bush",
- "minecraft:brown_mushroom_old_growth",
- "minecraft:red_mushroom_old_growth",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin",
- "minecraft:patch_berry_common"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/old_growth_spruce_taiga.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/old_growth_spruce_taiga.json
deleted file mode 100644
index 654ed1f56f..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/old_growth_spruce_taiga.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:patch_large_fern",
- "minecraft:trees_old_growth_spruce_taiga",
- "minecraft:flower_default",
- "minecraft:patch_grass_taiga",
- "minecraft:patch_dead_bush",
- "minecraft:brown_mushroom_old_growth",
- "minecraft:red_mushroom_old_growth",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin",
- "minecraft:patch_berry_common"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/plains.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/plains.json
deleted file mode 100644
index 73a2d00438..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/plains.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:patch_tall_grass_2",
- "minecraft:trees_plains",
- "minecraft:flower_plains",
- "minecraft:patch_grass_plain",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/river.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/river.json
deleted file mode 100644
index 98878236cc..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/river.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:trees_water",
- "minecraft:flower_default",
- "minecraft:patch_grass_badlands",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin",
- "minecraft:seagrass_river"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/savanna.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/savanna.json
deleted file mode 100644
index 7fd572eecd..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/savanna.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:patch_tall_grass",
- "minecraft:trees_savanna",
- "minecraft:flower_warm",
- "minecraft:patch_grass_savanna",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/savanna_plateau.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/savanna_plateau.json
deleted file mode 100644
index 7fd572eecd..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/savanna_plateau.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:patch_tall_grass",
- "minecraft:trees_savanna",
- "minecraft:flower_warm",
- "minecraft:patch_grass_savanna",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/small_end_islands.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/small_end_islands.json
deleted file mode 100644
index c2ad81aedc..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/small_end_islands.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/snowy_beach.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/snowy_beach.json
deleted file mode 100644
index 13d98bcc29..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/snowy_beach.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:flower_default",
- "minecraft:patch_grass_badlands",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/snowy_plains.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/snowy_plains.json
deleted file mode 100644
index 5b24beccfc..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/snowy_plains.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:trees_snowy",
- "minecraft:flower_default",
- "minecraft:patch_grass_badlands",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/snowy_slopes.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/snowy_slopes.json
deleted file mode 100644
index 31bf811d0c..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/snowy_slopes.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/snowy_taiga.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/snowy_taiga.json
deleted file mode 100644
index 9d9dfc56f6..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/snowy_taiga.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:patch_large_fern",
- "minecraft:trees_taiga",
- "minecraft:flower_default",
- "minecraft:patch_grass_taiga_2",
- "minecraft:brown_mushroom_taiga",
- "minecraft:red_mushroom_taiga",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin",
- "minecraft:patch_berry_rare"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/soul_sand_valley.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/soul_sand_valley.json
deleted file mode 100644
index ee1d5860b3..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/soul_sand_valley.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_nether",
- "required": false
- },
- "minecraft:spring_lava"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/sparse_jungle.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/sparse_jungle.json
deleted file mode 100644
index 54d0931c4c..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/sparse_jungle.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:trees_sparse_jungle",
- "minecraft:flower_warm",
- "minecraft:patch_grass_jungle",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin",
- "minecraft:vines",
- "minecraft:patch_melon_sparse"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/stony_peaks.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/stony_peaks.json
deleted file mode 100644
index 763ba77b96..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/stony_peaks.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/stony_shore.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/stony_shore.json
deleted file mode 100644
index 13d98bcc29..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/stony_shore.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:flower_default",
- "minecraft:patch_grass_badlands",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/sunflower_plains.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/sunflower_plains.json
deleted file mode 100644
index 62baa25894..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/sunflower_plains.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:patch_tall_grass_2",
- "minecraft:patch_sunflower",
- "minecraft:trees_plains",
- "minecraft:flower_plains",
- "minecraft:patch_grass_plain",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/swamp.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/swamp.json
deleted file mode 100644
index 38ba6bd789..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/swamp.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:trees_swamp",
- "minecraft:flower_swamp",
- "minecraft:patch_grass_normal",
- "minecraft:patch_dead_bush",
- "minecraft:patch_waterlily",
- "minecraft:brown_mushroom_swamp",
- "minecraft:red_mushroom_swamp",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane_swamp",
- "minecraft:patch_pumpkin",
- "minecraft:seagrass_swamp"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/taiga.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/taiga.json
deleted file mode 100644
index 054b2fdfd3..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/taiga.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:patch_large_fern",
- "minecraft:trees_taiga",
- "minecraft:flower_default",
- "minecraft:patch_grass_taiga_2",
- "minecraft:brown_mushroom_taiga",
- "minecraft:red_mushroom_taiga",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin",
- "minecraft:patch_berry_common"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/the_end.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/the_end.json
deleted file mode 100644
index c2ad81aedc..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/the_end.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_end",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/the_void.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/the_void.json
deleted file mode 100644
index 5d341ba242..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/the_void.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "replace": false,
- "values": []
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/warm_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/warm_ocean.json
deleted file mode 100644
index eecc3476dd..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/warm_ocean.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:trees_water",
- "minecraft:flower_default",
- "minecraft:patch_grass_badlands",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin",
- "minecraft:warm_ocean_vegetation",
- "minecraft:seagrass_warm",
- "minecraft:sea_pickle"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/warped_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/warped_forest.json
deleted file mode 100644
index 9c6a493175..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/warped_forest.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_nether",
- "required": false
- },
- "minecraft:spring_lava",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:warped_fungi",
- "minecraft:warped_forest_vegetation",
- "minecraft:nether_sprouts",
- "minecraft:twisting_vines"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/windswept_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/windswept_forest.json
deleted file mode 100644
index 4f0dd143b0..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/windswept_forest.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:trees_windswept_forest",
- "minecraft:flower_default",
- "minecraft:patch_grass_badlands",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/windswept_gravelly_hills.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/windswept_gravelly_hills.json
deleted file mode 100644
index a25b54a207..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/windswept_gravelly_hills.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:trees_windswept_hills",
- "minecraft:flower_default",
- "minecraft:patch_grass_badlands",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/windswept_hills.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/windswept_hills.json
deleted file mode 100644
index a25b54a207..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/windswept_hills.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:trees_windswept_hills",
- "minecraft:flower_default",
- "minecraft:patch_grass_badlands",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/windswept_savanna.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/windswept_savanna.json
deleted file mode 100644
index 6434f5009f..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/windswept_savanna.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:trees_windswept_savanna",
- "minecraft:flower_default",
- "minecraft:patch_grass_normal",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/wooded_badlands.json b/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/wooded_badlands.json
deleted file mode 100644
index 87fa18f9c2..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/wooded_badlands.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:trees_badlands",
- "minecraft:patch_grass_badlands",
- "minecraft:patch_dead_bush_badlands",
- "minecraft:brown_mushroom_normal",
- "minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane_badlands",
- "minecraft:patch_pumpkin",
- "minecraft:patch_cactus_decorated"
- ]
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/badlands.json b/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/badlands.json
deleted file mode 100644
index 160aee68e5..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/badlands.json
+++ /dev/null
@@ -1,121 +0,0 @@
-{
- "carvers": "#minecraft:in_biome/badlands",
- "creature_spawn_probability": 0.03,
- "downfall": 0.0,
- "effects": {
- "fog_color": 12638463,
- "foliage_color": 10387789,
- "grass_color": 9470285,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "music": {
- "max_delay": 24000,
- "min_delay": 12000,
- "replace_current_music": false,
- "sound": "minecraft:music.overworld.badlands"
- },
- "sky_color": 7254527,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/badlands",
- "#minecraft:lakes/in_biome/badlands",
- "#minecraft:local_modifications/in_biome/badlands",
- "#minecraft:underground_structures/in_biome/badlands",
- "#minecraft:surface_structures/in_biome/badlands",
- "#minecraft:strongholds/in_biome/badlands",
- "#minecraft:underground_ores/in_biome/badlands",
- "#minecraft:underground_decoration/in_biome/badlands",
- "#minecraft:fluid_springs/in_biome/badlands",
- "#minecraft:vegetal_decoration/in_biome/badlands",
- "#minecraft:top_layer_modification/in_biome/badlands"
- ],
- "has_precipitation": false,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:armadillo",
- "maxCount": 2,
- "minCount": 1,
- "weight": 6
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 2.0
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/bamboo_jungle.json b/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/bamboo_jungle.json
deleted file mode 100644
index ab3035d7e9..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/bamboo_jungle.json
+++ /dev/null
@@ -1,160 +0,0 @@
-{
- "carvers": "#minecraft:in_biome/bamboo_jungle",
- "downfall": 0.9,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "music": {
- "max_delay": 24000,
- "min_delay": 12000,
- "replace_current_music": false,
- "sound": "minecraft:music.overworld.bamboo_jungle"
- },
- "sky_color": 7842047,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/bamboo_jungle",
- "#minecraft:lakes/in_biome/bamboo_jungle",
- "#minecraft:local_modifications/in_biome/bamboo_jungle",
- "#minecraft:underground_structures/in_biome/bamboo_jungle",
- "#minecraft:surface_structures/in_biome/bamboo_jungle",
- "#minecraft:strongholds/in_biome/bamboo_jungle",
- "#minecraft:underground_ores/in_biome/bamboo_jungle",
- "#minecraft:underground_decoration/in_biome/bamboo_jungle",
- "#minecraft:fluid_springs/in_biome/bamboo_jungle",
- "#minecraft:vegetal_decoration/in_biome/bamboo_jungle",
- "#minecraft:top_layer_modification/in_biome/bamboo_jungle"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:sheep",
- "maxCount": 4,
- "minCount": 4,
- "weight": 12
- },
- {
- "type": "minecraft:pig",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:chicken",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:cow",
- "maxCount": 4,
- "minCount": 4,
- "weight": 8
- },
- {
- "type": "minecraft:chicken",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:parrot",
- "maxCount": 2,
- "minCount": 1,
- "weight": 40
- },
- {
- "type": "minecraft:panda",
- "maxCount": 2,
- "minCount": 1,
- "weight": 80
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:ocelot",
- "maxCount": 1,
- "minCount": 1,
- "weight": 2
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 0.95
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/basalt_deltas.json b/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/basalt_deltas.json
deleted file mode 100644
index de3db49d80..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/basalt_deltas.json
+++ /dev/null
@@ -1,79 +0,0 @@
-{
- "carvers": "#minecraft:in_biome/basalt_deltas",
- "downfall": 0.0,
- "effects": {
- "additions_sound": {
- "sound": "minecraft:ambient.basalt_deltas.additions",
- "tick_chance": 0.0111
- },
- "ambient_sound": "minecraft:ambient.basalt_deltas.loop",
- "fog_color": 6840176,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.basalt_deltas.mood",
- "tick_delay": 6000
- },
- "music": {
- "max_delay": 24000,
- "min_delay": 12000,
- "replace_current_music": false,
- "sound": "minecraft:music.nether.basalt_deltas"
- },
- "particle": {
- "options": {
- "type": "minecraft:white_ash"
- },
- "probability": 0.118093334
- },
- "sky_color": 7254527,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/basalt_deltas",
- "#minecraft:lakes/in_biome/basalt_deltas",
- "#minecraft:local_modifications/in_biome/basalt_deltas",
- "#minecraft:underground_structures/in_biome/basalt_deltas",
- "#minecraft:surface_structures/in_biome/basalt_deltas",
- "#minecraft:strongholds/in_biome/basalt_deltas",
- "#minecraft:underground_ores/in_biome/basalt_deltas",
- "#minecraft:underground_decoration/in_biome/basalt_deltas",
- "#minecraft:fluid_springs/in_biome/basalt_deltas",
- "#minecraft:vegetal_decoration/in_biome/basalt_deltas",
- "#minecraft:top_layer_modification/in_biome/basalt_deltas"
- ],
- "has_precipitation": false,
- "spawn_costs": {},
- "spawners": {
- "ambient": [],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:strider",
- "maxCount": 2,
- "minCount": 1,
- "weight": 60
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:ghast",
- "maxCount": 1,
- "minCount": 1,
- "weight": 40
- },
- {
- "type": "minecraft:magma_cube",
- "maxCount": 5,
- "minCount": 2,
- "weight": 100
- }
- ],
- "underground_water_creature": [],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 2.0
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/beach.json b/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/beach.json
deleted file mode 100644
index abb4eab79a..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/beach.json
+++ /dev/null
@@ -1,112 +0,0 @@
-{
- "carvers": "#minecraft:in_biome/beach",
- "downfall": 0.4,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "sky_color": 7907327,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/beach",
- "#minecraft:lakes/in_biome/beach",
- "#minecraft:local_modifications/in_biome/beach",
- "#minecraft:underground_structures/in_biome/beach",
- "#minecraft:surface_structures/in_biome/beach",
- "#minecraft:strongholds/in_biome/beach",
- "#minecraft:underground_ores/in_biome/beach",
- "#minecraft:underground_decoration/in_biome/beach",
- "#minecraft:fluid_springs/in_biome/beach",
- "#minecraft:vegetal_decoration/in_biome/beach",
- "#minecraft:top_layer_modification/in_biome/beach"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:turtle",
- "maxCount": 5,
- "minCount": 2,
- "weight": 5
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 0.8
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/birch_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/birch_forest.json
deleted file mode 100644
index b96f3b49a3..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/birch_forest.json
+++ /dev/null
@@ -1,136 +0,0 @@
-{
- "carvers": "#minecraft:in_biome/birch_forest",
- "downfall": 0.6,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "music": {
- "max_delay": 24000,
- "min_delay": 12000,
- "replace_current_music": false,
- "sound": "minecraft:music.overworld.forest"
- },
- "sky_color": 8037887,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/birch_forest",
- "#minecraft:lakes/in_biome/birch_forest",
- "#minecraft:local_modifications/in_biome/birch_forest",
- "#minecraft:underground_structures/in_biome/birch_forest",
- "#minecraft:surface_structures/in_biome/birch_forest",
- "#minecraft:strongholds/in_biome/birch_forest",
- "#minecraft:underground_ores/in_biome/birch_forest",
- "#minecraft:underground_decoration/in_biome/birch_forest",
- "#minecraft:fluid_springs/in_biome/birch_forest",
- "#minecraft:vegetal_decoration/in_biome/birch_forest",
- "#minecraft:top_layer_modification/in_biome/birch_forest"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:sheep",
- "maxCount": 4,
- "minCount": 4,
- "weight": 12
- },
- {
- "type": "minecraft:pig",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:chicken",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:cow",
- "maxCount": 4,
- "minCount": 4,
- "weight": 8
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 0.6
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/cherry_grove.json b/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/cherry_grove.json
deleted file mode 100644
index 6934ef4911..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/cherry_grove.json
+++ /dev/null
@@ -1,132 +0,0 @@
-{
- "carvers": "#minecraft:in_biome/cherry_grove",
- "downfall": 0.8,
- "effects": {
- "fog_color": 12638463,
- "foliage_color": 11983713,
- "grass_color": 11983713,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "music": {
- "max_delay": 24000,
- "min_delay": 12000,
- "replace_current_music": false,
- "sound": "minecraft:music.overworld.cherry_grove"
- },
- "sky_color": 8103167,
- "water_color": 6141935,
- "water_fog_color": 6141935
- },
- "features": [
- "#minecraft:raw_generation/in_biome/cherry_grove",
- "#minecraft:lakes/in_biome/cherry_grove",
- "#minecraft:local_modifications/in_biome/cherry_grove",
- "#minecraft:underground_structures/in_biome/cherry_grove",
- "#minecraft:surface_structures/in_biome/cherry_grove",
- "#minecraft:strongholds/in_biome/cherry_grove",
- "#minecraft:underground_ores/in_biome/cherry_grove",
- "#minecraft:underground_decoration/in_biome/cherry_grove",
- "#minecraft:fluid_springs/in_biome/cherry_grove",
- "#minecraft:vegetal_decoration/in_biome/cherry_grove",
- "#minecraft:top_layer_modification/in_biome/cherry_grove"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:pig",
- "maxCount": 2,
- "minCount": 1,
- "weight": 1
- },
- {
- "type": "minecraft:rabbit",
- "maxCount": 6,
- "minCount": 2,
- "weight": 2
- },
- {
- "type": "minecraft:sheep",
- "maxCount": 4,
- "minCount": 2,
- "weight": 2
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 0.5
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/cold_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/cold_ocean.json
deleted file mode 100644
index a67caf6c37..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/cold_ocean.json
+++ /dev/null
@@ -1,131 +0,0 @@
-{
- "carvers": "#minecraft:in_biome/cold_ocean",
- "downfall": 0.5,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "sky_color": 8103167,
- "water_color": 4020182,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/cold_ocean",
- "#minecraft:lakes/in_biome/cold_ocean",
- "#minecraft:local_modifications/in_biome/cold_ocean",
- "#minecraft:underground_structures/in_biome/cold_ocean",
- "#minecraft:surface_structures/in_biome/cold_ocean",
- "#minecraft:strongholds/in_biome/cold_ocean",
- "#minecraft:underground_ores/in_biome/cold_ocean",
- "#minecraft:underground_decoration/in_biome/cold_ocean",
- "#minecraft:fluid_springs/in_biome/cold_ocean",
- "#minecraft:vegetal_decoration/in_biome/cold_ocean",
- "#minecraft:top_layer_modification/in_biome/cold_ocean"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:drowned",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [
- {
- "type": "minecraft:cod",
- "maxCount": 6,
- "minCount": 3,
- "weight": 15
- },
- {
- "type": "minecraft:salmon",
- "maxCount": 5,
- "minCount": 1,
- "weight": 15
- }
- ],
- "water_creature": [
- {
- "type": "minecraft:squid",
- "maxCount": 4,
- "minCount": 1,
- "weight": 3
- }
- ]
- },
- "temperature": 0.5
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/crimson_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/crimson_forest.json
deleted file mode 100644
index f0fb135b4c..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/crimson_forest.json
+++ /dev/null
@@ -1,85 +0,0 @@
-{
- "carvers": "#minecraft:in_biome/crimson_forest",
- "downfall": 0.0,
- "effects": {
- "additions_sound": {
- "sound": "minecraft:ambient.crimson_forest.additions",
- "tick_chance": 0.0111
- },
- "ambient_sound": "minecraft:ambient.crimson_forest.loop",
- "fog_color": 3343107,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.crimson_forest.mood",
- "tick_delay": 6000
- },
- "music": {
- "max_delay": 24000,
- "min_delay": 12000,
- "replace_current_music": false,
- "sound": "minecraft:music.nether.crimson_forest"
- },
- "particle": {
- "options": {
- "type": "minecraft:crimson_spore"
- },
- "probability": 0.025
- },
- "sky_color": 7254527,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/crimson_forest",
- "#minecraft:lakes/in_biome/crimson_forest",
- "#minecraft:local_modifications/in_biome/crimson_forest",
- "#minecraft:underground_structures/in_biome/crimson_forest",
- "#minecraft:surface_structures/in_biome/crimson_forest",
- "#minecraft:strongholds/in_biome/crimson_forest",
- "#minecraft:underground_ores/in_biome/crimson_forest",
- "#minecraft:underground_decoration/in_biome/crimson_forest",
- "#minecraft:fluid_springs/in_biome/crimson_forest",
- "#minecraft:vegetal_decoration/in_biome/crimson_forest",
- "#minecraft:top_layer_modification/in_biome/crimson_forest"
- ],
- "has_precipitation": false,
- "spawn_costs": {},
- "spawners": {
- "ambient": [],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:strider",
- "maxCount": 2,
- "minCount": 1,
- "weight": 60
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:zombified_piglin",
- "maxCount": 4,
- "minCount": 2,
- "weight": 1
- },
- {
- "type": "minecraft:hoglin",
- "maxCount": 4,
- "minCount": 3,
- "weight": 9
- },
- {
- "type": "minecraft:piglin",
- "maxCount": 4,
- "minCount": 3,
- "weight": 5
- }
- ],
- "underground_water_creature": [],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 2.0
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/dark_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/dark_forest.json
deleted file mode 100644
index 656901576f..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/dark_forest.json
+++ /dev/null
@@ -1,137 +0,0 @@
-{
- "carvers": "#minecraft:in_biome/dark_forest",
- "downfall": 0.8,
- "effects": {
- "fog_color": 12638463,
- "grass_color_modifier": "dark_forest",
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "music": {
- "max_delay": 24000,
- "min_delay": 12000,
- "replace_current_music": false,
- "sound": "minecraft:music.overworld.forest"
- },
- "sky_color": 7972607,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/dark_forest",
- "#minecraft:lakes/in_biome/dark_forest",
- "#minecraft:local_modifications/in_biome/dark_forest",
- "#minecraft:underground_structures/in_biome/dark_forest",
- "#minecraft:surface_structures/in_biome/dark_forest",
- "#minecraft:strongholds/in_biome/dark_forest",
- "#minecraft:underground_ores/in_biome/dark_forest",
- "#minecraft:underground_decoration/in_biome/dark_forest",
- "#minecraft:fluid_springs/in_biome/dark_forest",
- "#minecraft:vegetal_decoration/in_biome/dark_forest",
- "#minecraft:top_layer_modification/in_biome/dark_forest"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:sheep",
- "maxCount": 4,
- "minCount": 4,
- "weight": 12
- },
- {
- "type": "minecraft:pig",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:chicken",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:cow",
- "maxCount": 4,
- "minCount": 4,
- "weight": 8
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 0.7
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/deep_cold_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/deep_cold_ocean.json
deleted file mode 100644
index 7e0492095f..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/deep_cold_ocean.json
+++ /dev/null
@@ -1,131 +0,0 @@
-{
- "carvers": "#minecraft:in_biome/deep_cold_ocean",
- "downfall": 0.5,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "sky_color": 8103167,
- "water_color": 4020182,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/deep_cold_ocean",
- "#minecraft:lakes/in_biome/deep_cold_ocean",
- "#minecraft:local_modifications/in_biome/deep_cold_ocean",
- "#minecraft:underground_structures/in_biome/deep_cold_ocean",
- "#minecraft:surface_structures/in_biome/deep_cold_ocean",
- "#minecraft:strongholds/in_biome/deep_cold_ocean",
- "#minecraft:underground_ores/in_biome/deep_cold_ocean",
- "#minecraft:underground_decoration/in_biome/deep_cold_ocean",
- "#minecraft:fluid_springs/in_biome/deep_cold_ocean",
- "#minecraft:vegetal_decoration/in_biome/deep_cold_ocean",
- "#minecraft:top_layer_modification/in_biome/deep_cold_ocean"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:drowned",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [
- {
- "type": "minecraft:cod",
- "maxCount": 6,
- "minCount": 3,
- "weight": 15
- },
- {
- "type": "minecraft:salmon",
- "maxCount": 5,
- "minCount": 1,
- "weight": 15
- }
- ],
- "water_creature": [
- {
- "type": "minecraft:squid",
- "maxCount": 4,
- "minCount": 1,
- "weight": 3
- }
- ]
- },
- "temperature": 0.5
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/deep_dark.json b/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/deep_dark.json
deleted file mode 100644
index ada0f1d036..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/deep_dark.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "carvers": "#minecraft:in_biome/deep_dark",
- "downfall": 0.4,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "music": {
- "max_delay": 24000,
- "min_delay": 12000,
- "replace_current_music": false,
- "sound": "minecraft:music.overworld.deep_dark"
- },
- "sky_color": 7907327,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/deep_dark",
- "#minecraft:lakes/in_biome/deep_dark",
- "#minecraft:local_modifications/in_biome/deep_dark",
- "#minecraft:underground_structures/in_biome/deep_dark",
- "#minecraft:surface_structures/in_biome/deep_dark",
- "#minecraft:strongholds/in_biome/deep_dark",
- "#minecraft:underground_ores/in_biome/deep_dark",
- "#minecraft:underground_decoration/in_biome/deep_dark",
- "#minecraft:fluid_springs/in_biome/deep_dark",
- "#minecraft:vegetal_decoration/in_biome/deep_dark",
- "#minecraft:top_layer_modification/in_biome/deep_dark"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [],
- "axolotls": [],
- "creature": [],
- "misc": [],
- "monster": [],
- "underground_water_creature": [],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 0.8
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/deep_frozen_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/deep_frozen_ocean.json
deleted file mode 100644
index 7cb674e20a..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/deep_frozen_ocean.json
+++ /dev/null
@@ -1,133 +0,0 @@
-{
- "carvers": "#minecraft:in_biome/deep_frozen_ocean",
- "downfall": 0.5,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "sky_color": 8103167,
- "water_color": 3750089,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/deep_frozen_ocean",
- "#minecraft:lakes/in_biome/deep_frozen_ocean",
- "#minecraft:local_modifications/in_biome/deep_frozen_ocean",
- "#minecraft:underground_structures/in_biome/deep_frozen_ocean",
- "#minecraft:surface_structures/in_biome/deep_frozen_ocean",
- "#minecraft:strongholds/in_biome/deep_frozen_ocean",
- "#minecraft:underground_ores/in_biome/deep_frozen_ocean",
- "#minecraft:underground_decoration/in_biome/deep_frozen_ocean",
- "#minecraft:fluid_springs/in_biome/deep_frozen_ocean",
- "#minecraft:vegetal_decoration/in_biome/deep_frozen_ocean",
- "#minecraft:top_layer_modification/in_biome/deep_frozen_ocean"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:polar_bear",
- "maxCount": 2,
- "minCount": 1,
- "weight": 1
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:drowned",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [
- {
- "type": "minecraft:salmon",
- "maxCount": 5,
- "minCount": 1,
- "weight": 15
- }
- ],
- "water_creature": [
- {
- "type": "minecraft:squid",
- "maxCount": 4,
- "minCount": 1,
- "weight": 1
- }
- ]
- },
- "temperature": 0.5,
- "temperature_modifier": "frozen"
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/deep_lukewarm_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/deep_lukewarm_ocean.json
deleted file mode 100644
index 6d9eab266a..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/deep_lukewarm_ocean.json
+++ /dev/null
@@ -1,143 +0,0 @@
-{
- "carvers": "#minecraft:in_biome/deep_lukewarm_ocean",
- "downfall": 0.5,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "sky_color": 8103167,
- "water_color": 4566514,
- "water_fog_color": 267827
- },
- "features": [
- "#minecraft:raw_generation/in_biome/deep_lukewarm_ocean",
- "#minecraft:lakes/in_biome/deep_lukewarm_ocean",
- "#minecraft:local_modifications/in_biome/deep_lukewarm_ocean",
- "#minecraft:underground_structures/in_biome/deep_lukewarm_ocean",
- "#minecraft:surface_structures/in_biome/deep_lukewarm_ocean",
- "#minecraft:strongholds/in_biome/deep_lukewarm_ocean",
- "#minecraft:underground_ores/in_biome/deep_lukewarm_ocean",
- "#minecraft:underground_decoration/in_biome/deep_lukewarm_ocean",
- "#minecraft:fluid_springs/in_biome/deep_lukewarm_ocean",
- "#minecraft:vegetal_decoration/in_biome/deep_lukewarm_ocean",
- "#minecraft:top_layer_modification/in_biome/deep_lukewarm_ocean"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:drowned",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [
- {
- "type": "minecraft:cod",
- "maxCount": 6,
- "minCount": 3,
- "weight": 8
- },
- {
- "type": "minecraft:pufferfish",
- "maxCount": 3,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:tropical_fish",
- "maxCount": 8,
- "minCount": 8,
- "weight": 25
- }
- ],
- "water_creature": [
- {
- "type": "minecraft:squid",
- "maxCount": 4,
- "minCount": 1,
- "weight": 8
- },
- {
- "type": "minecraft:dolphin",
- "maxCount": 2,
- "minCount": 1,
- "weight": 2
- }
- ]
- },
- "temperature": 0.5
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/deep_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/deep_ocean.json
deleted file mode 100644
index 9c2770210d..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/deep_ocean.json
+++ /dev/null
@@ -1,131 +0,0 @@
-{
- "carvers": "#minecraft:in_biome/deep_ocean",
- "downfall": 0.5,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "sky_color": 8103167,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/deep_ocean",
- "#minecraft:lakes/in_biome/deep_ocean",
- "#minecraft:local_modifications/in_biome/deep_ocean",
- "#minecraft:underground_structures/in_biome/deep_ocean",
- "#minecraft:surface_structures/in_biome/deep_ocean",
- "#minecraft:strongholds/in_biome/deep_ocean",
- "#minecraft:underground_ores/in_biome/deep_ocean",
- "#minecraft:underground_decoration/in_biome/deep_ocean",
- "#minecraft:fluid_springs/in_biome/deep_ocean",
- "#minecraft:vegetal_decoration/in_biome/deep_ocean",
- "#minecraft:top_layer_modification/in_biome/deep_ocean"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:drowned",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [
- {
- "type": "minecraft:cod",
- "maxCount": 6,
- "minCount": 3,
- "weight": 10
- }
- ],
- "water_creature": [
- {
- "type": "minecraft:squid",
- "maxCount": 4,
- "minCount": 1,
- "weight": 1
- },
- {
- "type": "minecraft:dolphin",
- "maxCount": 2,
- "minCount": 1,
- "weight": 1
- }
- ]
- },
- "temperature": 0.5
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/desert.json b/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/desert.json
deleted file mode 100644
index 3f05e0dcd6..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/desert.json
+++ /dev/null
@@ -1,124 +0,0 @@
-{
- "carvers": "#minecraft:in_biome/desert",
- "downfall": 0.0,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "music": {
- "max_delay": 24000,
- "min_delay": 12000,
- "replace_current_music": false,
- "sound": "minecraft:music.overworld.desert"
- },
- "sky_color": 7254527,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/desert",
- "#minecraft:lakes/in_biome/desert",
- "#minecraft:local_modifications/in_biome/desert",
- "#minecraft:underground_structures/in_biome/desert",
- "#minecraft:surface_structures/in_biome/desert",
- "#minecraft:strongholds/in_biome/desert",
- "#minecraft:underground_ores/in_biome/desert",
- "#minecraft:underground_decoration/in_biome/desert",
- "#minecraft:fluid_springs/in_biome/desert",
- "#minecraft:vegetal_decoration/in_biome/desert",
- "#minecraft:top_layer_modification/in_biome/desert"
- ],
- "has_precipitation": false,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:rabbit",
- "maxCount": 3,
- "minCount": 2,
- "weight": 4
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 19
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 1
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:husk",
- "maxCount": 4,
- "minCount": 4,
- "weight": 80
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 2.0
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/dripstone_caves.json b/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/dripstone_caves.json
deleted file mode 100644
index 4438a83afc..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/dripstone_caves.json
+++ /dev/null
@@ -1,117 +0,0 @@
-{
- "carvers": "#minecraft:in_biome/dripstone_caves",
- "downfall": 0.4,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "music": {
- "max_delay": 24000,
- "min_delay": 12000,
- "replace_current_music": false,
- "sound": "minecraft:music.overworld.dripstone_caves"
- },
- "sky_color": 7907327,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/dripstone_caves",
- "#minecraft:lakes/in_biome/dripstone_caves",
- "#minecraft:local_modifications/in_biome/dripstone_caves",
- "#minecraft:underground_structures/in_biome/dripstone_caves",
- "#minecraft:surface_structures/in_biome/dripstone_caves",
- "#minecraft:strongholds/in_biome/dripstone_caves",
- "#minecraft:underground_ores/in_biome/dripstone_caves",
- "#minecraft:underground_decoration/in_biome/dripstone_caves",
- "#minecraft:fluid_springs/in_biome/dripstone_caves",
- "#minecraft:vegetal_decoration/in_biome/dripstone_caves",
- "#minecraft:top_layer_modification/in_biome/dripstone_caves"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:drowned",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 0.8
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/end_barrens.json b/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/end_barrens.json
deleted file mode 100644
index 761f83fb72..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/end_barrens.json
+++ /dev/null
@@ -1,49 +0,0 @@
-{
- "carvers": "#minecraft:in_biome/end_barrens",
- "downfall": 0.5,
- "effects": {
- "fog_color": 10518688,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "sky_color": 0,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/end_barrens",
- "#minecraft:lakes/in_biome/end_barrens",
- "#minecraft:local_modifications/in_biome/end_barrens",
- "#minecraft:underground_structures/in_biome/end_barrens",
- "#minecraft:surface_structures/in_biome/end_barrens",
- "#minecraft:strongholds/in_biome/end_barrens",
- "#minecraft:underground_ores/in_biome/end_barrens",
- "#minecraft:underground_decoration/in_biome/end_barrens",
- "#minecraft:fluid_springs/in_biome/end_barrens",
- "#minecraft:vegetal_decoration/in_biome/end_barrens",
- "#minecraft:top_layer_modification/in_biome/end_barrens"
- ],
- "has_precipitation": false,
- "spawn_costs": {},
- "spawners": {
- "ambient": [],
- "axolotls": [],
- "creature": [],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- }
- ],
- "underground_water_creature": [],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 0.5
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/end_highlands.json b/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/end_highlands.json
deleted file mode 100644
index 1e94b54142..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/end_highlands.json
+++ /dev/null
@@ -1,49 +0,0 @@
-{
- "carvers": "#minecraft:in_biome/end_highlands",
- "downfall": 0.5,
- "effects": {
- "fog_color": 10518688,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "sky_color": 0,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/end_highlands",
- "#minecraft:lakes/in_biome/end_highlands",
- "#minecraft:local_modifications/in_biome/end_highlands",
- "#minecraft:underground_structures/in_biome/end_highlands",
- "#minecraft:surface_structures/in_biome/end_highlands",
- "#minecraft:strongholds/in_biome/end_highlands",
- "#minecraft:underground_ores/in_biome/end_highlands",
- "#minecraft:underground_decoration/in_biome/end_highlands",
- "#minecraft:fluid_springs/in_biome/end_highlands",
- "#minecraft:vegetal_decoration/in_biome/end_highlands",
- "#minecraft:top_layer_modification/in_biome/end_highlands"
- ],
- "has_precipitation": false,
- "spawn_costs": {},
- "spawners": {
- "ambient": [],
- "axolotls": [],
- "creature": [],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- }
- ],
- "underground_water_creature": [],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 0.5
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/end_midlands.json b/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/end_midlands.json
deleted file mode 100644
index 8ee6a657c0..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/end_midlands.json
+++ /dev/null
@@ -1,49 +0,0 @@
-{
- "carvers": "#minecraft:in_biome/end_midlands",
- "downfall": 0.5,
- "effects": {
- "fog_color": 10518688,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "sky_color": 0,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/end_midlands",
- "#minecraft:lakes/in_biome/end_midlands",
- "#minecraft:local_modifications/in_biome/end_midlands",
- "#minecraft:underground_structures/in_biome/end_midlands",
- "#minecraft:surface_structures/in_biome/end_midlands",
- "#minecraft:strongholds/in_biome/end_midlands",
- "#minecraft:underground_ores/in_biome/end_midlands",
- "#minecraft:underground_decoration/in_biome/end_midlands",
- "#minecraft:fluid_springs/in_biome/end_midlands",
- "#minecraft:vegetal_decoration/in_biome/end_midlands",
- "#minecraft:top_layer_modification/in_biome/end_midlands"
- ],
- "has_precipitation": false,
- "spawn_costs": {},
- "spawners": {
- "ambient": [],
- "axolotls": [],
- "creature": [],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- }
- ],
- "underground_water_creature": [],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 0.5
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/eroded_badlands.json b/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/eroded_badlands.json
deleted file mode 100644
index 520586deeb..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/eroded_badlands.json
+++ /dev/null
@@ -1,121 +0,0 @@
-{
- "carvers": "#minecraft:in_biome/eroded_badlands",
- "creature_spawn_probability": 0.03,
- "downfall": 0.0,
- "effects": {
- "fog_color": 12638463,
- "foliage_color": 10387789,
- "grass_color": 9470285,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "music": {
- "max_delay": 24000,
- "min_delay": 12000,
- "replace_current_music": false,
- "sound": "minecraft:music.overworld.badlands"
- },
- "sky_color": 7254527,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/eroded_badlands",
- "#minecraft:lakes/in_biome/eroded_badlands",
- "#minecraft:local_modifications/in_biome/eroded_badlands",
- "#minecraft:underground_structures/in_biome/eroded_badlands",
- "#minecraft:surface_structures/in_biome/eroded_badlands",
- "#minecraft:strongholds/in_biome/eroded_badlands",
- "#minecraft:underground_ores/in_biome/eroded_badlands",
- "#minecraft:underground_decoration/in_biome/eroded_badlands",
- "#minecraft:fluid_springs/in_biome/eroded_badlands",
- "#minecraft:vegetal_decoration/in_biome/eroded_badlands",
- "#minecraft:top_layer_modification/in_biome/eroded_badlands"
- ],
- "has_precipitation": false,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:armadillo",
- "maxCount": 2,
- "minCount": 1,
- "weight": 6
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 2.0
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/flower_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/flower_forest.json
deleted file mode 100644
index 03afb74882..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/flower_forest.json
+++ /dev/null
@@ -1,142 +0,0 @@
-{
- "carvers": "#minecraft:in_biome/flower_forest",
- "downfall": 0.8,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "music": {
- "max_delay": 24000,
- "min_delay": 12000,
- "replace_current_music": false,
- "sound": "minecraft:music.overworld.flower_forest"
- },
- "sky_color": 7972607,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/flower_forest",
- "#minecraft:lakes/in_biome/flower_forest",
- "#minecraft:local_modifications/in_biome/flower_forest",
- "#minecraft:underground_structures/in_biome/flower_forest",
- "#minecraft:surface_structures/in_biome/flower_forest",
- "#minecraft:strongholds/in_biome/flower_forest",
- "#minecraft:underground_ores/in_biome/flower_forest",
- "#minecraft:underground_decoration/in_biome/flower_forest",
- "#minecraft:fluid_springs/in_biome/flower_forest",
- "#minecraft:vegetal_decoration/in_biome/flower_forest",
- "#minecraft:top_layer_modification/in_biome/flower_forest"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:sheep",
- "maxCount": 4,
- "minCount": 4,
- "weight": 12
- },
- {
- "type": "minecraft:pig",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:chicken",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:cow",
- "maxCount": 4,
- "minCount": 4,
- "weight": 8
- },
- {
- "type": "minecraft:rabbit",
- "maxCount": 3,
- "minCount": 2,
- "weight": 4
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 0.7
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/forest.json b/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/forest.json
deleted file mode 100644
index 1033bf7235..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/forest.json
+++ /dev/null
@@ -1,142 +0,0 @@
-{
- "carvers": "#minecraft:in_biome/forest",
- "downfall": 0.8,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "music": {
- "max_delay": 24000,
- "min_delay": 12000,
- "replace_current_music": false,
- "sound": "minecraft:music.overworld.forest"
- },
- "sky_color": 7972607,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/forest",
- "#minecraft:lakes/in_biome/forest",
- "#minecraft:local_modifications/in_biome/forest",
- "#minecraft:underground_structures/in_biome/forest",
- "#minecraft:surface_structures/in_biome/forest",
- "#minecraft:strongholds/in_biome/forest",
- "#minecraft:underground_ores/in_biome/forest",
- "#minecraft:underground_decoration/in_biome/forest",
- "#minecraft:fluid_springs/in_biome/forest",
- "#minecraft:vegetal_decoration/in_biome/forest",
- "#minecraft:top_layer_modification/in_biome/forest"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:sheep",
- "maxCount": 4,
- "minCount": 4,
- "weight": 12
- },
- {
- "type": "minecraft:pig",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:chicken",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:cow",
- "maxCount": 4,
- "minCount": 4,
- "weight": 8
- },
- {
- "type": "minecraft:wolf",
- "maxCount": 4,
- "minCount": 4,
- "weight": 5
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 0.7
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/frozen_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/frozen_ocean.json
deleted file mode 100644
index afb79fb4e9..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/frozen_ocean.json
+++ /dev/null
@@ -1,133 +0,0 @@
-{
- "carvers": "#minecraft:in_biome/frozen_ocean",
- "downfall": 0.5,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "sky_color": 8364543,
- "water_color": 3750089,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/frozen_ocean",
- "#minecraft:lakes/in_biome/frozen_ocean",
- "#minecraft:local_modifications/in_biome/frozen_ocean",
- "#minecraft:underground_structures/in_biome/frozen_ocean",
- "#minecraft:surface_structures/in_biome/frozen_ocean",
- "#minecraft:strongholds/in_biome/frozen_ocean",
- "#minecraft:underground_ores/in_biome/frozen_ocean",
- "#minecraft:underground_decoration/in_biome/frozen_ocean",
- "#minecraft:fluid_springs/in_biome/frozen_ocean",
- "#minecraft:vegetal_decoration/in_biome/frozen_ocean",
- "#minecraft:top_layer_modification/in_biome/frozen_ocean"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:polar_bear",
- "maxCount": 2,
- "minCount": 1,
- "weight": 1
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:drowned",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [
- {
- "type": "minecraft:salmon",
- "maxCount": 5,
- "minCount": 1,
- "weight": 15
- }
- ],
- "water_creature": [
- {
- "type": "minecraft:squid",
- "maxCount": 4,
- "minCount": 1,
- "weight": 1
- }
- ]
- },
- "temperature": 0.0,
- "temperature_modifier": "frozen"
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/frozen_peaks.json b/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/frozen_peaks.json
deleted file mode 100644
index ed6e398e29..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/frozen_peaks.json
+++ /dev/null
@@ -1,118 +0,0 @@
-{
- "carvers": "#minecraft:in_biome/frozen_peaks",
- "downfall": 0.9,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "music": {
- "max_delay": 24000,
- "min_delay": 12000,
- "replace_current_music": false,
- "sound": "minecraft:music.overworld.frozen_peaks"
- },
- "sky_color": 8756735,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/frozen_peaks",
- "#minecraft:lakes/in_biome/frozen_peaks",
- "#minecraft:local_modifications/in_biome/frozen_peaks",
- "#minecraft:underground_structures/in_biome/frozen_peaks",
- "#minecraft:surface_structures/in_biome/frozen_peaks",
- "#minecraft:strongholds/in_biome/frozen_peaks",
- "#minecraft:underground_ores/in_biome/frozen_peaks",
- "#minecraft:underground_decoration/in_biome/frozen_peaks",
- "#minecraft:fluid_springs/in_biome/frozen_peaks",
- "#minecraft:vegetal_decoration/in_biome/frozen_peaks",
- "#minecraft:top_layer_modification/in_biome/frozen_peaks"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:goat",
- "maxCount": 3,
- "minCount": 1,
- "weight": 5
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": -0.7
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/frozen_river.json b/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/frozen_river.json
deleted file mode 100644
index 71c419bdc1..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/frozen_river.json
+++ /dev/null
@@ -1,125 +0,0 @@
-{
- "carvers": "#minecraft:in_biome/frozen_river",
- "downfall": 0.5,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "sky_color": 8364543,
- "water_color": 3750089,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/frozen_river",
- "#minecraft:lakes/in_biome/frozen_river",
- "#minecraft:local_modifications/in_biome/frozen_river",
- "#minecraft:underground_structures/in_biome/frozen_river",
- "#minecraft:surface_structures/in_biome/frozen_river",
- "#minecraft:strongholds/in_biome/frozen_river",
- "#minecraft:underground_ores/in_biome/frozen_river",
- "#minecraft:underground_decoration/in_biome/frozen_river",
- "#minecraft:fluid_springs/in_biome/frozen_river",
- "#minecraft:vegetal_decoration/in_biome/frozen_river",
- "#minecraft:top_layer_modification/in_biome/frozen_river"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:drowned",
- "maxCount": 1,
- "minCount": 1,
- "weight": 1
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [
- {
- "type": "minecraft:salmon",
- "maxCount": 5,
- "minCount": 1,
- "weight": 5
- }
- ],
- "water_creature": [
- {
- "type": "minecraft:squid",
- "maxCount": 4,
- "minCount": 1,
- "weight": 2
- }
- ]
- },
- "temperature": 0.0
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/grove.json b/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/grove.json
deleted file mode 100644
index 28a1e58e57..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/grove.json
+++ /dev/null
@@ -1,130 +0,0 @@
-{
- "carvers": "#minecraft:in_biome/grove",
- "downfall": 0.8,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "music": {
- "max_delay": 24000,
- "min_delay": 12000,
- "replace_current_music": false,
- "sound": "minecraft:music.overworld.grove"
- },
- "sky_color": 8495359,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/grove",
- "#minecraft:lakes/in_biome/grove",
- "#minecraft:local_modifications/in_biome/grove",
- "#minecraft:underground_structures/in_biome/grove",
- "#minecraft:surface_structures/in_biome/grove",
- "#minecraft:strongholds/in_biome/grove",
- "#minecraft:underground_ores/in_biome/grove",
- "#minecraft:underground_decoration/in_biome/grove",
- "#minecraft:fluid_springs/in_biome/grove",
- "#minecraft:vegetal_decoration/in_biome/grove",
- "#minecraft:top_layer_modification/in_biome/grove"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:wolf",
- "maxCount": 1,
- "minCount": 1,
- "weight": 1
- },
- {
- "type": "minecraft:rabbit",
- "maxCount": 3,
- "minCount": 2,
- "weight": 8
- },
- {
- "type": "minecraft:fox",
- "maxCount": 4,
- "minCount": 2,
- "weight": 4
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": -0.2
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/ice_spikes.json b/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/ice_spikes.json
deleted file mode 100644
index 98a42c1aec..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/ice_spikes.json
+++ /dev/null
@@ -1,125 +0,0 @@
-{
- "carvers": "#minecraft:in_biome/ice_spikes",
- "creature_spawn_probability": 0.07,
- "downfall": 0.5,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "sky_color": 8364543,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/ice_spikes",
- "#minecraft:lakes/in_biome/ice_spikes",
- "#minecraft:local_modifications/in_biome/ice_spikes",
- "#minecraft:underground_structures/in_biome/ice_spikes",
- "#minecraft:surface_structures/in_biome/ice_spikes",
- "#minecraft:strongholds/in_biome/ice_spikes",
- "#minecraft:underground_ores/in_biome/ice_spikes",
- "#minecraft:underground_decoration/in_biome/ice_spikes",
- "#minecraft:fluid_springs/in_biome/ice_spikes",
- "#minecraft:vegetal_decoration/in_biome/ice_spikes",
- "#minecraft:top_layer_modification/in_biome/ice_spikes"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:rabbit",
- "maxCount": 3,
- "minCount": 2,
- "weight": 10
- },
- {
- "type": "minecraft:polar_bear",
- "maxCount": 2,
- "minCount": 1,
- "weight": 1
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 20
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:stray",
- "maxCount": 4,
- "minCount": 4,
- "weight": 80
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 0.0
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/jagged_peaks.json b/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/jagged_peaks.json
deleted file mode 100644
index 47ad69df5d..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/jagged_peaks.json
+++ /dev/null
@@ -1,118 +0,0 @@
-{
- "carvers": "#minecraft:in_biome/jagged_peaks",
- "downfall": 0.9,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "music": {
- "max_delay": 24000,
- "min_delay": 12000,
- "replace_current_music": false,
- "sound": "minecraft:music.overworld.jagged_peaks"
- },
- "sky_color": 8756735,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/jagged_peaks",
- "#minecraft:lakes/in_biome/jagged_peaks",
- "#minecraft:local_modifications/in_biome/jagged_peaks",
- "#minecraft:underground_structures/in_biome/jagged_peaks",
- "#minecraft:surface_structures/in_biome/jagged_peaks",
- "#minecraft:strongholds/in_biome/jagged_peaks",
- "#minecraft:underground_ores/in_biome/jagged_peaks",
- "#minecraft:underground_decoration/in_biome/jagged_peaks",
- "#minecraft:fluid_springs/in_biome/jagged_peaks",
- "#minecraft:vegetal_decoration/in_biome/jagged_peaks",
- "#minecraft:top_layer_modification/in_biome/jagged_peaks"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:goat",
- "maxCount": 3,
- "minCount": 1,
- "weight": 5
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": -0.7
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/jungle.json b/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/jungle.json
deleted file mode 100644
index 05d440dab9..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/jungle.json
+++ /dev/null
@@ -1,160 +0,0 @@
-{
- "carvers": "#minecraft:in_biome/jungle",
- "downfall": 0.9,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "music": {
- "max_delay": 24000,
- "min_delay": 12000,
- "replace_current_music": false,
- "sound": "minecraft:music.overworld.jungle"
- },
- "sky_color": 7842047,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/jungle",
- "#minecraft:lakes/in_biome/jungle",
- "#minecraft:local_modifications/in_biome/jungle",
- "#minecraft:underground_structures/in_biome/jungle",
- "#minecraft:surface_structures/in_biome/jungle",
- "#minecraft:strongholds/in_biome/jungle",
- "#minecraft:underground_ores/in_biome/jungle",
- "#minecraft:underground_decoration/in_biome/jungle",
- "#minecraft:fluid_springs/in_biome/jungle",
- "#minecraft:vegetal_decoration/in_biome/jungle",
- "#minecraft:top_layer_modification/in_biome/jungle"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:sheep",
- "maxCount": 4,
- "minCount": 4,
- "weight": 12
- },
- {
- "type": "minecraft:pig",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:chicken",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:cow",
- "maxCount": 4,
- "minCount": 4,
- "weight": 8
- },
- {
- "type": "minecraft:chicken",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:parrot",
- "maxCount": 2,
- "minCount": 1,
- "weight": 40
- },
- {
- "type": "minecraft:panda",
- "maxCount": 2,
- "minCount": 1,
- "weight": 1
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:ocelot",
- "maxCount": 3,
- "minCount": 1,
- "weight": 2
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 0.95
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/lukewarm_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/lukewarm_ocean.json
deleted file mode 100644
index 1c66f6b775..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/lukewarm_ocean.json
+++ /dev/null
@@ -1,143 +0,0 @@
-{
- "carvers": "#minecraft:in_biome/lukewarm_ocean",
- "downfall": 0.5,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "sky_color": 8103167,
- "water_color": 4566514,
- "water_fog_color": 267827
- },
- "features": [
- "#minecraft:raw_generation/in_biome/lukewarm_ocean",
- "#minecraft:lakes/in_biome/lukewarm_ocean",
- "#minecraft:local_modifications/in_biome/lukewarm_ocean",
- "#minecraft:underground_structures/in_biome/lukewarm_ocean",
- "#minecraft:surface_structures/in_biome/lukewarm_ocean",
- "#minecraft:strongholds/in_biome/lukewarm_ocean",
- "#minecraft:underground_ores/in_biome/lukewarm_ocean",
- "#minecraft:underground_decoration/in_biome/lukewarm_ocean",
- "#minecraft:fluid_springs/in_biome/lukewarm_ocean",
- "#minecraft:vegetal_decoration/in_biome/lukewarm_ocean",
- "#minecraft:top_layer_modification/in_biome/lukewarm_ocean"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:drowned",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [
- {
- "type": "minecraft:cod",
- "maxCount": 6,
- "minCount": 3,
- "weight": 15
- },
- {
- "type": "minecraft:pufferfish",
- "maxCount": 3,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:tropical_fish",
- "maxCount": 8,
- "minCount": 8,
- "weight": 25
- }
- ],
- "water_creature": [
- {
- "type": "minecraft:squid",
- "maxCount": 2,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:dolphin",
- "maxCount": 2,
- "minCount": 1,
- "weight": 2
- }
- ]
- },
- "temperature": 0.5
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/lush_caves.json b/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/lush_caves.json
deleted file mode 100644
index 5fde3bb622..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/lush_caves.json
+++ /dev/null
@@ -1,125 +0,0 @@
-{
- "carvers": "#minecraft:in_biome/lush_caves",
- "downfall": 0.5,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "music": {
- "max_delay": 24000,
- "min_delay": 12000,
- "replace_current_music": false,
- "sound": "minecraft:music.overworld.lush_caves"
- },
- "sky_color": 8103167,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/lush_caves",
- "#minecraft:lakes/in_biome/lush_caves",
- "#minecraft:local_modifications/in_biome/lush_caves",
- "#minecraft:underground_structures/in_biome/lush_caves",
- "#minecraft:surface_structures/in_biome/lush_caves",
- "#minecraft:strongholds/in_biome/lush_caves",
- "#minecraft:underground_ores/in_biome/lush_caves",
- "#minecraft:underground_decoration/in_biome/lush_caves",
- "#minecraft:fluid_springs/in_biome/lush_caves",
- "#minecraft:vegetal_decoration/in_biome/lush_caves",
- "#minecraft:top_layer_modification/in_biome/lush_caves"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [
- {
- "type": "minecraft:axolotl",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "creature": [],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [
- {
- "type": "minecraft:tropical_fish",
- "maxCount": 8,
- "minCount": 8,
- "weight": 25
- }
- ],
- "water_creature": []
- },
- "temperature": 0.5
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/mangrove_swamp.json b/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/mangrove_swamp.json
deleted file mode 100644
index 2d292829c8..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/mangrove_swamp.json
+++ /dev/null
@@ -1,139 +0,0 @@
-{
- "carvers": "#minecraft:in_biome/mangrove_swamp",
- "downfall": 0.9,
- "effects": {
- "fog_color": 12638463,
- "foliage_color": 9285927,
- "grass_color_modifier": "swamp",
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "music": {
- "max_delay": 24000,
- "min_delay": 12000,
- "replace_current_music": false,
- "sound": "minecraft:music.overworld.swamp"
- },
- "sky_color": 7907327,
- "water_color": 3832426,
- "water_fog_color": 5077600
- },
- "features": [
- "#minecraft:raw_generation/in_biome/mangrove_swamp",
- "#minecraft:lakes/in_biome/mangrove_swamp",
- "#minecraft:local_modifications/in_biome/mangrove_swamp",
- "#minecraft:underground_structures/in_biome/mangrove_swamp",
- "#minecraft:surface_structures/in_biome/mangrove_swamp",
- "#minecraft:strongholds/in_biome/mangrove_swamp",
- "#minecraft:underground_ores/in_biome/mangrove_swamp",
- "#minecraft:underground_decoration/in_biome/mangrove_swamp",
- "#minecraft:fluid_springs/in_biome/mangrove_swamp",
- "#minecraft:vegetal_decoration/in_biome/mangrove_swamp",
- "#minecraft:top_layer_modification/in_biome/mangrove_swamp"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:frog",
- "maxCount": 5,
- "minCount": 2,
- "weight": 10
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 70
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:slime",
- "maxCount": 1,
- "minCount": 1,
- "weight": 1
- },
- {
- "type": "minecraft:bogged",
- "maxCount": 4,
- "minCount": 4,
- "weight": 30
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [
- {
- "type": "minecraft:tropical_fish",
- "maxCount": 8,
- "minCount": 8,
- "weight": 25
- }
- ],
- "water_creature": []
- },
- "temperature": 0.8
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/meadow.json b/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/meadow.json
deleted file mode 100644
index 5faea74e98..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/meadow.json
+++ /dev/null
@@ -1,130 +0,0 @@
-{
- "carvers": "#minecraft:in_biome/meadow",
- "downfall": 0.8,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "music": {
- "max_delay": 24000,
- "min_delay": 12000,
- "replace_current_music": false,
- "sound": "minecraft:music.overworld.meadow"
- },
- "sky_color": 8103167,
- "water_color": 937679,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/meadow",
- "#minecraft:lakes/in_biome/meadow",
- "#minecraft:local_modifications/in_biome/meadow",
- "#minecraft:underground_structures/in_biome/meadow",
- "#minecraft:surface_structures/in_biome/meadow",
- "#minecraft:strongholds/in_biome/meadow",
- "#minecraft:underground_ores/in_biome/meadow",
- "#minecraft:underground_decoration/in_biome/meadow",
- "#minecraft:fluid_springs/in_biome/meadow",
- "#minecraft:vegetal_decoration/in_biome/meadow",
- "#minecraft:top_layer_modification/in_biome/meadow"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:donkey",
- "maxCount": 2,
- "minCount": 1,
- "weight": 1
- },
- {
- "type": "minecraft:rabbit",
- "maxCount": 6,
- "minCount": 2,
- "weight": 2
- },
- {
- "type": "minecraft:sheep",
- "maxCount": 4,
- "minCount": 2,
- "weight": 2
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 0.5
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/mushroom_fields.json b/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/mushroom_fields.json
deleted file mode 100644
index 9415d1caea..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/mushroom_fields.json
+++ /dev/null
@@ -1,63 +0,0 @@
-{
- "carvers": "#minecraft:in_biome/mushroom_fields",
- "downfall": 1.0,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "sky_color": 7842047,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/mushroom_fields",
- "#minecraft:lakes/in_biome/mushroom_fields",
- "#minecraft:local_modifications/in_biome/mushroom_fields",
- "#minecraft:underground_structures/in_biome/mushroom_fields",
- "#minecraft:surface_structures/in_biome/mushroom_fields",
- "#minecraft:strongholds/in_biome/mushroom_fields",
- "#minecraft:underground_ores/in_biome/mushroom_fields",
- "#minecraft:underground_decoration/in_biome/mushroom_fields",
- "#minecraft:fluid_springs/in_biome/mushroom_fields",
- "#minecraft:vegetal_decoration/in_biome/mushroom_fields",
- "#minecraft:top_layer_modification/in_biome/mushroom_fields"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:mooshroom",
- "maxCount": 8,
- "minCount": 4,
- "weight": 8
- }
- ],
- "misc": [],
- "monster": [],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 0.9
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/nether_wastes.json b/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/nether_wastes.json
deleted file mode 100644
index eae23065cd..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/nether_wastes.json
+++ /dev/null
@@ -1,91 +0,0 @@
-{
- "carvers": "#minecraft:in_biome/nether_wastes",
- "downfall": 0.0,
- "effects": {
- "additions_sound": {
- "sound": "minecraft:ambient.nether_wastes.additions",
- "tick_chance": 0.0111
- },
- "ambient_sound": "minecraft:ambient.nether_wastes.loop",
- "fog_color": 3344392,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.nether_wastes.mood",
- "tick_delay": 6000
- },
- "music": {
- "max_delay": 24000,
- "min_delay": 12000,
- "replace_current_music": false,
- "sound": "minecraft:music.nether.nether_wastes"
- },
- "sky_color": 7254527,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/nether_wastes",
- "#minecraft:lakes/in_biome/nether_wastes",
- "#minecraft:local_modifications/in_biome/nether_wastes",
- "#minecraft:underground_structures/in_biome/nether_wastes",
- "#minecraft:surface_structures/in_biome/nether_wastes",
- "#minecraft:strongholds/in_biome/nether_wastes",
- "#minecraft:underground_ores/in_biome/nether_wastes",
- "#minecraft:underground_decoration/in_biome/nether_wastes",
- "#minecraft:fluid_springs/in_biome/nether_wastes",
- "#minecraft:vegetal_decoration/in_biome/nether_wastes",
- "#minecraft:top_layer_modification/in_biome/nether_wastes"
- ],
- "has_precipitation": false,
- "spawn_costs": {},
- "spawners": {
- "ambient": [],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:strider",
- "maxCount": 2,
- "minCount": 1,
- "weight": 60
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:ghast",
- "maxCount": 4,
- "minCount": 4,
- "weight": 50
- },
- {
- "type": "minecraft:zombified_piglin",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:magma_cube",
- "maxCount": 4,
- "minCount": 4,
- "weight": 2
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 4,
- "weight": 1
- },
- {
- "type": "minecraft:piglin",
- "maxCount": 4,
- "minCount": 4,
- "weight": 15
- }
- ],
- "underground_water_creature": [],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 2.0
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/ocean.json
deleted file mode 100644
index 71dc54b3ce..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/ocean.json
+++ /dev/null
@@ -1,131 +0,0 @@
-{
- "carvers": "#minecraft:in_biome/ocean",
- "downfall": 0.5,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "sky_color": 8103167,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/ocean",
- "#minecraft:lakes/in_biome/ocean",
- "#minecraft:local_modifications/in_biome/ocean",
- "#minecraft:underground_structures/in_biome/ocean",
- "#minecraft:surface_structures/in_biome/ocean",
- "#minecraft:strongholds/in_biome/ocean",
- "#minecraft:underground_ores/in_biome/ocean",
- "#minecraft:underground_decoration/in_biome/ocean",
- "#minecraft:fluid_springs/in_biome/ocean",
- "#minecraft:vegetal_decoration/in_biome/ocean",
- "#minecraft:top_layer_modification/in_biome/ocean"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:drowned",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [
- {
- "type": "minecraft:cod",
- "maxCount": 6,
- "minCount": 3,
- "weight": 10
- }
- ],
- "water_creature": [
- {
- "type": "minecraft:squid",
- "maxCount": 4,
- "minCount": 1,
- "weight": 1
- },
- {
- "type": "minecraft:dolphin",
- "maxCount": 2,
- "minCount": 1,
- "weight": 1
- }
- ]
- },
- "temperature": 0.5
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/old_growth_birch_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/old_growth_birch_forest.json
deleted file mode 100644
index a81011ea8e..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/old_growth_birch_forest.json
+++ /dev/null
@@ -1,136 +0,0 @@
-{
- "carvers": "#minecraft:in_biome/old_growth_birch_forest",
- "downfall": 0.6,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "music": {
- "max_delay": 24000,
- "min_delay": 12000,
- "replace_current_music": false,
- "sound": "minecraft:music.overworld.forest"
- },
- "sky_color": 8037887,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/old_growth_birch_forest",
- "#minecraft:lakes/in_biome/old_growth_birch_forest",
- "#minecraft:local_modifications/in_biome/old_growth_birch_forest",
- "#minecraft:underground_structures/in_biome/old_growth_birch_forest",
- "#minecraft:surface_structures/in_biome/old_growth_birch_forest",
- "#minecraft:strongholds/in_biome/old_growth_birch_forest",
- "#minecraft:underground_ores/in_biome/old_growth_birch_forest",
- "#minecraft:underground_decoration/in_biome/old_growth_birch_forest",
- "#minecraft:fluid_springs/in_biome/old_growth_birch_forest",
- "#minecraft:vegetal_decoration/in_biome/old_growth_birch_forest",
- "#minecraft:top_layer_modification/in_biome/old_growth_birch_forest"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:sheep",
- "maxCount": 4,
- "minCount": 4,
- "weight": 12
- },
- {
- "type": "minecraft:pig",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:chicken",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:cow",
- "maxCount": 4,
- "minCount": 4,
- "weight": 8
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 0.6
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/old_growth_pine_taiga.json b/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/old_growth_pine_taiga.json
deleted file mode 100644
index 4ea3533a1b..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/old_growth_pine_taiga.json
+++ /dev/null
@@ -1,154 +0,0 @@
-{
- "carvers": "#minecraft:in_biome/old_growth_pine_taiga",
- "downfall": 0.8,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "music": {
- "max_delay": 24000,
- "min_delay": 12000,
- "replace_current_music": false,
- "sound": "minecraft:music.overworld.old_growth_taiga"
- },
- "sky_color": 8168447,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/old_growth_pine_taiga",
- "#minecraft:lakes/in_biome/old_growth_pine_taiga",
- "#minecraft:local_modifications/in_biome/old_growth_pine_taiga",
- "#minecraft:underground_structures/in_biome/old_growth_pine_taiga",
- "#minecraft:surface_structures/in_biome/old_growth_pine_taiga",
- "#minecraft:strongholds/in_biome/old_growth_pine_taiga",
- "#minecraft:underground_ores/in_biome/old_growth_pine_taiga",
- "#minecraft:underground_decoration/in_biome/old_growth_pine_taiga",
- "#minecraft:fluid_springs/in_biome/old_growth_pine_taiga",
- "#minecraft:vegetal_decoration/in_biome/old_growth_pine_taiga",
- "#minecraft:top_layer_modification/in_biome/old_growth_pine_taiga"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:sheep",
- "maxCount": 4,
- "minCount": 4,
- "weight": 12
- },
- {
- "type": "minecraft:pig",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:chicken",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:cow",
- "maxCount": 4,
- "minCount": 4,
- "weight": 8
- },
- {
- "type": "minecraft:wolf",
- "maxCount": 4,
- "minCount": 4,
- "weight": 8
- },
- {
- "type": "minecraft:rabbit",
- "maxCount": 3,
- "minCount": 2,
- "weight": 4
- },
- {
- "type": "minecraft:fox",
- "maxCount": 4,
- "minCount": 2,
- "weight": 8
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 25
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 0.3
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/old_growth_spruce_taiga.json b/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/old_growth_spruce_taiga.json
deleted file mode 100644
index 3f104be574..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/old_growth_spruce_taiga.json
+++ /dev/null
@@ -1,154 +0,0 @@
-{
- "carvers": "#minecraft:in_biome/old_growth_spruce_taiga",
- "downfall": 0.8,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "music": {
- "max_delay": 24000,
- "min_delay": 12000,
- "replace_current_music": false,
- "sound": "minecraft:music.overworld.old_growth_taiga"
- },
- "sky_color": 8233983,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/old_growth_spruce_taiga",
- "#minecraft:lakes/in_biome/old_growth_spruce_taiga",
- "#minecraft:local_modifications/in_biome/old_growth_spruce_taiga",
- "#minecraft:underground_structures/in_biome/old_growth_spruce_taiga",
- "#minecraft:surface_structures/in_biome/old_growth_spruce_taiga",
- "#minecraft:strongholds/in_biome/old_growth_spruce_taiga",
- "#minecraft:underground_ores/in_biome/old_growth_spruce_taiga",
- "#minecraft:underground_decoration/in_biome/old_growth_spruce_taiga",
- "#minecraft:fluid_springs/in_biome/old_growth_spruce_taiga",
- "#minecraft:vegetal_decoration/in_biome/old_growth_spruce_taiga",
- "#minecraft:top_layer_modification/in_biome/old_growth_spruce_taiga"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:sheep",
- "maxCount": 4,
- "minCount": 4,
- "weight": 12
- },
- {
- "type": "minecraft:pig",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:chicken",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:cow",
- "maxCount": 4,
- "minCount": 4,
- "weight": 8
- },
- {
- "type": "minecraft:wolf",
- "maxCount": 4,
- "minCount": 4,
- "weight": 8
- },
- {
- "type": "minecraft:rabbit",
- "maxCount": 3,
- "minCount": 2,
- "weight": 4
- },
- {
- "type": "minecraft:fox",
- "maxCount": 4,
- "minCount": 2,
- "weight": 8
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 0.25
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/plains.json b/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/plains.json
deleted file mode 100644
index 5fbf9fe225..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/plains.json
+++ /dev/null
@@ -1,142 +0,0 @@
-{
- "carvers": "#minecraft:in_biome/plains",
- "downfall": 0.4,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "sky_color": 7907327,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/plains",
- "#minecraft:lakes/in_biome/plains",
- "#minecraft:local_modifications/in_biome/plains",
- "#minecraft:underground_structures/in_biome/plains",
- "#minecraft:surface_structures/in_biome/plains",
- "#minecraft:strongholds/in_biome/plains",
- "#minecraft:underground_ores/in_biome/plains",
- "#minecraft:underground_decoration/in_biome/plains",
- "#minecraft:fluid_springs/in_biome/plains",
- "#minecraft:vegetal_decoration/in_biome/plains",
- "#minecraft:top_layer_modification/in_biome/plains"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:sheep",
- "maxCount": 4,
- "minCount": 4,
- "weight": 12
- },
- {
- "type": "minecraft:pig",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:chicken",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:cow",
- "maxCount": 4,
- "minCount": 4,
- "weight": 8
- },
- {
- "type": "minecraft:horse",
- "maxCount": 6,
- "minCount": 2,
- "weight": 5
- },
- {
- "type": "minecraft:donkey",
- "maxCount": 3,
- "minCount": 1,
- "weight": 1
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 0.8
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/river.json b/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/river.json
deleted file mode 100644
index 4305fb1d5e..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/river.json
+++ /dev/null
@@ -1,125 +0,0 @@
-{
- "carvers": "#minecraft:in_biome/river",
- "downfall": 0.5,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "sky_color": 8103167,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/river",
- "#minecraft:lakes/in_biome/river",
- "#minecraft:local_modifications/in_biome/river",
- "#minecraft:underground_structures/in_biome/river",
- "#minecraft:surface_structures/in_biome/river",
- "#minecraft:strongholds/in_biome/river",
- "#minecraft:underground_ores/in_biome/river",
- "#minecraft:underground_decoration/in_biome/river",
- "#minecraft:fluid_springs/in_biome/river",
- "#minecraft:vegetal_decoration/in_biome/river",
- "#minecraft:top_layer_modification/in_biome/river"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:drowned",
- "maxCount": 1,
- "minCount": 1,
- "weight": 100
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [
- {
- "type": "minecraft:salmon",
- "maxCount": 5,
- "minCount": 1,
- "weight": 5
- }
- ],
- "water_creature": [
- {
- "type": "minecraft:squid",
- "maxCount": 4,
- "minCount": 1,
- "weight": 2
- }
- ]
- },
- "temperature": 0.5
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/savanna.json b/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/savanna.json
deleted file mode 100644
index 2d0d1e98af..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/savanna.json
+++ /dev/null
@@ -1,148 +0,0 @@
-{
- "carvers": "#minecraft:in_biome/savanna",
- "downfall": 0.0,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "sky_color": 7254527,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/savanna",
- "#minecraft:lakes/in_biome/savanna",
- "#minecraft:local_modifications/in_biome/savanna",
- "#minecraft:underground_structures/in_biome/savanna",
- "#minecraft:surface_structures/in_biome/savanna",
- "#minecraft:strongholds/in_biome/savanna",
- "#minecraft:underground_ores/in_biome/savanna",
- "#minecraft:underground_decoration/in_biome/savanna",
- "#minecraft:fluid_springs/in_biome/savanna",
- "#minecraft:vegetal_decoration/in_biome/savanna",
- "#minecraft:top_layer_modification/in_biome/savanna"
- ],
- "has_precipitation": false,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:sheep",
- "maxCount": 4,
- "minCount": 4,
- "weight": 12
- },
- {
- "type": "minecraft:pig",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:chicken",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:cow",
- "maxCount": 4,
- "minCount": 4,
- "weight": 8
- },
- {
- "type": "minecraft:horse",
- "maxCount": 6,
- "minCount": 2,
- "weight": 1
- },
- {
- "type": "minecraft:donkey",
- "maxCount": 1,
- "minCount": 1,
- "weight": 1
- },
- {
- "type": "minecraft:armadillo",
- "maxCount": 3,
- "minCount": 2,
- "weight": 10
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 2.0
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/savanna_plateau.json b/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/savanna_plateau.json
deleted file mode 100644
index 038cf71050..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/savanna_plateau.json
+++ /dev/null
@@ -1,160 +0,0 @@
-{
- "carvers": "#minecraft:in_biome/savanna_plateau",
- "downfall": 0.0,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "sky_color": 7254527,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/savanna_plateau",
- "#minecraft:lakes/in_biome/savanna_plateau",
- "#minecraft:local_modifications/in_biome/savanna_plateau",
- "#minecraft:underground_structures/in_biome/savanna_plateau",
- "#minecraft:surface_structures/in_biome/savanna_plateau",
- "#minecraft:strongholds/in_biome/savanna_plateau",
- "#minecraft:underground_ores/in_biome/savanna_plateau",
- "#minecraft:underground_decoration/in_biome/savanna_plateau",
- "#minecraft:fluid_springs/in_biome/savanna_plateau",
- "#minecraft:vegetal_decoration/in_biome/savanna_plateau",
- "#minecraft:top_layer_modification/in_biome/savanna_plateau"
- ],
- "has_precipitation": false,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:sheep",
- "maxCount": 4,
- "minCount": 4,
- "weight": 12
- },
- {
- "type": "minecraft:pig",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:chicken",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:cow",
- "maxCount": 4,
- "minCount": 4,
- "weight": 8
- },
- {
- "type": "minecraft:horse",
- "maxCount": 6,
- "minCount": 2,
- "weight": 1
- },
- {
- "type": "minecraft:donkey",
- "maxCount": 1,
- "minCount": 1,
- "weight": 1
- },
- {
- "type": "minecraft:armadillo",
- "maxCount": 3,
- "minCount": 2,
- "weight": 10
- },
- {
- "type": "minecraft:llama",
- "maxCount": 4,
- "minCount": 4,
- "weight": 8
- },
- {
- "type": "minecraft:wolf",
- "maxCount": 8,
- "minCount": 4,
- "weight": 8
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 2.0
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/small_end_islands.json b/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/small_end_islands.json
deleted file mode 100644
index c6e6c59010..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/small_end_islands.json
+++ /dev/null
@@ -1,49 +0,0 @@
-{
- "carvers": "#minecraft:in_biome/small_end_islands",
- "downfall": 0.5,
- "effects": {
- "fog_color": 10518688,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "sky_color": 0,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/small_end_islands",
- "#minecraft:lakes/in_biome/small_end_islands",
- "#minecraft:local_modifications/in_biome/small_end_islands",
- "#minecraft:underground_structures/in_biome/small_end_islands",
- "#minecraft:surface_structures/in_biome/small_end_islands",
- "#minecraft:strongholds/in_biome/small_end_islands",
- "#minecraft:underground_ores/in_biome/small_end_islands",
- "#minecraft:underground_decoration/in_biome/small_end_islands",
- "#minecraft:fluid_springs/in_biome/small_end_islands",
- "#minecraft:vegetal_decoration/in_biome/small_end_islands",
- "#minecraft:top_layer_modification/in_biome/small_end_islands"
- ],
- "has_precipitation": false,
- "spawn_costs": {},
- "spawners": {
- "ambient": [],
- "axolotls": [],
- "creature": [],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- }
- ],
- "underground_water_creature": [],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 0.5
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/snowy_beach.json b/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/snowy_beach.json
deleted file mode 100644
index b8bd1fb953..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/snowy_beach.json
+++ /dev/null
@@ -1,105 +0,0 @@
-{
- "carvers": "#minecraft:in_biome/snowy_beach",
- "downfall": 0.3,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "sky_color": 8364543,
- "water_color": 4020182,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/snowy_beach",
- "#minecraft:lakes/in_biome/snowy_beach",
- "#minecraft:local_modifications/in_biome/snowy_beach",
- "#minecraft:underground_structures/in_biome/snowy_beach",
- "#minecraft:surface_structures/in_biome/snowy_beach",
- "#minecraft:strongholds/in_biome/snowy_beach",
- "#minecraft:underground_ores/in_biome/snowy_beach",
- "#minecraft:underground_decoration/in_biome/snowy_beach",
- "#minecraft:fluid_springs/in_biome/snowy_beach",
- "#minecraft:vegetal_decoration/in_biome/snowy_beach",
- "#minecraft:top_layer_modification/in_biome/snowy_beach"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 0.05
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/snowy_plains.json b/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/snowy_plains.json
deleted file mode 100644
index 8edcb61038..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/snowy_plains.json
+++ /dev/null
@@ -1,125 +0,0 @@
-{
- "carvers": "#minecraft:in_biome/snowy_plains",
- "creature_spawn_probability": 0.07,
- "downfall": 0.5,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "sky_color": 8364543,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/snowy_plains",
- "#minecraft:lakes/in_biome/snowy_plains",
- "#minecraft:local_modifications/in_biome/snowy_plains",
- "#minecraft:underground_structures/in_biome/snowy_plains",
- "#minecraft:surface_structures/in_biome/snowy_plains",
- "#minecraft:strongholds/in_biome/snowy_plains",
- "#minecraft:underground_ores/in_biome/snowy_plains",
- "#minecraft:underground_decoration/in_biome/snowy_plains",
- "#minecraft:fluid_springs/in_biome/snowy_plains",
- "#minecraft:vegetal_decoration/in_biome/snowy_plains",
- "#minecraft:top_layer_modification/in_biome/snowy_plains"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:rabbit",
- "maxCount": 3,
- "minCount": 2,
- "weight": 10
- },
- {
- "type": "minecraft:polar_bear",
- "maxCount": 2,
- "minCount": 1,
- "weight": 1
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 20
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:stray",
- "maxCount": 4,
- "minCount": 4,
- "weight": 80
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 0.0
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/snowy_slopes.json b/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/snowy_slopes.json
deleted file mode 100644
index f2abc4768b..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/snowy_slopes.json
+++ /dev/null
@@ -1,124 +0,0 @@
-{
- "carvers": "#minecraft:in_biome/snowy_slopes",
- "downfall": 0.9,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "music": {
- "max_delay": 24000,
- "min_delay": 12000,
- "replace_current_music": false,
- "sound": "minecraft:music.overworld.snowy_slopes"
- },
- "sky_color": 8560639,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/snowy_slopes",
- "#minecraft:lakes/in_biome/snowy_slopes",
- "#minecraft:local_modifications/in_biome/snowy_slopes",
- "#minecraft:underground_structures/in_biome/snowy_slopes",
- "#minecraft:surface_structures/in_biome/snowy_slopes",
- "#minecraft:strongholds/in_biome/snowy_slopes",
- "#minecraft:underground_ores/in_biome/snowy_slopes",
- "#minecraft:underground_decoration/in_biome/snowy_slopes",
- "#minecraft:fluid_springs/in_biome/snowy_slopes",
- "#minecraft:vegetal_decoration/in_biome/snowy_slopes",
- "#minecraft:top_layer_modification/in_biome/snowy_slopes"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:rabbit",
- "maxCount": 3,
- "minCount": 2,
- "weight": 4
- },
- {
- "type": "minecraft:goat",
- "maxCount": 3,
- "minCount": 1,
- "weight": 5
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": -0.3
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/snowy_taiga.json b/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/snowy_taiga.json
deleted file mode 100644
index f38f47b3c1..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/snowy_taiga.json
+++ /dev/null
@@ -1,148 +0,0 @@
-{
- "carvers": "#minecraft:in_biome/snowy_taiga",
- "downfall": 0.4,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "sky_color": 8625919,
- "water_color": 4020182,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/snowy_taiga",
- "#minecraft:lakes/in_biome/snowy_taiga",
- "#minecraft:local_modifications/in_biome/snowy_taiga",
- "#minecraft:underground_structures/in_biome/snowy_taiga",
- "#minecraft:surface_structures/in_biome/snowy_taiga",
- "#minecraft:strongholds/in_biome/snowy_taiga",
- "#minecraft:underground_ores/in_biome/snowy_taiga",
- "#minecraft:underground_decoration/in_biome/snowy_taiga",
- "#minecraft:fluid_springs/in_biome/snowy_taiga",
- "#minecraft:vegetal_decoration/in_biome/snowy_taiga",
- "#minecraft:top_layer_modification/in_biome/snowy_taiga"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:sheep",
- "maxCount": 4,
- "minCount": 4,
- "weight": 12
- },
- {
- "type": "minecraft:pig",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:chicken",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:cow",
- "maxCount": 4,
- "minCount": 4,
- "weight": 8
- },
- {
- "type": "minecraft:wolf",
- "maxCount": 4,
- "minCount": 4,
- "weight": 8
- },
- {
- "type": "minecraft:rabbit",
- "maxCount": 3,
- "minCount": 2,
- "weight": 4
- },
- {
- "type": "minecraft:fox",
- "maxCount": 4,
- "minCount": 2,
- "weight": 8
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": -0.5
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/soul_sand_valley.json b/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/soul_sand_valley.json
deleted file mode 100644
index 66281471e7..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/soul_sand_valley.json
+++ /dev/null
@@ -1,102 +0,0 @@
-{
- "carvers": "#minecraft:in_biome/soul_sand_valley",
- "downfall": 0.0,
- "effects": {
- "additions_sound": {
- "sound": "minecraft:ambient.soul_sand_valley.additions",
- "tick_chance": 0.0111
- },
- "ambient_sound": "minecraft:ambient.soul_sand_valley.loop",
- "fog_color": 1787717,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.soul_sand_valley.mood",
- "tick_delay": 6000
- },
- "music": {
- "max_delay": 24000,
- "min_delay": 12000,
- "replace_current_music": false,
- "sound": "minecraft:music.nether.soul_sand_valley"
- },
- "particle": {
- "options": {
- "type": "minecraft:ash"
- },
- "probability": 0.00625
- },
- "sky_color": 7254527,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/soul_sand_valley",
- "#minecraft:lakes/in_biome/soul_sand_valley",
- "#minecraft:local_modifications/in_biome/soul_sand_valley",
- "#minecraft:underground_structures/in_biome/soul_sand_valley",
- "#minecraft:surface_structures/in_biome/soul_sand_valley",
- "#minecraft:strongholds/in_biome/soul_sand_valley",
- "#minecraft:underground_ores/in_biome/soul_sand_valley",
- "#minecraft:underground_decoration/in_biome/soul_sand_valley",
- "#minecraft:fluid_springs/in_biome/soul_sand_valley",
- "#minecraft:vegetal_decoration/in_biome/soul_sand_valley",
- "#minecraft:top_layer_modification/in_biome/soul_sand_valley"
- ],
- "has_precipitation": false,
- "spawn_costs": {
- "minecraft:enderman": {
- "charge": 0.7,
- "energy_budget": 0.15
- },
- "minecraft:ghast": {
- "charge": 0.7,
- "energy_budget": 0.15
- },
- "minecraft:skeleton": {
- "charge": 0.7,
- "energy_budget": 0.15
- },
- "minecraft:strider": {
- "charge": 0.7,
- "energy_budget": 0.15
- }
- },
- "spawners": {
- "ambient": [],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:strider",
- "maxCount": 2,
- "minCount": 1,
- "weight": 60
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:skeleton",
- "maxCount": 5,
- "minCount": 5,
- "weight": 20
- },
- {
- "type": "minecraft:ghast",
- "maxCount": 4,
- "minCount": 4,
- "weight": 50
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 4,
- "weight": 1
- }
- ],
- "underground_water_creature": [],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 2.0
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/sparse_jungle.json b/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/sparse_jungle.json
deleted file mode 100644
index dfc931ddb6..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/sparse_jungle.json
+++ /dev/null
@@ -1,148 +0,0 @@
-{
- "carvers": "#minecraft:in_biome/sparse_jungle",
- "downfall": 0.8,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "music": {
- "max_delay": 24000,
- "min_delay": 12000,
- "replace_current_music": false,
- "sound": "minecraft:music.overworld.sparse_jungle"
- },
- "sky_color": 7842047,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/sparse_jungle",
- "#minecraft:lakes/in_biome/sparse_jungle",
- "#minecraft:local_modifications/in_biome/sparse_jungle",
- "#minecraft:underground_structures/in_biome/sparse_jungle",
- "#minecraft:surface_structures/in_biome/sparse_jungle",
- "#minecraft:strongholds/in_biome/sparse_jungle",
- "#minecraft:underground_ores/in_biome/sparse_jungle",
- "#minecraft:underground_decoration/in_biome/sparse_jungle",
- "#minecraft:fluid_springs/in_biome/sparse_jungle",
- "#minecraft:vegetal_decoration/in_biome/sparse_jungle",
- "#minecraft:top_layer_modification/in_biome/sparse_jungle"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:sheep",
- "maxCount": 4,
- "minCount": 4,
- "weight": 12
- },
- {
- "type": "minecraft:pig",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:chicken",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:cow",
- "maxCount": 4,
- "minCount": 4,
- "weight": 8
- },
- {
- "type": "minecraft:chicken",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:wolf",
- "maxCount": 4,
- "minCount": 2,
- "weight": 8
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 0.95
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/stony_peaks.json b/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/stony_peaks.json
deleted file mode 100644
index cb24d605e2..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/stony_peaks.json
+++ /dev/null
@@ -1,111 +0,0 @@
-{
- "carvers": "#minecraft:in_biome/stony_peaks",
- "downfall": 0.3,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "music": {
- "max_delay": 24000,
- "min_delay": 12000,
- "replace_current_music": false,
- "sound": "minecraft:music.overworld.stony_peaks"
- },
- "sky_color": 7776511,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/stony_peaks",
- "#minecraft:lakes/in_biome/stony_peaks",
- "#minecraft:local_modifications/in_biome/stony_peaks",
- "#minecraft:underground_structures/in_biome/stony_peaks",
- "#minecraft:surface_structures/in_biome/stony_peaks",
- "#minecraft:strongholds/in_biome/stony_peaks",
- "#minecraft:underground_ores/in_biome/stony_peaks",
- "#minecraft:underground_decoration/in_biome/stony_peaks",
- "#minecraft:fluid_springs/in_biome/stony_peaks",
- "#minecraft:vegetal_decoration/in_biome/stony_peaks",
- "#minecraft:top_layer_modification/in_biome/stony_peaks"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 1.0
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/stony_shore.json b/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/stony_shore.json
deleted file mode 100644
index d6fd005fef..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/stony_shore.json
+++ /dev/null
@@ -1,105 +0,0 @@
-{
- "carvers": "#minecraft:in_biome/stony_shore",
- "downfall": 0.3,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "sky_color": 8233727,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/stony_shore",
- "#minecraft:lakes/in_biome/stony_shore",
- "#minecraft:local_modifications/in_biome/stony_shore",
- "#minecraft:underground_structures/in_biome/stony_shore",
- "#minecraft:surface_structures/in_biome/stony_shore",
- "#minecraft:strongholds/in_biome/stony_shore",
- "#minecraft:underground_ores/in_biome/stony_shore",
- "#minecraft:underground_decoration/in_biome/stony_shore",
- "#minecraft:fluid_springs/in_biome/stony_shore",
- "#minecraft:vegetal_decoration/in_biome/stony_shore",
- "#minecraft:top_layer_modification/in_biome/stony_shore"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 0.2
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/sunflower_plains.json b/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/sunflower_plains.json
deleted file mode 100644
index dadf2f66a4..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/sunflower_plains.json
+++ /dev/null
@@ -1,142 +0,0 @@
-{
- "carvers": "#minecraft:in_biome/sunflower_plains",
- "downfall": 0.4,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "sky_color": 7907327,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/sunflower_plains",
- "#minecraft:lakes/in_biome/sunflower_plains",
- "#minecraft:local_modifications/in_biome/sunflower_plains",
- "#minecraft:underground_structures/in_biome/sunflower_plains",
- "#minecraft:surface_structures/in_biome/sunflower_plains",
- "#minecraft:strongholds/in_biome/sunflower_plains",
- "#minecraft:underground_ores/in_biome/sunflower_plains",
- "#minecraft:underground_decoration/in_biome/sunflower_plains",
- "#minecraft:fluid_springs/in_biome/sunflower_plains",
- "#minecraft:vegetal_decoration/in_biome/sunflower_plains",
- "#minecraft:top_layer_modification/in_biome/sunflower_plains"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:sheep",
- "maxCount": 4,
- "minCount": 4,
- "weight": 12
- },
- {
- "type": "minecraft:pig",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:chicken",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:cow",
- "maxCount": 4,
- "minCount": 4,
- "weight": 8
- },
- {
- "type": "minecraft:horse",
- "maxCount": 6,
- "minCount": 2,
- "weight": 5
- },
- {
- "type": "minecraft:donkey",
- "maxCount": 3,
- "minCount": 1,
- "weight": 1
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 0.8
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/swamp.json b/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/swamp.json
deleted file mode 100644
index 9e81f2148d..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/swamp.json
+++ /dev/null
@@ -1,156 +0,0 @@
-{
- "carvers": "#minecraft:in_biome/swamp",
- "downfall": 0.9,
- "effects": {
- "fog_color": 12638463,
- "foliage_color": 6975545,
- "grass_color_modifier": "swamp",
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "music": {
- "max_delay": 24000,
- "min_delay": 12000,
- "replace_current_music": false,
- "sound": "minecraft:music.overworld.swamp"
- },
- "sky_color": 7907327,
- "water_color": 6388580,
- "water_fog_color": 2302743
- },
- "features": [
- "#minecraft:raw_generation/in_biome/swamp",
- "#minecraft:lakes/in_biome/swamp",
- "#minecraft:local_modifications/in_biome/swamp",
- "#minecraft:underground_structures/in_biome/swamp",
- "#minecraft:surface_structures/in_biome/swamp",
- "#minecraft:strongholds/in_biome/swamp",
- "#minecraft:underground_ores/in_biome/swamp",
- "#minecraft:underground_decoration/in_biome/swamp",
- "#minecraft:fluid_springs/in_biome/swamp",
- "#minecraft:vegetal_decoration/in_biome/swamp",
- "#minecraft:top_layer_modification/in_biome/swamp"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:sheep",
- "maxCount": 4,
- "minCount": 4,
- "weight": 12
- },
- {
- "type": "minecraft:pig",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:chicken",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:cow",
- "maxCount": 4,
- "minCount": 4,
- "weight": 8
- },
- {
- "type": "minecraft:frog",
- "maxCount": 5,
- "minCount": 2,
- "weight": 10
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 70
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:slime",
- "maxCount": 1,
- "minCount": 1,
- "weight": 1
- },
- {
- "type": "minecraft:bogged",
- "maxCount": 4,
- "minCount": 4,
- "weight": 30
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 0.8
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/taiga.json b/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/taiga.json
deleted file mode 100644
index 8b9be8bf50..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/taiga.json
+++ /dev/null
@@ -1,148 +0,0 @@
-{
- "carvers": "#minecraft:in_biome/taiga",
- "downfall": 0.8,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "sky_color": 8233983,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/taiga",
- "#minecraft:lakes/in_biome/taiga",
- "#minecraft:local_modifications/in_biome/taiga",
- "#minecraft:underground_structures/in_biome/taiga",
- "#minecraft:surface_structures/in_biome/taiga",
- "#minecraft:strongholds/in_biome/taiga",
- "#minecraft:underground_ores/in_biome/taiga",
- "#minecraft:underground_decoration/in_biome/taiga",
- "#minecraft:fluid_springs/in_biome/taiga",
- "#minecraft:vegetal_decoration/in_biome/taiga",
- "#minecraft:top_layer_modification/in_biome/taiga"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:sheep",
- "maxCount": 4,
- "minCount": 4,
- "weight": 12
- },
- {
- "type": "minecraft:pig",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:chicken",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:cow",
- "maxCount": 4,
- "minCount": 4,
- "weight": 8
- },
- {
- "type": "minecraft:wolf",
- "maxCount": 4,
- "minCount": 4,
- "weight": 8
- },
- {
- "type": "minecraft:rabbit",
- "maxCount": 3,
- "minCount": 2,
- "weight": 4
- },
- {
- "type": "minecraft:fox",
- "maxCount": 4,
- "minCount": 2,
- "weight": 8
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 0.25
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/the_end.json b/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/the_end.json
deleted file mode 100644
index b0890881e0..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/the_end.json
+++ /dev/null
@@ -1,49 +0,0 @@
-{
- "carvers": "#minecraft:in_biome/the_end",
- "downfall": 0.5,
- "effects": {
- "fog_color": 10518688,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "sky_color": 0,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/the_end",
- "#minecraft:lakes/in_biome/the_end",
- "#minecraft:local_modifications/in_biome/the_end",
- "#minecraft:underground_structures/in_biome/the_end",
- "#minecraft:surface_structures/in_biome/the_end",
- "#minecraft:strongholds/in_biome/the_end",
- "#minecraft:underground_ores/in_biome/the_end",
- "#minecraft:underground_decoration/in_biome/the_end",
- "#minecraft:fluid_springs/in_biome/the_end",
- "#minecraft:vegetal_decoration/in_biome/the_end",
- "#minecraft:top_layer_modification/in_biome/the_end"
- ],
- "has_precipitation": false,
- "spawn_costs": {},
- "spawners": {
- "ambient": [],
- "axolotls": [],
- "creature": [],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- }
- ],
- "underground_water_creature": [],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 0.5
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/the_void.json b/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/the_void.json
deleted file mode 100644
index 911c9455ed..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/the_void.json
+++ /dev/null
@@ -1,42 +0,0 @@
-{
- "carvers": "#minecraft:in_biome/the_void",
- "downfall": 0.5,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "sky_color": 8103167,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/the_void",
- "#minecraft:lakes/in_biome/the_void",
- "#minecraft:local_modifications/in_biome/the_void",
- "#minecraft:underground_structures/in_biome/the_void",
- "#minecraft:surface_structures/in_biome/the_void",
- "#minecraft:strongholds/in_biome/the_void",
- "#minecraft:underground_ores/in_biome/the_void",
- "#minecraft:underground_decoration/in_biome/the_void",
- "#minecraft:fluid_springs/in_biome/the_void",
- "#minecraft:vegetal_decoration/in_biome/the_void",
- "#minecraft:top_layer_modification/in_biome/the_void"
- ],
- "has_precipitation": false,
- "spawn_costs": {},
- "spawners": {
- "ambient": [],
- "axolotls": [],
- "creature": [],
- "misc": [],
- "monster": [],
- "underground_water_creature": [],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 0.5
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/warm_ocean.json b/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/warm_ocean.json
deleted file mode 100644
index 6dc7f3f38b..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/warm_ocean.json
+++ /dev/null
@@ -1,137 +0,0 @@
-{
- "carvers": "#minecraft:in_biome/warm_ocean",
- "downfall": 0.5,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "sky_color": 8103167,
- "water_color": 4445678,
- "water_fog_color": 270131
- },
- "features": [
- "#minecraft:raw_generation/in_biome/warm_ocean",
- "#minecraft:lakes/in_biome/warm_ocean",
- "#minecraft:local_modifications/in_biome/warm_ocean",
- "#minecraft:underground_structures/in_biome/warm_ocean",
- "#minecraft:surface_structures/in_biome/warm_ocean",
- "#minecraft:strongholds/in_biome/warm_ocean",
- "#minecraft:underground_ores/in_biome/warm_ocean",
- "#minecraft:underground_decoration/in_biome/warm_ocean",
- "#minecraft:fluid_springs/in_biome/warm_ocean",
- "#minecraft:vegetal_decoration/in_biome/warm_ocean",
- "#minecraft:top_layer_modification/in_biome/warm_ocean"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:drowned",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [
- {
- "type": "minecraft:pufferfish",
- "maxCount": 3,
- "minCount": 1,
- "weight": 15
- },
- {
- "type": "minecraft:tropical_fish",
- "maxCount": 8,
- "minCount": 8,
- "weight": 25
- }
- ],
- "water_creature": [
- {
- "type": "minecraft:squid",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:dolphin",
- "maxCount": 2,
- "minCount": 1,
- "weight": 2
- }
- ]
- },
- "temperature": 0.5
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/warped_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/warped_forest.json
deleted file mode 100644
index 4501611475..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/warped_forest.json
+++ /dev/null
@@ -1,78 +0,0 @@
-{
- "carvers": "#minecraft:in_biome/warped_forest",
- "downfall": 0.0,
- "effects": {
- "additions_sound": {
- "sound": "minecraft:ambient.warped_forest.additions",
- "tick_chance": 0.0111
- },
- "ambient_sound": "minecraft:ambient.warped_forest.loop",
- "fog_color": 1705242,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.warped_forest.mood",
- "tick_delay": 6000
- },
- "music": {
- "max_delay": 24000,
- "min_delay": 12000,
- "replace_current_music": false,
- "sound": "minecraft:music.nether.warped_forest"
- },
- "particle": {
- "options": {
- "type": "minecraft:warped_spore"
- },
- "probability": 0.01428
- },
- "sky_color": 7254527,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/warped_forest",
- "#minecraft:lakes/in_biome/warped_forest",
- "#minecraft:local_modifications/in_biome/warped_forest",
- "#minecraft:underground_structures/in_biome/warped_forest",
- "#minecraft:surface_structures/in_biome/warped_forest",
- "#minecraft:strongholds/in_biome/warped_forest",
- "#minecraft:underground_ores/in_biome/warped_forest",
- "#minecraft:underground_decoration/in_biome/warped_forest",
- "#minecraft:fluid_springs/in_biome/warped_forest",
- "#minecraft:vegetal_decoration/in_biome/warped_forest",
- "#minecraft:top_layer_modification/in_biome/warped_forest"
- ],
- "has_precipitation": false,
- "spawn_costs": {
- "minecraft:enderman": {
- "charge": 1.0,
- "energy_budget": 0.12
- }
- },
- "spawners": {
- "ambient": [],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:strider",
- "maxCount": 2,
- "minCount": 1,
- "weight": 60
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 4,
- "weight": 1
- }
- ],
- "underground_water_creature": [],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 2.0
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/windswept_forest.json b/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/windswept_forest.json
deleted file mode 100644
index 39602758d2..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/windswept_forest.json
+++ /dev/null
@@ -1,136 +0,0 @@
-{
- "carvers": "#minecraft:in_biome/windswept_forest",
- "downfall": 0.3,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "sky_color": 8233727,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/windswept_forest",
- "#minecraft:lakes/in_biome/windswept_forest",
- "#minecraft:local_modifications/in_biome/windswept_forest",
- "#minecraft:underground_structures/in_biome/windswept_forest",
- "#minecraft:surface_structures/in_biome/windswept_forest",
- "#minecraft:strongholds/in_biome/windswept_forest",
- "#minecraft:underground_ores/in_biome/windswept_forest",
- "#minecraft:underground_decoration/in_biome/windswept_forest",
- "#minecraft:fluid_springs/in_biome/windswept_forest",
- "#minecraft:vegetal_decoration/in_biome/windswept_forest",
- "#minecraft:top_layer_modification/in_biome/windswept_forest"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:sheep",
- "maxCount": 4,
- "minCount": 4,
- "weight": 12
- },
- {
- "type": "minecraft:pig",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:chicken",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:cow",
- "maxCount": 4,
- "minCount": 4,
- "weight": 8
- },
- {
- "type": "minecraft:llama",
- "maxCount": 6,
- "minCount": 4,
- "weight": 5
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 0.2
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/windswept_gravelly_hills.json b/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/windswept_gravelly_hills.json
deleted file mode 100644
index e8661edfd8..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/windswept_gravelly_hills.json
+++ /dev/null
@@ -1,136 +0,0 @@
-{
- "carvers": "#minecraft:in_biome/windswept_gravelly_hills",
- "downfall": 0.3,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "sky_color": 8233727,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/windswept_gravelly_hills",
- "#minecraft:lakes/in_biome/windswept_gravelly_hills",
- "#minecraft:local_modifications/in_biome/windswept_gravelly_hills",
- "#minecraft:underground_structures/in_biome/windswept_gravelly_hills",
- "#minecraft:surface_structures/in_biome/windswept_gravelly_hills",
- "#minecraft:strongholds/in_biome/windswept_gravelly_hills",
- "#minecraft:underground_ores/in_biome/windswept_gravelly_hills",
- "#minecraft:underground_decoration/in_biome/windswept_gravelly_hills",
- "#minecraft:fluid_springs/in_biome/windswept_gravelly_hills",
- "#minecraft:vegetal_decoration/in_biome/windswept_gravelly_hills",
- "#minecraft:top_layer_modification/in_biome/windswept_gravelly_hills"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:sheep",
- "maxCount": 4,
- "minCount": 4,
- "weight": 12
- },
- {
- "type": "minecraft:pig",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:chicken",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:cow",
- "maxCount": 4,
- "minCount": 4,
- "weight": 8
- },
- {
- "type": "minecraft:llama",
- "maxCount": 6,
- "minCount": 4,
- "weight": 5
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 0.2
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/windswept_hills.json b/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/windswept_hills.json
deleted file mode 100644
index b98affa58b..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/windswept_hills.json
+++ /dev/null
@@ -1,136 +0,0 @@
-{
- "carvers": "#minecraft:in_biome/windswept_hills",
- "downfall": 0.3,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "sky_color": 8233727,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/windswept_hills",
- "#minecraft:lakes/in_biome/windswept_hills",
- "#minecraft:local_modifications/in_biome/windswept_hills",
- "#minecraft:underground_structures/in_biome/windswept_hills",
- "#minecraft:surface_structures/in_biome/windswept_hills",
- "#minecraft:strongholds/in_biome/windswept_hills",
- "#minecraft:underground_ores/in_biome/windswept_hills",
- "#minecraft:underground_decoration/in_biome/windswept_hills",
- "#minecraft:fluid_springs/in_biome/windswept_hills",
- "#minecraft:vegetal_decoration/in_biome/windswept_hills",
- "#minecraft:top_layer_modification/in_biome/windswept_hills"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:sheep",
- "maxCount": 4,
- "minCount": 4,
- "weight": 12
- },
- {
- "type": "minecraft:pig",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:chicken",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:cow",
- "maxCount": 4,
- "minCount": 4,
- "weight": 8
- },
- {
- "type": "minecraft:llama",
- "maxCount": 6,
- "minCount": 4,
- "weight": 5
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 0.2
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/windswept_savanna.json b/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/windswept_savanna.json
deleted file mode 100644
index a588d10545..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/windswept_savanna.json
+++ /dev/null
@@ -1,148 +0,0 @@
-{
- "carvers": "#minecraft:in_biome/windswept_savanna",
- "downfall": 0.0,
- "effects": {
- "fog_color": 12638463,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "sky_color": 7254527,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/windswept_savanna",
- "#minecraft:lakes/in_biome/windswept_savanna",
- "#minecraft:local_modifications/in_biome/windswept_savanna",
- "#minecraft:underground_structures/in_biome/windswept_savanna",
- "#minecraft:surface_structures/in_biome/windswept_savanna",
- "#minecraft:strongholds/in_biome/windswept_savanna",
- "#minecraft:underground_ores/in_biome/windswept_savanna",
- "#minecraft:underground_decoration/in_biome/windswept_savanna",
- "#minecraft:fluid_springs/in_biome/windswept_savanna",
- "#minecraft:vegetal_decoration/in_biome/windswept_savanna",
- "#minecraft:top_layer_modification/in_biome/windswept_savanna"
- ],
- "has_precipitation": false,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:sheep",
- "maxCount": 4,
- "minCount": 4,
- "weight": 12
- },
- {
- "type": "minecraft:pig",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:chicken",
- "maxCount": 4,
- "minCount": 4,
- "weight": 10
- },
- {
- "type": "minecraft:cow",
- "maxCount": 4,
- "minCount": 4,
- "weight": 8
- },
- {
- "type": "minecraft:horse",
- "maxCount": 6,
- "minCount": 2,
- "weight": 1
- },
- {
- "type": "minecraft:donkey",
- "maxCount": 1,
- "minCount": 1,
- "weight": 1
- },
- {
- "type": "minecraft:armadillo",
- "maxCount": 3,
- "minCount": 2,
- "weight": 10
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 2.0
-}
diff --git a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/wooded_badlands.json b/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/wooded_badlands.json
deleted file mode 100644
index e87c8feec0..0000000000
--- a/pfb_biome_extensions/backport_57/data/minecraft/worldgen/biome/wooded_badlands.json
+++ /dev/null
@@ -1,127 +0,0 @@
-{
- "carvers": "#minecraft:in_biome/wooded_badlands",
- "creature_spawn_probability": 0.04,
- "downfall": 0.0,
- "effects": {
- "fog_color": 12638463,
- "foliage_color": 10387789,
- "grass_color": 9470285,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "music": {
- "max_delay": 24000,
- "min_delay": 12000,
- "replace_current_music": false,
- "sound": "minecraft:music.overworld.badlands"
- },
- "sky_color": 7254527,
- "water_color": 4159204,
- "water_fog_color": 329011
- },
- "features": [
- "#minecraft:raw_generation/in_biome/wooded_badlands",
- "#minecraft:lakes/in_biome/wooded_badlands",
- "#minecraft:local_modifications/in_biome/wooded_badlands",
- "#minecraft:underground_structures/in_biome/wooded_badlands",
- "#minecraft:surface_structures/in_biome/wooded_badlands",
- "#minecraft:strongholds/in_biome/wooded_badlands",
- "#minecraft:underground_ores/in_biome/wooded_badlands",
- "#minecraft:underground_decoration/in_biome/wooded_badlands",
- "#minecraft:fluid_springs/in_biome/wooded_badlands",
- "#minecraft:vegetal_decoration/in_biome/wooded_badlands",
- "#minecraft:top_layer_modification/in_biome/wooded_badlands"
- ],
- "has_precipitation": false,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [
- {
- "type": "minecraft:armadillo",
- "maxCount": 2,
- "minCount": 1,
- "weight": 6
- },
- {
- "type": "minecraft:wolf",
- "maxCount": 8,
- "minCount": 4,
- "weight": 2
- }
- ],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 2.0
-}
diff --git a/pfb_biome_extensions/beet.yaml b/pfb_biome_extensions/beet.yaml
index 0e1eb23ea1..243bda55b2 100644
--- a/pfb_biome_extensions/beet.yaml
+++ b/pfb_biome_extensions/beet.yaml
@@ -1,15 +1,2 @@
data_pack:
load: .
- overlays:
- - formats:
- min_inclusive: 0
- max_inclusive: 57
- directory: backport_57
- - formats:
- min_inclusive: 0
- max_inclusive: 48
- directory: backport_48
- - formats:
- min_inclusive: 61
- max_inclusive: 61
- directory: since_61
diff --git a/pfb_biome_extensions/since_61/data/minecraft/tags/worldgen/configured_carver/in_biome/pale_garden.json b/pfb_biome_extensions/data/minecraft/tags/worldgen/configured_carver/in_biome/pale_garden.json
similarity index 100%
rename from pfb_biome_extensions/since_61/data/minecraft/tags/worldgen/configured_carver/in_biome/pale_garden.json
rename to pfb_biome_extensions/data/minecraft/tags/worldgen/configured_carver/in_biome/pale_garden.json
diff --git a/pfb_biome_extensions/since_61/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/pale_garden.json b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/pale_garden.json
similarity index 100%
rename from pfb_biome_extensions/since_61/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/pale_garden.json
rename to pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/fluid_springs/in_biome/pale_garden.json
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/badlands.json b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/pale_garden.json
similarity index 100%
rename from pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/badlands.json
rename to pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/pale_garden.json
diff --git a/pfb_biome_extensions/since_61/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/pale_garden.json b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/pale_garden.json
similarity index 100%
rename from pfb_biome_extensions/since_61/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/pale_garden.json
rename to pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/local_modifications/in_biome/pale_garden.json
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/badlands.json b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/pale_garden.json
similarity index 100%
rename from pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/badlands.json
rename to pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/pale_garden.json
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/badlands.json b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/pale_garden.json
similarity index 100%
rename from pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/badlands.json
rename to pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/pale_garden.json
diff --git a/pfb_biome_extensions/since_61/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/pale_garden.json b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/pale_garden.json
similarity index 100%
rename from pfb_biome_extensions/since_61/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/pale_garden.json
rename to pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/surface_structures/in_biome/pale_garden.json
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/badlands.json b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/pale_garden.json
similarity index 100%
rename from pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/badlands.json
rename to pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/pale_garden.json
diff --git a/pfb_biome_extensions/since_61/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/pale_garden.json b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/pale_garden.json
similarity index 100%
rename from pfb_biome_extensions/since_61/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/pale_garden.json
rename to pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/underground_decoration/in_biome/pale_garden.json
diff --git a/pfb_biome_extensions/since_61/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/pale_garden.json b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/pale_garden.json
similarity index 100%
rename from pfb_biome_extensions/since_61/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/pale_garden.json
rename to pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/underground_ores/in_biome/pale_garden.json
diff --git a/pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/badlands.json b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/pale_garden.json
similarity index 100%
rename from pfb_biome_extensions/backport_48/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/badlands.json
rename to pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/pale_garden.json
diff --git a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/badlands.json b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/badlands.json
index 942ed584de..9d2664d71e 100644
--- a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/badlands.json
+++ b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/badlands.json
@@ -7,11 +7,13 @@
},
"minecraft:glow_lichen",
"minecraft:patch_grass_badlands",
+ "minecraft:patch_dry_grass_badlands",
"minecraft:patch_dead_bush_badlands",
"minecraft:brown_mushroom_normal",
"minecraft:red_mushroom_normal",
"minecraft:patch_sugar_cane_badlands",
"minecraft:patch_pumpkin",
- "minecraft:patch_cactus_decorated"
+ "minecraft:patch_cactus_decorated",
+ "minecraft:patch_firefly_bush_near_water"
]
}
diff --git a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/bamboo_jungle.json b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/bamboo_jungle.json
index 4bc3d7a6a3..953997216d 100644
--- a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/bamboo_jungle.json
+++ b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/bamboo_jungle.json
@@ -12,8 +12,9 @@
"minecraft:patch_grass_jungle",
"minecraft:brown_mushroom_normal",
"minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
"minecraft:patch_pumpkin",
+ "minecraft:patch_sugar_cane",
+ "minecraft:patch_firefly_bush_near_water",
"minecraft:vines",
"minecraft:patch_melon"
]
diff --git a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/beach.json b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/beach.json
index 13d98bcc29..bd0754d659 100644
--- a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/beach.json
+++ b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/beach.json
@@ -10,7 +10,8 @@
"minecraft:patch_grass_badlands",
"minecraft:brown_mushroom_normal",
"minecraft:red_mushroom_normal",
+ "minecraft:patch_pumpkin",
"minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
+ "minecraft:patch_firefly_bush_near_water"
]
}
diff --git a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/birch_forest.json b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/birch_forest.json
index dcba91ea62..dfd04bb74e 100644
--- a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/birch_forest.json
+++ b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/birch_forest.json
@@ -7,12 +7,15 @@
},
"minecraft:glow_lichen",
"minecraft:forest_flowers",
+ "minecraft:wildflowers_birch_forest",
"minecraft:trees_birch",
+ "minecraft:patch_bush",
"minecraft:flower_default",
"minecraft:patch_grass_forest",
"minecraft:brown_mushroom_normal",
"minecraft:red_mushroom_normal",
+ "minecraft:patch_pumpkin",
"minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
+ "minecraft:patch_firefly_bush_near_water"
]
}
diff --git a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/cold_ocean.json b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/cold_ocean.json
index 006d9e827d..cabdd20611 100644
--- a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/cold_ocean.json
+++ b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/cold_ocean.json
@@ -11,8 +11,9 @@
"minecraft:patch_grass_badlands",
"minecraft:brown_mushroom_normal",
"minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
"minecraft:patch_pumpkin",
+ "minecraft:patch_sugar_cane",
+ "minecraft:patch_firefly_bush_near_water",
"minecraft:seagrass_cold",
"minecraft:kelp_cold"
]
diff --git a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/dark_forest.json b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/dark_forest.json
index 6e9f5815b7..d59ca73ba3 100644
--- a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/dark_forest.json
+++ b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/dark_forest.json
@@ -12,7 +12,9 @@
"minecraft:patch_grass_forest",
"minecraft:brown_mushroom_normal",
"minecraft:red_mushroom_normal",
+ "minecraft:patch_leaf_litter",
+ "minecraft:patch_pumpkin",
"minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
+ "minecraft:patch_firefly_bush_near_water"
]
}
diff --git a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/deep_cold_ocean.json b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/deep_cold_ocean.json
index 1f60c3b876..60e103ab26 100644
--- a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/deep_cold_ocean.json
+++ b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/deep_cold_ocean.json
@@ -11,8 +11,9 @@
"minecraft:patch_grass_badlands",
"minecraft:brown_mushroom_normal",
"minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
"minecraft:patch_pumpkin",
+ "minecraft:patch_sugar_cane",
+ "minecraft:patch_firefly_bush_near_water",
"minecraft:seagrass_deep_cold",
"minecraft:kelp_cold"
]
diff --git a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/deep_dark.json b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/deep_dark.json
index 73a2d00438..9d82c19e45 100644
--- a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/deep_dark.json
+++ b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/deep_dark.json
@@ -12,7 +12,6 @@
"minecraft:patch_grass_plain",
"minecraft:brown_mushroom_normal",
"minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
"minecraft:patch_pumpkin"
]
}
diff --git a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/deep_frozen_ocean.json b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/deep_frozen_ocean.json
index a624a7f287..2553693155 100644
--- a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/deep_frozen_ocean.json
+++ b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/deep_frozen_ocean.json
@@ -11,7 +11,8 @@
"minecraft:patch_grass_badlands",
"minecraft:brown_mushroom_normal",
"minecraft:red_mushroom_normal",
+ "minecraft:patch_pumpkin",
"minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
+ "minecraft:patch_firefly_bush_near_water"
]
}
diff --git a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/deep_lukewarm_ocean.json b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/deep_lukewarm_ocean.json
index 03c93912e3..52e7c70e02 100644
--- a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/deep_lukewarm_ocean.json
+++ b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/deep_lukewarm_ocean.json
@@ -11,8 +11,9 @@
"minecraft:patch_grass_badlands",
"minecraft:brown_mushroom_normal",
"minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
"minecraft:patch_pumpkin",
+ "minecraft:patch_sugar_cane",
+ "minecraft:patch_firefly_bush_near_water",
"minecraft:seagrass_deep_warm",
"minecraft:kelp_warm"
]
diff --git a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/deep_ocean.json b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/deep_ocean.json
index 7b4adb7f41..4fd79c3e07 100644
--- a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/deep_ocean.json
+++ b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/deep_ocean.json
@@ -11,8 +11,9 @@
"minecraft:patch_grass_badlands",
"minecraft:brown_mushroom_normal",
"minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
"minecraft:patch_pumpkin",
+ "minecraft:patch_sugar_cane",
+ "minecraft:patch_firefly_bush_near_water",
"minecraft:seagrass_deep",
"minecraft:kelp_cold"
]
diff --git a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/desert.json b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/desert.json
index 97addb35fc..1a24831b91 100644
--- a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/desert.json
+++ b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/desert.json
@@ -8,6 +8,7 @@
"minecraft:glow_lichen",
"minecraft:flower_default",
"minecraft:patch_grass_badlands",
+ "minecraft:patch_dry_grass_desert",
"minecraft:patch_dead_bush_2",
"minecraft:brown_mushroom_normal",
"minecraft:red_mushroom_normal",
diff --git a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/dripstone_caves.json b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/dripstone_caves.json
index 73a2d00438..9d82c19e45 100644
--- a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/dripstone_caves.json
+++ b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/dripstone_caves.json
@@ -12,7 +12,6 @@
"minecraft:patch_grass_plain",
"minecraft:brown_mushroom_normal",
"minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
"minecraft:patch_pumpkin"
]
}
diff --git a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/eroded_badlands.json b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/eroded_badlands.json
index 942ed584de..9d2664d71e 100644
--- a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/eroded_badlands.json
+++ b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/eroded_badlands.json
@@ -7,11 +7,13 @@
},
"minecraft:glow_lichen",
"minecraft:patch_grass_badlands",
+ "minecraft:patch_dry_grass_badlands",
"minecraft:patch_dead_bush_badlands",
"minecraft:brown_mushroom_normal",
"minecraft:red_mushroom_normal",
"minecraft:patch_sugar_cane_badlands",
"minecraft:patch_pumpkin",
- "minecraft:patch_cactus_decorated"
+ "minecraft:patch_cactus_decorated",
+ "minecraft:patch_firefly_bush_near_water"
]
}
diff --git a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/flower_forest.json b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/flower_forest.json
index 3dcac0d545..5b0832e17d 100644
--- a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/flower_forest.json
+++ b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/flower_forest.json
@@ -12,7 +12,8 @@
"minecraft:patch_grass_badlands",
"minecraft:brown_mushroom_normal",
"minecraft:red_mushroom_normal",
+ "minecraft:patch_pumpkin",
"minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
+ "minecraft:patch_firefly_bush_near_water"
]
}
diff --git a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/forest.json b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/forest.json
index 08ac1eaaa2..4153e07673 100644
--- a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/forest.json
+++ b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/forest.json
@@ -7,12 +7,14 @@
},
"minecraft:glow_lichen",
"minecraft:forest_flowers",
- "minecraft:trees_birch_and_oak",
+ "minecraft:trees_birch_and_oak_leaf_litter",
+ "minecraft:patch_bush",
"minecraft:flower_default",
"minecraft:patch_grass_forest",
"minecraft:brown_mushroom_normal",
"minecraft:red_mushroom_normal",
+ "minecraft:patch_pumpkin",
"minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
+ "minecraft:patch_firefly_bush_near_water"
]
}
diff --git a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/frozen_ocean.json b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/frozen_ocean.json
index a624a7f287..2553693155 100644
--- a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/frozen_ocean.json
+++ b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/frozen_ocean.json
@@ -11,7 +11,8 @@
"minecraft:patch_grass_badlands",
"minecraft:brown_mushroom_normal",
"minecraft:red_mushroom_normal",
+ "minecraft:patch_pumpkin",
"minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
+ "minecraft:patch_firefly_bush_near_water"
]
}
diff --git a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/frozen_river.json b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/frozen_river.json
index a624a7f287..b726b97c83 100644
--- a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/frozen_river.json
+++ b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/frozen_river.json
@@ -7,11 +7,13 @@
},
"minecraft:glow_lichen",
"minecraft:trees_water",
+ "minecraft:patch_bush",
"minecraft:flower_default",
"minecraft:patch_grass_badlands",
"minecraft:brown_mushroom_normal",
"minecraft:red_mushroom_normal",
+ "minecraft:patch_pumpkin",
"minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
+ "minecraft:patch_firefly_bush_near_water"
]
}
diff --git a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/grove.json b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/grove.json
index c3b3265ad1..2a1dc6c4cf 100644
--- a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/grove.json
+++ b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/grove.json
@@ -7,7 +7,6 @@
},
"minecraft:glow_lichen",
"minecraft:trees_grove",
- "minecraft:patch_sugar_cane",
"minecraft:patch_pumpkin"
]
}
diff --git a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/ice_spikes.json b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/ice_spikes.json
index 5b24beccfc..9a2c846b12 100644
--- a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/ice_spikes.json
+++ b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/ice_spikes.json
@@ -11,7 +11,8 @@
"minecraft:patch_grass_badlands",
"minecraft:brown_mushroom_normal",
"minecraft:red_mushroom_normal",
+ "minecraft:patch_pumpkin",
"minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
+ "minecraft:patch_firefly_bush_near_water"
]
}
diff --git a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/jungle.json b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/jungle.json
index 4ea85eab16..44943dfc4f 100644
--- a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/jungle.json
+++ b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/jungle.json
@@ -12,8 +12,9 @@
"minecraft:patch_grass_jungle",
"minecraft:brown_mushroom_normal",
"minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
"minecraft:patch_pumpkin",
+ "minecraft:patch_sugar_cane",
+ "minecraft:patch_firefly_bush_near_water",
"minecraft:vines",
"minecraft:patch_melon"
]
diff --git a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/lukewarm_ocean.json b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/lukewarm_ocean.json
index 05fbaa13ad..d55901d572 100644
--- a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/lukewarm_ocean.json
+++ b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/lukewarm_ocean.json
@@ -11,8 +11,9 @@
"minecraft:patch_grass_badlands",
"minecraft:brown_mushroom_normal",
"minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
"minecraft:patch_pumpkin",
+ "minecraft:patch_sugar_cane",
+ "minecraft:patch_firefly_bush_near_water",
"minecraft:seagrass_warm",
"minecraft:kelp_warm"
]
diff --git a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/mangrove_swamp.json b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/mangrove_swamp.json
index 9003e1532f..d5e3b5960f 100644
--- a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/mangrove_swamp.json
+++ b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/mangrove_swamp.json
@@ -10,6 +10,7 @@
"minecraft:patch_grass_normal",
"minecraft:patch_dead_bush",
"minecraft:patch_waterlily",
- "minecraft:seagrass_swamp"
+ "minecraft:seagrass_swamp",
+ "minecraft:patch_firefly_bush_near_water"
]
}
diff --git a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/meadow.json b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/meadow.json
index 98dccd0bf2..c2fd2b294f 100644
--- a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/meadow.json
+++ b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/meadow.json
@@ -7,8 +7,9 @@
},
"minecraft:glow_lichen",
"minecraft:patch_tall_grass_2",
- "minecraft:patch_grass_plain",
+ "minecraft:patch_grass_meadow",
"minecraft:flower_meadow",
- "minecraft:trees_meadow"
+ "minecraft:trees_meadow",
+ "minecraft:wildflowers_meadow"
]
}
diff --git a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/mushroom_fields.json b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/mushroom_fields.json
index 6fb541aa47..8e4ac94055 100644
--- a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/mushroom_fields.json
+++ b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/mushroom_fields.json
@@ -9,7 +9,8 @@
"minecraft:mushroom_island_vegetation",
"minecraft:brown_mushroom_taiga",
"minecraft:red_mushroom_taiga",
+ "minecraft:patch_pumpkin",
"minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
+ "minecraft:patch_firefly_bush_near_water"
]
}
diff --git a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/ocean.json b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/ocean.json
index 9f3cd64335..81291d3607 100644
--- a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/ocean.json
+++ b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/ocean.json
@@ -11,8 +11,9 @@
"minecraft:patch_grass_badlands",
"minecraft:brown_mushroom_normal",
"minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
"minecraft:patch_pumpkin",
+ "minecraft:patch_sugar_cane",
+ "minecraft:patch_firefly_bush_near_water",
"minecraft:seagrass_normal",
"minecraft:kelp_cold"
]
diff --git a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/old_growth_birch_forest.json b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/old_growth_birch_forest.json
index 2bfd4347f7..d089498b6f 100644
--- a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/old_growth_birch_forest.json
+++ b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/old_growth_birch_forest.json
@@ -7,12 +7,15 @@
},
"minecraft:glow_lichen",
"minecraft:forest_flowers",
+ "minecraft:wildflowers_birch_forest",
"minecraft:birch_tall",
+ "minecraft:patch_bush",
"minecraft:flower_default",
"minecraft:patch_grass_forest",
"minecraft:brown_mushroom_normal",
"minecraft:red_mushroom_normal",
+ "minecraft:patch_pumpkin",
"minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
+ "minecraft:patch_firefly_bush_near_water"
]
}
diff --git a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/old_growth_pine_taiga.json b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/old_growth_pine_taiga.json
index ef77295fc2..2287839ed6 100644
--- a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/old_growth_pine_taiga.json
+++ b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/old_growth_pine_taiga.json
@@ -15,8 +15,9 @@
"minecraft:red_mushroom_old_growth",
"minecraft:brown_mushroom_normal",
"minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
"minecraft:patch_pumpkin",
+ "minecraft:patch_sugar_cane",
+ "minecraft:patch_firefly_bush_near_water",
"minecraft:patch_berry_common"
]
}
diff --git a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/old_growth_spruce_taiga.json b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/old_growth_spruce_taiga.json
index 654ed1f56f..bf661205de 100644
--- a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/old_growth_spruce_taiga.json
+++ b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/old_growth_spruce_taiga.json
@@ -15,8 +15,9 @@
"minecraft:red_mushroom_old_growth",
"minecraft:brown_mushroom_normal",
"minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
"minecraft:patch_pumpkin",
+ "minecraft:patch_sugar_cane",
+ "minecraft:patch_firefly_bush_near_water",
"minecraft:patch_berry_common"
]
}
diff --git a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/pale_garden.json b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/pale_garden.json
new file mode 100644
index 0000000000..3225a1d76e
--- /dev/null
+++ b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/pale_garden.json
@@ -0,0 +1,18 @@
+{
+ "replace": false,
+ "values": [
+ {
+ "id": "#minecraft:vegetal_decoration/in_overworld",
+ "required": false
+ },
+ "minecraft:glow_lichen",
+ "minecraft:pale_garden_vegetation",
+ "minecraft:pale_moss_patch",
+ "minecraft:pale_garden_flowers",
+ "minecraft:flower_pale_garden",
+ "minecraft:patch_grass_forest",
+ "minecraft:patch_pumpkin",
+ "minecraft:patch_sugar_cane",
+ "minecraft:patch_firefly_bush_near_water"
+ ]
+}
diff --git a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/plains.json b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/plains.json
index 73a2d00438..49471b3414 100644
--- a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/plains.json
+++ b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/plains.json
@@ -7,12 +7,14 @@
},
"minecraft:glow_lichen",
"minecraft:patch_tall_grass_2",
+ "minecraft:patch_bush",
"minecraft:trees_plains",
"minecraft:flower_plains",
"minecraft:patch_grass_plain",
"minecraft:brown_mushroom_normal",
"minecraft:red_mushroom_normal",
+ "minecraft:patch_pumpkin",
"minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
+ "minecraft:patch_firefly_bush_near_water"
]
}
diff --git a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/river.json b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/river.json
index 98878236cc..1399b312bd 100644
--- a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/river.json
+++ b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/river.json
@@ -7,12 +7,14 @@
},
"minecraft:glow_lichen",
"minecraft:trees_water",
+ "minecraft:patch_bush",
"minecraft:flower_default",
"minecraft:patch_grass_badlands",
"minecraft:brown_mushroom_normal",
"minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
"minecraft:patch_pumpkin",
+ "minecraft:patch_sugar_cane",
+ "minecraft:patch_firefly_bush_near_water",
"minecraft:seagrass_river"
]
}
diff --git a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/savanna.json b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/savanna.json
index 7fd572eecd..c99fda3310 100644
--- a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/savanna.json
+++ b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/savanna.json
@@ -12,7 +12,8 @@
"minecraft:patch_grass_savanna",
"minecraft:brown_mushroom_normal",
"minecraft:red_mushroom_normal",
+ "minecraft:patch_pumpkin",
"minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
+ "minecraft:patch_firefly_bush_near_water"
]
}
diff --git a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/savanna_plateau.json b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/savanna_plateau.json
index 7fd572eecd..c99fda3310 100644
--- a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/savanna_plateau.json
+++ b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/savanna_plateau.json
@@ -12,7 +12,8 @@
"minecraft:patch_grass_savanna",
"minecraft:brown_mushroom_normal",
"minecraft:red_mushroom_normal",
+ "minecraft:patch_pumpkin",
"minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
+ "minecraft:patch_firefly_bush_near_water"
]
}
diff --git a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/snowy_beach.json b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/snowy_beach.json
index 13d98bcc29..bd0754d659 100644
--- a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/snowy_beach.json
+++ b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/snowy_beach.json
@@ -10,7 +10,8 @@
"minecraft:patch_grass_badlands",
"minecraft:brown_mushroom_normal",
"minecraft:red_mushroom_normal",
+ "minecraft:patch_pumpkin",
"minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
+ "minecraft:patch_firefly_bush_near_water"
]
}
diff --git a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/snowy_plains.json b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/snowy_plains.json
index 5b24beccfc..9a2c846b12 100644
--- a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/snowy_plains.json
+++ b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/snowy_plains.json
@@ -11,7 +11,8 @@
"minecraft:patch_grass_badlands",
"minecraft:brown_mushroom_normal",
"minecraft:red_mushroom_normal",
+ "minecraft:patch_pumpkin",
"minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
+ "minecraft:patch_firefly_bush_near_water"
]
}
diff --git a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/snowy_slopes.json b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/snowy_slopes.json
index 31bf811d0c..cb32a402af 100644
--- a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/snowy_slopes.json
+++ b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/snowy_slopes.json
@@ -6,7 +6,6 @@
"required": false
},
"minecraft:glow_lichen",
- "minecraft:patch_sugar_cane",
"minecraft:patch_pumpkin"
]
}
diff --git a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/snowy_taiga.json b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/snowy_taiga.json
index 9d9dfc56f6..35f8f5aff6 100644
--- a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/snowy_taiga.json
+++ b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/snowy_taiga.json
@@ -12,8 +12,9 @@
"minecraft:patch_grass_taiga_2",
"minecraft:brown_mushroom_taiga",
"minecraft:red_mushroom_taiga",
- "minecraft:patch_sugar_cane",
"minecraft:patch_pumpkin",
+ "minecraft:patch_sugar_cane",
+ "minecraft:patch_firefly_bush_near_water",
"minecraft:patch_berry_rare"
]
}
diff --git a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/sparse_jungle.json b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/sparse_jungle.json
index 54d0931c4c..f8a5e2eb58 100644
--- a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/sparse_jungle.json
+++ b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/sparse_jungle.json
@@ -11,8 +11,9 @@
"minecraft:patch_grass_jungle",
"minecraft:brown_mushroom_normal",
"minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
"minecraft:patch_pumpkin",
+ "minecraft:patch_sugar_cane",
+ "minecraft:patch_firefly_bush_near_water",
"minecraft:vines",
"minecraft:patch_melon_sparse"
]
diff --git a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/stony_shore.json b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/stony_shore.json
index 13d98bcc29..bd0754d659 100644
--- a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/stony_shore.json
+++ b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/stony_shore.json
@@ -10,7 +10,8 @@
"minecraft:patch_grass_badlands",
"minecraft:brown_mushroom_normal",
"minecraft:red_mushroom_normal",
+ "minecraft:patch_pumpkin",
"minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
+ "minecraft:patch_firefly_bush_near_water"
]
}
diff --git a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/sunflower_plains.json b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/sunflower_plains.json
index 62baa25894..88c56a6aed 100644
--- a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/sunflower_plains.json
+++ b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/sunflower_plains.json
@@ -13,7 +13,8 @@
"minecraft:patch_grass_plain",
"minecraft:brown_mushroom_normal",
"minecraft:red_mushroom_normal",
+ "minecraft:patch_pumpkin",
"minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
+ "minecraft:patch_firefly_bush_near_water"
]
}
diff --git a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/swamp.json b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/swamp.json
index 38ba6bd789..550f874a10 100644
--- a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/swamp.json
+++ b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/swamp.json
@@ -17,6 +17,8 @@
"minecraft:red_mushroom_normal",
"minecraft:patch_sugar_cane_swamp",
"minecraft:patch_pumpkin",
+ "minecraft:patch_firefly_bush_swamp",
+ "minecraft:patch_firefly_bush_near_water_swamp",
"minecraft:seagrass_swamp"
]
}
diff --git a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/taiga.json b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/taiga.json
index 054b2fdfd3..0173aa39ef 100644
--- a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/taiga.json
+++ b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/taiga.json
@@ -12,8 +12,9 @@
"minecraft:patch_grass_taiga_2",
"minecraft:brown_mushroom_taiga",
"minecraft:red_mushroom_taiga",
- "minecraft:patch_sugar_cane",
"minecraft:patch_pumpkin",
+ "minecraft:patch_sugar_cane",
+ "minecraft:patch_firefly_bush_near_water",
"minecraft:patch_berry_common"
]
}
diff --git a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/warm_ocean.json b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/warm_ocean.json
index eecc3476dd..55d1d78f15 100644
--- a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/warm_ocean.json
+++ b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/warm_ocean.json
@@ -11,8 +11,9 @@
"minecraft:patch_grass_badlands",
"minecraft:brown_mushroom_normal",
"minecraft:red_mushroom_normal",
- "minecraft:patch_sugar_cane",
"minecraft:patch_pumpkin",
+ "minecraft:patch_sugar_cane",
+ "minecraft:patch_firefly_bush_near_water",
"minecraft:warm_ocean_vegetation",
"minecraft:seagrass_warm",
"minecraft:sea_pickle"
diff --git a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/windswept_forest.json b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/windswept_forest.json
index 4f0dd143b0..ca45af5da9 100644
--- a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/windswept_forest.json
+++ b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/windswept_forest.json
@@ -7,11 +7,13 @@
},
"minecraft:glow_lichen",
"minecraft:trees_windswept_forest",
+ "minecraft:patch_bush",
"minecraft:flower_default",
"minecraft:patch_grass_badlands",
"minecraft:brown_mushroom_normal",
"minecraft:red_mushroom_normal",
+ "minecraft:patch_pumpkin",
"minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
+ "minecraft:patch_firefly_bush_near_water"
]
}
diff --git a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/windswept_gravelly_hills.json b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/windswept_gravelly_hills.json
index a25b54a207..7aadccbf99 100644
--- a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/windswept_gravelly_hills.json
+++ b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/windswept_gravelly_hills.json
@@ -7,11 +7,13 @@
},
"minecraft:glow_lichen",
"minecraft:trees_windswept_hills",
+ "minecraft:patch_bush",
"minecraft:flower_default",
"minecraft:patch_grass_badlands",
"minecraft:brown_mushroom_normal",
"minecraft:red_mushroom_normal",
+ "minecraft:patch_pumpkin",
"minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
+ "minecraft:patch_firefly_bush_near_water"
]
}
diff --git a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/windswept_hills.json b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/windswept_hills.json
index a25b54a207..7aadccbf99 100644
--- a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/windswept_hills.json
+++ b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/windswept_hills.json
@@ -7,11 +7,13 @@
},
"minecraft:glow_lichen",
"minecraft:trees_windswept_hills",
+ "minecraft:patch_bush",
"minecraft:flower_default",
"minecraft:patch_grass_badlands",
"minecraft:brown_mushroom_normal",
"minecraft:red_mushroom_normal",
+ "minecraft:patch_pumpkin",
"minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
+ "minecraft:patch_firefly_bush_near_water"
]
}
diff --git a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/windswept_savanna.json b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/windswept_savanna.json
index 6434f5009f..17940a5e28 100644
--- a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/windswept_savanna.json
+++ b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/windswept_savanna.json
@@ -11,7 +11,8 @@
"minecraft:patch_grass_normal",
"minecraft:brown_mushroom_normal",
"minecraft:red_mushroom_normal",
+ "minecraft:patch_pumpkin",
"minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
+ "minecraft:patch_firefly_bush_near_water"
]
}
diff --git a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/wooded_badlands.json b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/wooded_badlands.json
index 87fa18f9c2..9c947e914d 100644
--- a/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/wooded_badlands.json
+++ b/pfb_biome_extensions/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/wooded_badlands.json
@@ -8,11 +8,13 @@
"minecraft:glow_lichen",
"minecraft:trees_badlands",
"minecraft:patch_grass_badlands",
+ "minecraft:patch_dry_grass_badlands",
"minecraft:patch_dead_bush_badlands",
"minecraft:brown_mushroom_normal",
"minecraft:red_mushroom_normal",
"minecraft:patch_sugar_cane_badlands",
"minecraft:patch_pumpkin",
- "minecraft:patch_cactus_decorated"
+ "minecraft:patch_cactus_decorated",
+ "minecraft:patch_firefly_bush_near_water"
]
}
diff --git a/pfb_biome_extensions/data/minecraft/worldgen/biome/badlands.json b/pfb_biome_extensions/data/minecraft/worldgen/biome/badlands.json
index 893d51e400..f0fc8e318d 100644
--- a/pfb_biome_extensions/data/minecraft/worldgen/biome/badlands.json
+++ b/pfb_biome_extensions/data/minecraft/worldgen/biome/badlands.json
@@ -54,6 +54,30 @@
],
"axolotls": [],
"creature": [
+ {
+ "type": "minecraft:sheep",
+ "maxCount": 4,
+ "minCount": 4,
+ "weight": 12
+ },
+ {
+ "type": "minecraft:pig",
+ "maxCount": 4,
+ "minCount": 4,
+ "weight": 10
+ },
+ {
+ "type": "minecraft:chicken",
+ "maxCount": 4,
+ "minCount": 4,
+ "weight": 10
+ },
+ {
+ "type": "minecraft:cow",
+ "maxCount": 4,
+ "minCount": 4,
+ "weight": 8
+ },
{
"type": "minecraft:armadillo",
"maxCount": 2,
diff --git a/pfb_biome_extensions/data/minecraft/worldgen/biome/dark_forest.json b/pfb_biome_extensions/data/minecraft/worldgen/biome/dark_forest.json
index ba72c67abd..2f3b8e4346 100644
--- a/pfb_biome_extensions/data/minecraft/worldgen/biome/dark_forest.json
+++ b/pfb_biome_extensions/data/minecraft/worldgen/biome/dark_forest.json
@@ -2,6 +2,7 @@
"carvers": "#minecraft:in_biome/dark_forest",
"downfall": 0.8,
"effects": {
+ "dry_foliage_color": 8082228,
"fog_color": 12638463,
"grass_color_modifier": "dark_forest",
"mood_sound": {
diff --git a/pfb_biome_extensions/data/minecraft/worldgen/biome/desert.json b/pfb_biome_extensions/data/minecraft/worldgen/biome/desert.json
index c65afc4ddc..ce71f44e9d 100644
--- a/pfb_biome_extensions/data/minecraft/worldgen/biome/desert.json
+++ b/pfb_biome_extensions/data/minecraft/worldgen/biome/desert.json
@@ -55,7 +55,13 @@
"type": "minecraft:rabbit",
"maxCount": 3,
"minCount": 2,
- "weight": 4
+ "weight": 12
+ },
+ {
+ "type": "minecraft:camel",
+ "maxCount": 1,
+ "minCount": 1,
+ "weight": 1
}
],
"misc": [],
diff --git a/pfb_biome_extensions/data/minecraft/worldgen/biome/eroded_badlands.json b/pfb_biome_extensions/data/minecraft/worldgen/biome/eroded_badlands.json
index ea7621b106..4059ab97c3 100644
--- a/pfb_biome_extensions/data/minecraft/worldgen/biome/eroded_badlands.json
+++ b/pfb_biome_extensions/data/minecraft/worldgen/biome/eroded_badlands.json
@@ -54,6 +54,30 @@
],
"axolotls": [],
"creature": [
+ {
+ "type": "minecraft:sheep",
+ "maxCount": 4,
+ "minCount": 4,
+ "weight": 12
+ },
+ {
+ "type": "minecraft:pig",
+ "maxCount": 4,
+ "minCount": 4,
+ "weight": 10
+ },
+ {
+ "type": "minecraft:chicken",
+ "maxCount": 4,
+ "minCount": 4,
+ "weight": 10
+ },
+ {
+ "type": "minecraft:cow",
+ "maxCount": 4,
+ "minCount": 4,
+ "weight": 8
+ },
{
"type": "minecraft:armadillo",
"maxCount": 2,
diff --git a/pfb_biome_extensions/data/minecraft/worldgen/biome/mangrove_swamp.json b/pfb_biome_extensions/data/minecraft/worldgen/biome/mangrove_swamp.json
index 1ba9e1b224..8a36659c81 100644
--- a/pfb_biome_extensions/data/minecraft/worldgen/biome/mangrove_swamp.json
+++ b/pfb_biome_extensions/data/minecraft/worldgen/biome/mangrove_swamp.json
@@ -2,6 +2,7 @@
"carvers": "#minecraft:in_biome/mangrove_swamp",
"downfall": 0.9,
"effects": {
+ "dry_foliage_color": 8082228,
"fog_color": 12638463,
"foliage_color": 9285927,
"grass_color_modifier": "swamp",
diff --git a/pfb_biome_extensions/data/minecraft/worldgen/biome/pale_garden.json b/pfb_biome_extensions/data/minecraft/worldgen/biome/pale_garden.json
new file mode 100644
index 0000000000..dba07f900e
--- /dev/null
+++ b/pfb_biome_extensions/data/minecraft/worldgen/biome/pale_garden.json
@@ -0,0 +1,110 @@
+{
+ "carvers": "#minecraft:in_biome/pale_garden",
+ "downfall": 0.8,
+ "effects": {
+ "dry_foliage_color": 10528412,
+ "fog_color": 8484720,
+ "foliage_color": 8883574,
+ "grass_color": 7832178,
+ "mood_sound": {
+ "block_search_extent": 8,
+ "offset": 2.0,
+ "sound": "minecraft:ambient.cave",
+ "tick_delay": 6000
+ },
+ "music": [],
+ "music_volume": 0.0,
+ "sky_color": 12171705,
+ "water_color": 7768221,
+ "water_fog_color": 5597568
+ },
+ "features": [
+ "#minecraft:raw_generation/in_biome/pale_garden",
+ "#minecraft:lakes/in_biome/pale_garden",
+ "#minecraft:local_modifications/in_biome/pale_garden",
+ "#minecraft:underground_structures/in_biome/pale_garden",
+ "#minecraft:surface_structures/in_biome/pale_garden",
+ "#minecraft:strongholds/in_biome/pale_garden",
+ "#minecraft:underground_ores/in_biome/pale_garden",
+ "#minecraft:underground_decoration/in_biome/pale_garden",
+ "#minecraft:fluid_springs/in_biome/pale_garden",
+ "#minecraft:vegetal_decoration/in_biome/pale_garden",
+ "#minecraft:top_layer_modification/in_biome/pale_garden"
+ ],
+ "has_precipitation": true,
+ "spawn_costs": {},
+ "spawners": {
+ "ambient": [
+ {
+ "type": "minecraft:bat",
+ "maxCount": 8,
+ "minCount": 8,
+ "weight": 10
+ }
+ ],
+ "axolotls": [],
+ "creature": [],
+ "misc": [],
+ "monster": [
+ {
+ "type": "minecraft:spider",
+ "maxCount": 4,
+ "minCount": 4,
+ "weight": 100
+ },
+ {
+ "type": "minecraft:zombie",
+ "maxCount": 4,
+ "minCount": 4,
+ "weight": 95
+ },
+ {
+ "type": "minecraft:zombie_villager",
+ "maxCount": 1,
+ "minCount": 1,
+ "weight": 5
+ },
+ {
+ "type": "minecraft:skeleton",
+ "maxCount": 4,
+ "minCount": 4,
+ "weight": 100
+ },
+ {
+ "type": "minecraft:creeper",
+ "maxCount": 4,
+ "minCount": 4,
+ "weight": 100
+ },
+ {
+ "type": "minecraft:slime",
+ "maxCount": 4,
+ "minCount": 4,
+ "weight": 100
+ },
+ {
+ "type": "minecraft:enderman",
+ "maxCount": 4,
+ "minCount": 1,
+ "weight": 10
+ },
+ {
+ "type": "minecraft:witch",
+ "maxCount": 1,
+ "minCount": 1,
+ "weight": 5
+ }
+ ],
+ "underground_water_creature": [
+ {
+ "type": "minecraft:glow_squid",
+ "maxCount": 6,
+ "minCount": 4,
+ "weight": 10
+ }
+ ],
+ "water_ambient": [],
+ "water_creature": []
+ },
+ "temperature": 0.7
+}
diff --git a/pfb_biome_extensions/data/minecraft/worldgen/biome/swamp.json b/pfb_biome_extensions/data/minecraft/worldgen/biome/swamp.json
index ed42e16bc0..2d4aedf830 100644
--- a/pfb_biome_extensions/data/minecraft/worldgen/biome/swamp.json
+++ b/pfb_biome_extensions/data/minecraft/worldgen/biome/swamp.json
@@ -2,6 +2,7 @@
"carvers": "#minecraft:in_biome/swamp",
"downfall": 0.9,
"effects": {
+ "dry_foliage_color": 8082228,
"fog_color": 12638463,
"foliage_color": 6975545,
"grass_color_modifier": "swamp",
diff --git a/pfb_biome_extensions/data/minecraft/worldgen/biome/wooded_badlands.json b/pfb_biome_extensions/data/minecraft/worldgen/biome/wooded_badlands.json
index 7edabd6e4e..19b1dd0313 100644
--- a/pfb_biome_extensions/data/minecraft/worldgen/biome/wooded_badlands.json
+++ b/pfb_biome_extensions/data/minecraft/worldgen/biome/wooded_badlands.json
@@ -54,6 +54,30 @@
],
"axolotls": [],
"creature": [
+ {
+ "type": "minecraft:sheep",
+ "maxCount": 4,
+ "minCount": 4,
+ "weight": 12
+ },
+ {
+ "type": "minecraft:pig",
+ "maxCount": 4,
+ "minCount": 4,
+ "weight": 10
+ },
+ {
+ "type": "minecraft:chicken",
+ "maxCount": 4,
+ "minCount": 4,
+ "weight": 10
+ },
+ {
+ "type": "minecraft:cow",
+ "maxCount": 4,
+ "minCount": 4,
+ "weight": 8
+ },
{
"type": "minecraft:armadillo",
"maxCount": 2,
diff --git a/pfb_biome_extensions/since_61/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/pale_garden.json b/pfb_biome_extensions/since_61/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/pale_garden.json
deleted file mode 100644
index f8924426a5..0000000000
--- a/pfb_biome_extensions/since_61/data/minecraft/tags/worldgen/placed_feature/lakes/in_biome/pale_garden.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:lakes/in_overworld",
- "required": false
- },
- "minecraft:lake_lava_underground",
- "minecraft:lake_lava_surface"
- ]
-}
diff --git a/pfb_biome_extensions/since_61/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/pale_garden.json b/pfb_biome_extensions/since_61/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/pale_garden.json
deleted file mode 100644
index a79eca521a..0000000000
--- a/pfb_biome_extensions/since_61/data/minecraft/tags/worldgen/placed_feature/raw_generation/in_biome/pale_garden.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:raw_generation/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/since_61/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/pale_garden.json b/pfb_biome_extensions/since_61/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/pale_garden.json
deleted file mode 100644
index edd568eb0f..0000000000
--- a/pfb_biome_extensions/since_61/data/minecraft/tags/worldgen/placed_feature/strongholds/in_biome/pale_garden.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:strongholds/in_overworld",
- "required": false
- }
- ]
-}
diff --git a/pfb_biome_extensions/since_61/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/pale_garden.json b/pfb_biome_extensions/since_61/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/pale_garden.json
deleted file mode 100644
index 2b821afa66..0000000000
--- a/pfb_biome_extensions/since_61/data/minecraft/tags/worldgen/placed_feature/top_layer_modification/in_biome/pale_garden.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:top_layer_modification/in_overworld",
- "required": false
- },
- "minecraft:freeze_top_layer"
- ]
-}
diff --git a/pfb_biome_extensions/since_61/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/pale_garden.json b/pfb_biome_extensions/since_61/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/pale_garden.json
deleted file mode 100644
index 5004667bfa..0000000000
--- a/pfb_biome_extensions/since_61/data/minecraft/tags/worldgen/placed_feature/underground_structures/in_biome/pale_garden.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:underground_structures/in_overworld",
- "required": false
- },
- "minecraft:monster_room",
- "minecraft:monster_room_deep"
- ]
-}
diff --git a/pfb_biome_extensions/since_61/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/pale_garden.json b/pfb_biome_extensions/since_61/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/pale_garden.json
deleted file mode 100644
index 3117630121..0000000000
--- a/pfb_biome_extensions/since_61/data/minecraft/tags/worldgen/placed_feature/vegetal_decoration/in_biome/pale_garden.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "replace": false,
- "values": [
- {
- "id": "#minecraft:vegetal_decoration/in_overworld",
- "required": false
- },
- "minecraft:glow_lichen",
- "minecraft:pale_garden_vegetation",
- "minecraft:pale_moss_patch",
- "minecraft:pale_garden_flowers",
- "minecraft:flower_pale_garden",
- "minecraft:patch_grass_forest",
- "minecraft:patch_sugar_cane",
- "minecraft:patch_pumpkin"
- ]
-}
diff --git a/pfb_biome_extensions/since_61/data/minecraft/worldgen/biome/pale_garden.json b/pfb_biome_extensions/since_61/data/minecraft/worldgen/biome/pale_garden.json
deleted file mode 100644
index c799b37a83..0000000000
--- a/pfb_biome_extensions/since_61/data/minecraft/worldgen/biome/pale_garden.json
+++ /dev/null
@@ -1,109 +0,0 @@
-{
- "carvers": "#minecraft:in_biome/pale_garden",
- "downfall": 0.8,
- "effects": {
- "fog_color": 8484720,
- "foliage_color": 8883574,
- "grass_color": 7832178,
- "mood_sound": {
- "block_search_extent": 8,
- "offset": 2.0,
- "sound": "minecraft:ambient.cave",
- "tick_delay": 6000
- },
- "music": [],
- "music_volume": 0.0,
- "sky_color": 12171705,
- "water_color": 7768221,
- "water_fog_color": 5597568
- },
- "features": [
- "#minecraft:raw_generation/in_biome/pale_garden",
- "#minecraft:lakes/in_biome/pale_garden",
- "#minecraft:local_modifications/in_biome/pale_garden",
- "#minecraft:underground_structures/in_biome/pale_garden",
- "#minecraft:surface_structures/in_biome/pale_garden",
- "#minecraft:strongholds/in_biome/pale_garden",
- "#minecraft:underground_ores/in_biome/pale_garden",
- "#minecraft:underground_decoration/in_biome/pale_garden",
- "#minecraft:fluid_springs/in_biome/pale_garden",
- "#minecraft:vegetal_decoration/in_biome/pale_garden",
- "#minecraft:top_layer_modification/in_biome/pale_garden"
- ],
- "has_precipitation": true,
- "spawn_costs": {},
- "spawners": {
- "ambient": [
- {
- "type": "minecraft:bat",
- "maxCount": 8,
- "minCount": 8,
- "weight": 10
- }
- ],
- "axolotls": [],
- "creature": [],
- "misc": [],
- "monster": [
- {
- "type": "minecraft:spider",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:zombie",
- "maxCount": 4,
- "minCount": 4,
- "weight": 95
- },
- {
- "type": "minecraft:zombie_villager",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- },
- {
- "type": "minecraft:skeleton",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:creeper",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:slime",
- "maxCount": 4,
- "minCount": 4,
- "weight": 100
- },
- {
- "type": "minecraft:enderman",
- "maxCount": 4,
- "minCount": 1,
- "weight": 10
- },
- {
- "type": "minecraft:witch",
- "maxCount": 1,
- "minCount": 1,
- "weight": 5
- }
- ],
- "underground_water_creature": [
- {
- "type": "minecraft:glow_squid",
- "maxCount": 6,
- "minCount": 4,
- "weight": 10
- }
- ],
- "water_ambient": [],
- "water_creature": []
- },
- "temperature": 0.7
-}
diff --git a/pyproject.toml b/pyproject.toml
index 4161ddac7e..25e2ae847b 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -7,8 +7,8 @@ authors = [
]
requires-python = ">= 3.10, < 4.0"
dependencies = [
- "beet >= 0.109.3",
- "mecha >= 0.95.2",
+ "beet >= 0.110.1",
+ "mecha >= 0.98.0",
"bolt >= 0.49.1",
"PyYAML >= 6.0, < 7.0",
"pydantic >= 2.6.1, < 3.0.0",
diff --git a/resource_pack/beet.yaml b/resource_pack/beet.yaml
index 5a3662e887..fe400d2f23 100644
--- a/resource_pack/beet.yaml
+++ b/resource_pack/beet.yaml
@@ -1,12 +1,17 @@
id: gm4_resource_pack
name: Resource Pack
-version: 1.3.X
+version: 1.4.X
resource_pack:
load:
pack.png: pack.png
# other files are inherited by the full-project build
-
+ overlays:
+ - formats:
+ min_inclusive: 0
+ max_inclusive: 42
+ directory: backport_42
+
pipeline:
- dev_warning
diff --git a/spyglass.json b/spyglass.json
index 6d51f80605..0fb4303074 100644
--- a/spyglass.json
+++ b/spyglass.json
@@ -1,6 +1,6 @@
{
"env": {
- "gameVersion": "1.21.4",
+ "gameVersion": "1.21.5",
"exclude": [
".*/**",
"docs/**",
diff --git a/uv.lock b/uv.lock
index 6f014a47d0..92d109bfb6 100644
--- a/uv.lock
+++ b/uv.lock
@@ -12,7 +12,7 @@ wheels = [
[[package]]
name = "beet"
-version = "0.109.3"
+version = "0.110.1"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "click" },
@@ -26,9 +26,9 @@ dependencies = [
{ name = "toml" },
{ name = "typing-extensions" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/2b/9d/8fe261d5a12a24221878b5829ac474b30da91b7fa2840dc5c1cf8d151a98/beet-0.109.3.tar.gz", hash = "sha256:8a50a61d35bf90a0ef1dfa18b5d31197cbea63844f2cdf3ccecfea3d5a1af1e7", size = 91440 }
+sdist = { url = "https://files.pythonhosted.org/packages/af/88/fbda09a5a3bdc172567eac78495349c8970dc9722b40dbc7d8ed74e13b1f/beet-0.110.1.tar.gz", hash = "sha256:24f060d4fab5ec1b9b32413eba39f0fb4aec2a75ea0a1340d7b9c28cbedadc07", size = 91945 }
wheels = [
- { url = "https://files.pythonhosted.org/packages/72/bf/f8cae8735e0bc1df800ed5825c9de4c1b7f03fc3d1a6d17c225a9677ba32/beet-0.109.3-py3-none-any.whl", hash = "sha256:fa353592ba610e4822f7d13c0981b02422e734f10fc2522f23e15798a872c3fd", size = 116318 },
+ { url = "https://files.pythonhosted.org/packages/57/d9/5a1da1856b99fec0876b6da9a609cffecab6e5492d8edc7f769e7bfcee38/beet-0.110.1-py3-none-any.whl", hash = "sha256:93dc57ce3843cc559c38613371afd4925c8e391347c2e06e27fe7637aad8abe8", size = 116679 },
]
[[package]]
@@ -199,9 +199,9 @@ dev = [
[package.metadata]
requires-dist = [
- { name = "beet", specifier = ">=0.109.3" },
+ { name = "beet", specifier = ">=0.110.1" },
{ name = "bolt", specifier = ">=0.49.1" },
- { name = "mecha", specifier = ">=0.95.2" },
+ { name = "mecha", specifier = ">=0.98.0" },
{ name = "pillow", specifier = ">=10.0.0,<11.0.0" },
{ name = "pydantic", specifier = ">=2.6.1,<3.0.0" },
{ name = "pyyaml", specifier = ">=6.0,<7.0" },
@@ -306,15 +306,15 @@ wheels = [
[[package]]
name = "mecha"
-version = "0.95.2"
+version = "0.98.0"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "beet" },
{ name = "tokenstream" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/f9/73/a0241a4bf3a6b9c5b3a10469ced5f9f55f2e8df48bf284b691d2887ad3ce/mecha-0.95.2.tar.gz", hash = "sha256:06ee6f80f9dc091617fdeef7c03ffbbf482d5ec07cceab6e9f31a72a4e8a1ed8", size = 136006 }
+sdist = { url = "https://files.pythonhosted.org/packages/02/d3/820a016d87c9df56d102dac71f14ddd4fb950a30a210e926b1e07d8627d4/mecha-0.98.0.tar.gz", hash = "sha256:e714b4fc2c05b374bf0f29e86191ad3458d021d48494c1f42497dab9eb79f431", size = 137902 }
wheels = [
- { url = "https://files.pythonhosted.org/packages/23/86/fa11198171f8fa90f74a6fb5768d6bd53f25d87517699f6be7903af0ec63/mecha-0.95.2-py3-none-any.whl", hash = "sha256:8abbbc6eee9871d622bf9c90cd6c3217b8325966d546bb0ca229d1eb7b963eff", size = 162272 },
+ { url = "https://files.pythonhosted.org/packages/ea/c7/1dd4f605cb993b3165447e8482e0fae98e6928a4840c28d6d293b50cf60d/mecha-0.98.0-py3-none-any.whl", hash = "sha256:e8b8b87a8329239f351ee6845ac7ac51d3dced2bf94f52a5f75b01a8b993347b", size = 164200 },
]
[[package]]