Full Code of Gamemode4Dev/GM4_Datapacks for AI

master 50101bf302d9 cached
6258 files
5.9 MB
2.0M tokens
299 symbols
1 requests
Download .txt
Showing preview only (7,770K chars total). Download the full file or copy to clipboard to get everything.
Repository: Gamemode4Dev/GM4_Datapacks
Branch: master
Commit: 50101bf302d9
Files: 6258
Total size: 5.9 MB

Directory structure:
gitextract_letogdq4/

├── .github/
│   ├── FUNDING.yml
│   ├── ISSUE_TEMPLATE/
│   │   ├── bug_report.md
│   │   └── feat_request.md
│   └── workflows/
│       └── main.yml
├── .gitignore
├── .python-version
├── .vscode/
│   ├── settings.json
│   └── tasks.json
├── LICENSE.md
├── README.md
├── base/
│   ├── assets/
│   │   ├── gm4/
│   │   │   ├── font/
│   │   │   │   ├── container_gui.json
│   │   │   │   ├── default.json
│   │   │   │   ├── half_invert.json
│   │   │   │   └── offscreen.json
│   │   │   ├── lang/
│   │   │   │   └── en_us.json
│   │   │   └── models/
│   │   │       └── block/
│   │   │           ├── cube_with_plate.json
│   │   │           └── plate.json
│   │   ├── minecraft/
│   │   │   ├── atlases/
│   │   │   │   └── items.json
│   │   │   └── optifine/
│   │   │       └── emissive.properties
│   │   └── translations.csv
│   ├── beet.yaml
│   ├── data/
│   │   ├── gm4/
│   │   │   ├── advancement/
│   │   │   │   ├── intro_song/
│   │   │   │   │   ├── invisible_root.json
│   │   │   │   │   ├── play_song.json
│   │   │   │   │   └── welcome_toast.json
│   │   │   │   └── upgrade_paths/
│   │   │   │       ├── changed_dimension.json
│   │   │   │       └── join_game.json
│   │   │   ├── function/
│   │   │   │   ├── conflict_logs/
│   │   │   │   │   ├── traverse.mcfunction
│   │   │   │   │   └── version_conflict_start.mcfunction
│   │   │   │   ├── intro_song/
│   │   │   │   │   ├── init.mcfunction
│   │   │   │   │   ├── init_song.mcfunction
│   │   │   │   │   ├── main.mcfunction
│   │   │   │   │   ├── notes/
│   │   │   │   │   │   ├── 0.mcfunction
│   │   │   │   │   │   ├── 10.mcfunction
│   │   │   │   │   │   ├── 12.mcfunction
│   │   │   │   │   │   ├── 14.mcfunction
│   │   │   │   │   │   ├── 16.mcfunction
│   │   │   │   │   │   ├── 20.mcfunction
│   │   │   │   │   │   ├── 23.mcfunction
│   │   │   │   │   │   ├── 24.mcfunction
│   │   │   │   │   │   ├── 26.mcfunction
│   │   │   │   │   │   ├── 28.mcfunction
│   │   │   │   │   │   ├── 30.mcfunction
│   │   │   │   │   │   ├── 32.mcfunction
│   │   │   │   │   │   ├── 35.mcfunction
│   │   │   │   │   │   ├── 36.mcfunction
│   │   │   │   │   │   ├── 38.mcfunction
│   │   │   │   │   │   ├── 39.mcfunction
│   │   │   │   │   │   ├── 4.mcfunction
│   │   │   │   │   │   ├── 40.mcfunction
│   │   │   │   │   │   ├── 41.mcfunction
│   │   │   │   │   │   ├── 42.mcfunction
│   │   │   │   │   │   ├── 43.mcfunction
│   │   │   │   │   │   ├── 44.mcfunction
│   │   │   │   │   │   ├── 45.mcfunction
│   │   │   │   │   │   ├── 46.mcfunction
│   │   │   │   │   │   ├── 47.mcfunction
│   │   │   │   │   │   ├── 48.mcfunction
│   │   │   │   │   │   ├── 51.mcfunction
│   │   │   │   │   │   ├── 52.mcfunction
│   │   │   │   │   │   ├── 54.mcfunction
│   │   │   │   │   │   ├── 55.mcfunction
│   │   │   │   │   │   ├── 56.mcfunction
│   │   │   │   │   │   ├── 58.mcfunction
│   │   │   │   │   │   ├── 60.mcfunction
│   │   │   │   │   │   ├── 62.mcfunction
│   │   │   │   │   │   ├── 64.mcfunction
│   │   │   │   │   │   ├── 65.mcfunction
│   │   │   │   │   │   ├── 66.mcfunction
│   │   │   │   │   │   ├── 67.mcfunction
│   │   │   │   │   │   ├── 68.mcfunction
│   │   │   │   │   │   ├── 69.mcfunction
│   │   │   │   │   │   ├── 7.mcfunction
│   │   │   │   │   │   ├── 70.mcfunction
│   │   │   │   │   │   ├── 71.mcfunction
│   │   │   │   │   │   ├── 72.mcfunction
│   │   │   │   │   │   ├── 73.mcfunction
│   │   │   │   │   │   ├── 74.mcfunction
│   │   │   │   │   │   ├── 75.mcfunction
│   │   │   │   │   │   ├── 76.mcfunction
│   │   │   │   │   │   ├── 77.mcfunction
│   │   │   │   │   │   ├── 78.mcfunction
│   │   │   │   │   │   ├── 79.mcfunction
│   │   │   │   │   │   ├── 8.mcfunction
│   │   │   │   │   │   ├── 80.mcfunction
│   │   │   │   │   │   └── 84.mcfunction
│   │   │   │   │   ├── play.mcfunction
│   │   │   │   │   ├── stop.mcfunction
│   │   │   │   │   └── tree/
│   │   │   │   │       ├── 0_1.mcfunction
│   │   │   │   │       ├── 0_127.mcfunction
│   │   │   │   │       ├── 0_15.mcfunction
│   │   │   │   │       ├── 0_3.mcfunction
│   │   │   │   │       ├── 0_31.mcfunction
│   │   │   │   │       ├── 0_63.mcfunction
│   │   │   │   │       ├── 0_7.mcfunction
│   │   │   │   │       ├── 10_11.mcfunction
│   │   │   │   │       ├── 12_13.mcfunction
│   │   │   │   │       ├── 12_15.mcfunction
│   │   │   │   │       ├── 14_15.mcfunction
│   │   │   │   │       ├── 16_17.mcfunction
│   │   │   │   │       ├── 16_19.mcfunction
│   │   │   │   │       ├── 16_23.mcfunction
│   │   │   │   │       ├── 16_31.mcfunction
│   │   │   │   │       ├── 20_21.mcfunction
│   │   │   │   │       ├── 20_23.mcfunction
│   │   │   │   │       ├── 22_23.mcfunction
│   │   │   │   │       ├── 24_25.mcfunction
│   │   │   │   │       ├── 24_27.mcfunction
│   │   │   │   │       ├── 24_31.mcfunction
│   │   │   │   │       ├── 26_27.mcfunction
│   │   │   │   │       ├── 28_29.mcfunction
│   │   │   │   │       ├── 28_31.mcfunction
│   │   │   │   │       ├── 30_31.mcfunction
│   │   │   │   │       ├── 32_33.mcfunction
│   │   │   │   │       ├── 32_35.mcfunction
│   │   │   │   │       ├── 32_39.mcfunction
│   │   │   │   │       ├── 32_47.mcfunction
│   │   │   │   │       ├── 32_63.mcfunction
│   │   │   │   │       ├── 34_35.mcfunction
│   │   │   │   │       ├── 36_37.mcfunction
│   │   │   │   │       ├── 36_39.mcfunction
│   │   │   │   │       ├── 38_39.mcfunction
│   │   │   │   │       ├── 40_41.mcfunction
│   │   │   │   │       ├── 40_43.mcfunction
│   │   │   │   │       ├── 40_47.mcfunction
│   │   │   │   │       ├── 42_43.mcfunction
│   │   │   │   │       ├── 44_45.mcfunction
│   │   │   │   │       ├── 44_47.mcfunction
│   │   │   │   │       ├── 46_47.mcfunction
│   │   │   │   │       ├── 48_49.mcfunction
│   │   │   │   │       ├── 48_51.mcfunction
│   │   │   │   │       ├── 48_55.mcfunction
│   │   │   │   │       ├── 48_63.mcfunction
│   │   │   │   │       ├── 4_5.mcfunction
│   │   │   │   │       ├── 4_7.mcfunction
│   │   │   │   │       ├── 50_51.mcfunction
│   │   │   │   │       ├── 52_53.mcfunction
│   │   │   │   │       ├── 52_55.mcfunction
│   │   │   │   │       ├── 54_55.mcfunction
│   │   │   │   │       ├── 56_57.mcfunction
│   │   │   │   │       ├── 56_59.mcfunction
│   │   │   │   │       ├── 56_63.mcfunction
│   │   │   │   │       ├── 58_59.mcfunction
│   │   │   │   │       ├── 60_61.mcfunction
│   │   │   │   │       ├── 60_63.mcfunction
│   │   │   │   │       ├── 62_63.mcfunction
│   │   │   │   │       ├── 64_127.mcfunction
│   │   │   │   │       ├── 64_65.mcfunction
│   │   │   │   │       ├── 64_67.mcfunction
│   │   │   │   │       ├── 64_71.mcfunction
│   │   │   │   │       ├── 64_79.mcfunction
│   │   │   │   │       ├── 64_95.mcfunction
│   │   │   │   │       ├── 66_67.mcfunction
│   │   │   │   │       ├── 68_69.mcfunction
│   │   │   │   │       ├── 68_71.mcfunction
│   │   │   │   │       ├── 6_7.mcfunction
│   │   │   │   │       ├── 70_71.mcfunction
│   │   │   │   │       ├── 72_73.mcfunction
│   │   │   │   │       ├── 72_75.mcfunction
│   │   │   │   │       ├── 72_79.mcfunction
│   │   │   │   │       ├── 74_75.mcfunction
│   │   │   │   │       ├── 76_77.mcfunction
│   │   │   │   │       ├── 76_79.mcfunction
│   │   │   │   │       ├── 78_79.mcfunction
│   │   │   │   │       ├── 80_81.mcfunction
│   │   │   │   │       ├── 80_83.mcfunction
│   │   │   │   │       ├── 80_87.mcfunction
│   │   │   │   │       ├── 80_95.mcfunction
│   │   │   │   │       ├── 84_85.mcfunction
│   │   │   │   │       ├── 84_87.mcfunction
│   │   │   │   │       ├── 8_11.mcfunction
│   │   │   │   │       ├── 8_15.mcfunction
│   │   │   │   │       └── 8_9.mcfunction
│   │   │   │   ├── load.mcfunction
│   │   │   │   ├── log.mcfunction
│   │   │   │   ├── log_start.mcfunction
│   │   │   │   ├── log_wait.mcfunction
│   │   │   │   ├── outdated_logs/
│   │   │   │   │   ├── outdated_start.mcfunction
│   │   │   │   │   └── traverse.mcfunction
│   │   │   │   ├── post_load.mcfunction
│   │   │   │   └── upgrade_paths/
│   │   │   │       ├── changed_dimension.mcfunction
│   │   │   │       ├── join_game.mcfunction
│   │   │   │       ├── load.mcfunction
│   │   │   │       ├── main.mcfunction
│   │   │   │       └── run_when_loaded.mcfunction
│   │   │   ├── loot_table/
│   │   │   │   ├── air.json
│   │   │   │   └── empty.json
│   │   │   ├── structure/
│   │   │   │   ├── test_box.nbt
│   │   │   │   ├── test_platform.nbt
│   │   │   │   ├── test_platform_large.nbt
│   │   │   │   └── test_tube.nbt
│   │   │   └── tags/
│   │   │       ├── block/
│   │   │       │   ├── foliage.json
│   │   │       │   ├── full_collision.json
│   │   │       │   ├── no_collision.json
│   │   │       │   ├── replaceable.json
│   │   │       │   ├── water.json
│   │   │       │   └── waterloggable.json
│   │   │       └── entity_type/
│   │   │           ├── boss.json
│   │   │           ├── chest_boats.json
│   │   │           ├── hostile.json
│   │   │           ├── minecarts.json
│   │   │           ├── neutral.json
│   │   │           ├── neutral_hostile.json
│   │   │           ├── neutral_passive.json
│   │   │           ├── non_living.json
│   │   │           └── passive.json
│   │   ├── load/
│   │   │   ├── function/
│   │   │   │   └── _private/
│   │   │   │       └── init.mcfunction
│   │   │   └── tags/
│   │   │       └── function/
│   │   │           ├── _private/
│   │   │           │   ├── init.json
│   │   │           │   └── load.json
│   │   │           ├── gm4/
│   │   │           │   ├── enumerate.json
│   │   │           │   ├── resolve_load.json
│   │   │           │   └── resolve_post_load.json
│   │   │           ├── gm4.json
│   │   │           ├── post_load.json
│   │   │           └── pre_load.json
│   │   └── minecraft/
│   │       ├── loot_table/
│   │       │   ├── blocks/
│   │       │   │   └── player_head.json
│   │       │   └── empty.json
│   │       └── tags/
│   │           └── function/
│   │               └── load.json
│   └── mod.mcdoc
├── beet-dev.yaml
├── beet-release.yaml
├── beet-test.yaml
├── commands.json
├── docs/
│   ├── code-conventions.md
│   ├── getting-started.md
│   ├── making-a-module.md
│   ├── releasing-a-module.md
│   └── resource-pack-management.md
├── gm4/
│   ├── commands.py
│   ├── contributors.json
│   ├── plugins/
│   │   ├── annotations.py
│   │   ├── autoload.py
│   │   ├── backwards.py
│   │   ├── extend.py
│   │   ├── finished.py
│   │   ├── include.py
│   │   ├── manifest.py
│   │   ├── module.py
│   │   ├── output.py
│   │   ├── player_heads.py
│   │   ├── prefabs.py
│   │   ├── readme_generator.py
│   │   ├── resource_pack.py
│   │   ├── test.py
│   │   ├── upgrade_paths.py
│   │   ├── versioning.py
│   │   ├── worker.py
│   │   └── write_mcmeta.py
│   ├── skin_cache.json
│   └── utils.py
├── gm4_animi_shamir/
│   ├── README.md
│   ├── beet.yaml
│   ├── data/
│   │   ├── gm4_animi_shamir/
│   │   │   ├── advancement/
│   │   │   │   └── join.json
│   │   │   ├── function/
│   │   │   │   ├── check_item_validity.mcfunction
│   │   │   │   ├── init.mcfunction
│   │   │   │   ├── initialize_item.mcfunction
│   │   │   │   ├── item_caching/
│   │   │   │   │   ├── add_entry.mcfunction
│   │   │   │   │   ├── prepare_entry.mcfunction
│   │   │   │   │   ├── search_entry.mcfunction
│   │   │   │   │   └── unpack_entry.mcfunction
│   │   │   │   ├── player/
│   │   │   │   │   ├── rejoin.mcfunction
│   │   │   │   │   ├── respawn_inventory.mcfunction
│   │   │   │   │   ├── upon_death.mcfunction
│   │   │   │   │   ├── upon_respawn.mcfunction
│   │   │   │   │   └── wait_for_respawn.mcfunction
│   │   │   │   └── summon_band.mcfunction
│   │   │   ├── guidebook/
│   │   │   │   └── animi_shamir.json
│   │   │   ├── loot_table/
│   │   │   │   └── band.json
│   │   │   ├── tags/
│   │   │   │   └── item/
│   │   │   │       └── valid_items.json
│   │   │   └── test/
│   │   │       ├── keep_items.mcfunction
│   │   │       └── smoosh.mcfunction
│   │   ├── gm4_metallurgy/
│   │   │   └── tags/
│   │   │       └── function/
│   │   │           ├── check_item_validity.json
│   │   │           └── summon_band/
│   │   │               └── curies_bismium.json
│   │   └── gm4_player_death/
│   │       └── tags/
│   │           └── function/
│   │               └── soul_bound.json
│   ├── mod.mcdoc
│   └── translations.csv
├── gm4_apple_trees/
│   ├── README.md
│   ├── assets/
│   │   ├── gm4_apple_trees/
│   │   │   └── models/
│   │   │       └── block/
│   │   │           └── apple_unripe.json
│   │   ├── gm4_golden_apple_trees/
│   │   │   └── models/
│   │   │       └── block/
│   │   │           └── golden_apple_unripe.json
│   │   └── translations.csv
│   ├── beet.yaml
│   └── data/
│       ├── gm4_apple_trees/
│       │   ├── advancement/
│       │   │   ├── apple_hand_empty.json
│       │   │   └── apple_hand_item.json
│       │   ├── function/
│       │   │   ├── init.mcfunction
│       │   │   ├── leaf/
│       │   │   │   ├── advance_stage.mcfunction
│       │   │   │   ├── age.mcfunction
│       │   │   │   ├── apple/
│       │   │   │   │   ├── destroy.mcfunction
│       │   │   │   │   ├── drop.mcfunction
│       │   │   │   │   ├── hand_interact.mcfunction
│       │   │   │   │   ├── interact.mcfunction
│       │   │   │   │   └── pick.mcfunction
│       │   │   │   ├── destroy.mcfunction
│       │   │   │   ├── initialize.mcfunction
│       │   │   │   ├── process.mcfunction
│       │   │   │   └── set_stage/
│       │   │   │       ├── 0.mcfunction
│       │   │   │       ├── 1.mcfunction
│       │   │   │       └── 2.mcfunction
│       │   │   ├── main.mcfunction
│       │   │   ├── sapling/
│       │   │   │   ├── destroy.mcfunction
│       │   │   │   ├── generate_tree.mcfunction
│       │   │   │   ├── grow/
│       │   │   │   │   ├── generate_random_apple_leaf.mcfunction
│       │   │   │   │   └── generate_random_tree.mcfunction
│       │   │   │   ├── initialize.mcfunction
│       │   │   │   └── podzol_rooting.mcfunction
│       │   │   ├── slow_clock.mcfunction
│       │   │   ├── upgrade_path/
│       │   │   │   ├── apple_leaf_markers.mcfunction
│       │   │   │   └── fruiting_to_general.mcfunction
│       │   │   └── verify/
│       │   │       ├── destroy_leaf.mcfunction
│       │   │       ├── destroy_sapling.mcfunction
│       │   │       ├── generate_tree.mcfunction
│       │   │       ├── initialize_sapling.mcfunction
│       │   │       └── upgrade_fruiting_to_general.mcfunction
│       │   ├── guidebook/
│       │   │   └── apple_trees.json
│       │   ├── item_modifier/
│       │   │   └── count.json
│       │   ├── loot_table/
│       │   │   ├── blocks/
│       │   │   │   ├── apple.json
│       │   │   │   └── apple_tree_leaf.json
│       │   │   └── items/
│       │   │       └── apple_tree_sapling.json
│       │   ├── predicate/
│       │   │   ├── apple_gen_chance.json
│       │   │   ├── apple_holding.json
│       │   │   ├── apple_picked.json
│       │   │   ├── corner_leaf_gen_chance.json
│       │   │   ├── overworld.json
│       │   │   └── valid_placement.json
│       │   ├── structure/
│       │   │   ├── sapling_growth/
│       │   │   │   ├── NOTICE.txt
│       │   │   │   ├── apple_leaf.nbt
│       │   │   │   ├── apple_tree_short_1.nbt
│       │   │   │   ├── apple_tree_short_2.nbt
│       │   │   │   ├── apple_tree_short_3.nbt
│       │   │   │   ├── apple_tree_short_4.nbt
│       │   │   │   ├── apple_tree_tall_1.nbt
│       │   │   │   ├── apple_tree_tall_2.nbt
│       │   │   │   ├── apple_tree_tall_3.nbt
│       │   │   │   ├── apple_tree_tall_4.nbt
│       │   │   │   ├── jigsaw_structure_convert.py
│       │   │   │   └── structure_normalize_palette.py
│       │   │   └── worldgen/
│       │   │       ├── apple_leaf.nbt
│       │   │       ├── apple_tree_short_1.nbt
│       │   │       ├── apple_tree_short_2.nbt
│       │   │       ├── apple_tree_short_3.nbt
│       │   │       ├── apple_tree_short_4.nbt
│       │   │       ├── apple_tree_tall_1.nbt
│       │   │       ├── apple_tree_tall_2.nbt
│       │   │       ├── apple_tree_tall_3.nbt
│       │   │       ├── apple_tree_tall_4.nbt
│       │   │       └── corner_leaf.nbt
│       │   ├── tags/
│       │   │   ├── block/
│       │   │   │   └── tree_placeable.json
│       │   │   └── worldgen/
│       │   │       └── biome/
│       │   │           └── has_structure/
│       │   │               └── apple_tree.json
│       │   ├── villager_trade/
│       │   │   └── emerald_apple_tree_sapling.json
│       │   └── worldgen/
│       │       ├── structure/
│       │       │   └── apple_tree.json
│       │       ├── structure_set/
│       │       │   └── apple_tree.json
│       │       └── template_pool/
│       │           ├── apple_leaf.json
│       │           ├── apple_trees.json
│       │           └── corner_leaf.json
│       ├── gm4_golden_apple_trees/
│       │   ├── advancement/
│       │   │   ├── apple_hand_empty.json
│       │   │   └── apple_hand_item.json
│       │   ├── function/
│       │   │   ├── leaf/
│       │   │   │   ├── advance_stage.mcfunction
│       │   │   │   ├── age.mcfunction
│       │   │   │   ├── apple/
│       │   │   │   │   ├── destroy.mcfunction
│       │   │   │   │   ├── drop.mcfunction
│       │   │   │   │   ├── hand_interact.mcfunction
│       │   │   │   │   ├── interact.mcfunction
│       │   │   │   │   └── pick.mcfunction
│       │   │   │   ├── destroy.mcfunction
│       │   │   │   ├── initialize.mcfunction
│       │   │   │   ├── process.mcfunction
│       │   │   │   └── set_stage/
│       │   │   │       ├── 0.mcfunction
│       │   │   │       ├── 1.mcfunction
│       │   │   │       └── 2.mcfunction
│       │   │   └── root/
│       │   │       ├── branch.mcfunction
│       │   │       ├── grow.mcfunction
│       │   │       ├── initialize.mcfunction
│       │   │       ├── place.mcfunction
│       │   │       ├── process.mcfunction
│       │   │       └── raycast.mcfunction
│       │   ├── loot_table/
│       │   │   └── blocks/
│       │   │       ├── golden_apple.json
│       │   │       └── golden_apple_tree_leaf.json
│       │   ├── predicate/
│       │   │   ├── apple_holding.json
│       │   │   └── apple_picked.json
│       │   ├── structure/
│       │   │   └── worldgen/
│       │   │       ├── golden_apple_leaf.nbt
│       │   │       ├── golden_apple_tree_short_1.nbt
│       │   │       ├── golden_apple_tree_short_2.nbt
│       │   │       ├── golden_apple_tree_short_3.nbt
│       │   │       ├── golden_apple_tree_short_4.nbt
│       │   │       ├── golden_apple_tree_tall_1.nbt
│       │   │       ├── golden_apple_tree_tall_2.nbt
│       │   │       ├── golden_apple_tree_tall_3.nbt
│       │   │       └── golden_apple_tree_tall_4.nbt
│       │   ├── tags/
│       │   │   └── block/
│       │   │       └── rootable.json
│       │   └── worldgen/
│       │       ├── structure/
│       │       │   └── golden_apple_tree.json
│       │       ├── structure_set/
│       │       │   └── golden_apple_tree.json
│       │       └── template_pool/
│       │           ├── golden_apple_leaf.json
│       │           └── golden_apple_trees.json
│       ├── gm4_podzol_rooting_soil/
│       │   └── tags/
│       │       └── function/
│       │           └── plant_custom_sapling.json
│       ├── gm4_trees/
│       │   └── tags/
│       │       └── function/
│       │           ├── destroy_leaf.json
│       │           ├── destroy_sapling.json
│       │           ├── generate_tree.json
│       │           ├── initialize_sapling.json
│       │           └── upgrade_fruiting_to_general.json
│       └── minecraft/
│           ├── loot_table/
│           │   └── blocks/
│           │       ├── dark_oak_leaves.json
│           │       └── oak_leaves.json
│           └── tags/
│               └── villager_trade/
│                   └── wandering_trader/
│                       └── common.json
├── gm4_audere_shamir/
│   ├── README.md
│   ├── beet.yaml
│   ├── data/
│   │   ├── gm4_audere_shamir/
│   │   │   ├── function/
│   │   │   │   ├── active_tool.mcfunction
│   │   │   │   ├── check_item_validity.mcfunction
│   │   │   │   ├── init.mcfunction
│   │   │   │   ├── main.mcfunction
│   │   │   │   ├── summon_band.mcfunction
│   │   │   │   ├── tools/
│   │   │   │   │   ├── materials/
│   │   │   │   │   │   ├── copper.mcfunction
│   │   │   │   │   │   ├── diamond.mcfunction
│   │   │   │   │   │   ├── gold.mcfunction
│   │   │   │   │   │   ├── iron.mcfunction
│   │   │   │   │   │   ├── netherite.mcfunction
│   │   │   │   │   │   ├── stone.mcfunction
│   │   │   │   │   │   └── wood.mcfunction
│   │   │   │   │   └── shears.mcfunction
│   │   │   │   └── update_netherite.mcfunction
│   │   │   ├── guidebook/
│   │   │   │   └── audere_shamir.json
│   │   │   ├── item_modifier/
│   │   │   │   └── update_netherite.json
│   │   │   ├── loot_table/
│   │   │   │   └── band.json
│   │   │   ├── predicate/
│   │   │   │   ├── holding_audere.json
│   │   │   │   └── holding_netherite.json
│   │   │   └── tags/
│   │   │       └── item/
│   │   │           ├── netherite_tools.json
│   │   │           └── valid_items.json
│   │   └── gm4_metallurgy/
│   │       └── tags/
│   │           └── function/
│   │               ├── check_item_validity.json
│   │               └── summon_band/
│   │                   └── barium.json
│   ├── mod.mcdoc
│   └── translations.csv
├── gm4_balloon_animals/
│   ├── README.md
│   ├── animals.csv
│   ├── beet.yaml
│   ├── data/
│   │   ├── gm4/
│   │   │   └── advancement/
│   │   │       └── balloon_animals.json
│   │   └── gm4_balloon_animals/
│   │       ├── advancement/
│   │       │   └── purchased_animal.json
│   │       ├── function/
│   │       │   ├── balloon/
│   │       │   │   ├── check_leashed.mcfunction
│   │       │   │   ├── fly_away/
│   │       │   │   │   ├── animate.mcfunction
│   │       │   │   │   ├── loop.mcfunction
│   │       │   │   │   └── start_animation.mcfunction
│   │       │   │   └── kill_orphan.mcfunction
│   │       │   ├── debug/
│   │       │   │   ├── init_trader.mcfunction
│   │       │   │   └── summon_trader_with_llamas.mcfunction
│   │       │   ├── init.mcfunction
│   │       │   ├── main.mcfunction
│   │       │   ├── purchase/
│   │       │   │   ├── animal/
│   │       │   │   │   ├── cleanse.mcfunction
│   │       │   │   │   ├── locate_cleanse.mcfunction
│   │       │   │   │   ├── search.mcfunction
│   │       │   │   │   └── update.mcfunction
│   │       │   │   └── trader/
│   │       │   │       ├── check_trade.mcfunction
│   │       │   │       ├── parse_trades.mcfunction
│   │       │   │       ├── search.mcfunction
│   │       │   │       └── update_trade.mcfunction
│   │       │   ├── purchased_animal.mcfunction
│   │       │   └── wandering_trader/
│   │       │       ├── check_eligibility.mcfunction
│   │       │       ├── init_trader.mcfunction
│   │       │       ├── llama/
│   │       │       │   ├── check_leasher.mcfunction
│   │       │       │   ├── delay/
│   │       │       │   │   ├── find_lead.mcfunction
│   │       │       │   │   └── lead_cleanup.mcfunction
│   │       │       │   └── kill.mcfunction
│   │       │       ├── pick_two_animals.mcfunction
│   │       │       └── trade/
│   │       │           ├── add_bee_nest.mcfunction
│   │       │           ├── add_chicken_egg.mcfunction
│   │       │           ├── add_lead.mcfunction
│   │       │           ├── add_turtle_egg.mcfunction
│   │       │           ├── init_animal.mcfunction
│   │       │           ├── init_farm.mcfunction
│   │       │           ├── init_wolf.mcfunction
│   │       │           └── pick_animal.mcfunction
│   │       ├── guidebook/
│   │       │   └── balloon_animals.json
│   │       ├── loot_table/
│   │       │   ├── lead.json
│   │       │   └── technical/
│   │       │       └── random/
│   │       │           ├── enumeration_value.json
│   │       │           ├── pick_common.json
│   │       │           └── pick_rare.json
│   │       ├── predicate/
│   │       │   ├── balloon_trader_chance.json
│   │       │   └── is_lead.json
│   │       └── tags/
│   │           └── entity_type/
│   │               └── balloon_animal.json
│   ├── generate.py
│   ├── mod.mcdoc
│   └── translations.csv
├── gm4_bat_grenades/
│   ├── README.md
│   ├── assets/
│   │   └── translations.csv
│   ├── beet.yaml
│   └── data/
│       ├── gm4/
│       │   └── advancement/
│       │       └── bat_grenades.json
│       ├── gm4_bat_grenades/
│       │   ├── function/
│       │   │   ├── explode.mcfunction
│       │   │   ├── init.mcfunction
│       │   │   └── main.mcfunction
│       │   ├── guidebook/
│       │   │   └── bat_grenades.json
│       │   ├── loot_table/
│       │   │   └── items/
│       │   │       └── bat_leather.json
│       │   └── test/
│       │       └── boom.mcfunction
│       └── minecraft/
│           └── loot_table/
│               └── entities/
│                   └── bat.json
├── gm4_better_armour_stands/
│   ├── README.md
│   ├── beet.yaml
│   ├── data/
│   │   ├── gm4/
│   │   │   └── advancement/
│   │   │       └── better_armour_stands.json
│   │   └── gm4_better_armour_stands/
│   │       ├── advancement/
│   │       │   ├── book/
│   │       │   │   ├── take.json
│   │       │   │   ├── tracking.json
│   │       │   │   ├── use.json
│   │       │   │   └── use_arms.json
│   │       │   ├── join.json
│   │       │   ├── place.json
│   │       │   └── pose/
│   │       │       ├── invert.json
│   │       │       └── set.json
│   │       ├── function/
│   │       │   ├── book/
│   │       │   │   ├── apply.mcfunction
│   │       │   │   ├── hold.mcfunction
│   │       │   │   ├── invalid.mcfunction
│   │       │   │   ├── process.mcfunction
│   │       │   │   ├── ray_arms.mcfunction
│   │       │   │   ├── take.mcfunction
│   │       │   │   ├── use.mcfunction
│   │       │   │   └── use_arms.mcfunction
│   │       │   ├── default/
│   │       │   │   ├── all.mcfunction
│   │       │   │   ├── check.mcfunction
│   │       │   │   └── part.mcfunction
│   │       │   ├── equip/
│   │       │   │   ├── hand.mcfunction
│   │       │   │   ├── head.mcfunction
│   │       │   │   ├── offhand.mcfunction
│   │       │   │   ├── remove/
│   │       │   │   │   ├── hand.mcfunction
│   │       │   │   │   ├── head.mcfunction
│   │       │   │   │   └── offhand.mcfunction
│   │       │   │   ├── select/
│   │       │   │   │   ├── small.mcfunction
│   │       │   │   │   └── tall.mcfunction
│   │       │   │   └── select.mcfunction
│   │       │   ├── get_id.mcfunction
│   │       │   ├── init.mcfunction
│   │       │   ├── main.mcfunction
│   │       │   ├── place/
│   │       │   │   ├── check.mcfunction
│   │       │   │   ├── copy.mcfunction
│   │       │   │   └── new.mcfunction
│   │       │   ├── pose/
│   │       │   │   ├── check_no_player.mcfunction
│   │       │   │   ├── copy.mcfunction
│   │       │   │   ├── copy_entity_data.mcfunction
│   │       │   │   ├── flip.mcfunction
│   │       │   │   ├── invert.mcfunction
│   │       │   │   ├── mirror/
│   │       │   │   │   ├── arm_left.mcfunction
│   │       │   │   │   ├── arm_right.mcfunction
│   │       │   │   │   ├── leg_left.mcfunction
│   │       │   │   │   └── leg_right.mcfunction
│   │       │   │   ├── move.mcfunction
│   │       │   │   ├── paste.mcfunction
│   │       │   │   ├── rotate.mcfunction
│   │       │   │   ├── select/
│   │       │   │   │   ├── arm_left.mcfunction
│   │       │   │   │   ├── arm_right.mcfunction
│   │       │   │   │   ├── body.mcfunction
│   │       │   │   │   ├── failure.mcfunction
│   │       │   │   │   ├── head.mcfunction
│   │       │   │   │   ├── leg_left.mcfunction
│   │       │   │   │   ├── leg_right.mcfunction
│   │       │   │   │   ├── move/
│   │       │   │   │   │   ├── move.mcfunction
│   │       │   │   │   │   ├── offset.mcfunction
│   │       │   │   │   │   └── ray.mcfunction
│   │       │   │   │   ├── rotate.mcfunction
│   │       │   │   │   ├── small.mcfunction
│   │       │   │   │   ├── success.mcfunction
│   │       │   │   │   └── tall.mcfunction
│   │       │   │   ├── select.mcfunction
│   │       │   │   ├── set.mcfunction
│   │       │   │   ├── set_no_player.mcfunction
│   │       │   │   ├── snap/
│   │       │   │   │   ├── pose.mcfunction
│   │       │   │   │   ├── position.mcfunction
│   │       │   │   │   └── rotation.mcfunction
│   │       │   │   ├── track/
│   │       │   │   │   ├── arm_left.mcfunction
│   │       │   │   │   ├── arm_right.mcfunction
│   │       │   │   │   ├── body.mcfunction
│   │       │   │   │   ├── clear.mcfunction
│   │       │   │   │   ├── head.mcfunction
│   │       │   │   │   ├── leg_left.mcfunction
│   │       │   │   │   ├── leg_right.mcfunction
│   │       │   │   │   ├── move.mcfunction
│   │       │   │   │   ├── rotate.mcfunction
│   │       │   │   │   ├── select_armour_stand.mcfunction
│   │       │   │   │   ├── tick.mcfunction
│   │       │   │   │   ├── update.mcfunction
│   │       │   │   │   ├── update_joint.mcfunction
│   │       │   │   │   ├── update_markers.mcfunction
│   │       │   │   │   └── update_pose.mcfunction
│   │       │   │   └── undo.mcfunction
│   │       │   ├── tick.mcfunction
│   │       │   ├── toggle/
│   │       │   │   ├── arms/
│   │       │   │   │   ├── arms.mcfunction
│   │       │   │   │   ├── check.mcfunction
│   │       │   │   │   ├── detect_interaction.mcfunction
│   │       │   │   │   ├── remove_detection.mcfunction
│   │       │   │   │   └── select.mcfunction
│   │       │   │   ├── base.mcfunction
│   │       │   │   ├── gravity.mcfunction
│   │       │   │   ├── lock/
│   │       │   │   │   ├── check.mcfunction
│   │       │   │   │   ├── detect_interaction.mcfunction
│   │       │   │   │   ├── lock.mcfunction
│   │       │   │   │   ├── remove_temp_unlock.mcfunction
│   │       │   │   │   └── unlock.mcfunction
│   │       │   │   ├── size.mcfunction
│   │       │   │   ├── turn.mcfunction
│   │       │   │   └── visible.mcfunction
│   │       │   └── turn.mcfunction
│   │       ├── guidebook/
│   │       │   └── better_armour_stands.json
│   │       ├── item_modifier/
│   │       │   ├── add_ignore.json
│   │       │   ├── copy.json
│   │       │   ├── count.json
│   │       │   ├── remove_ignore.json
│   │       │   └── remove_item.json
│   │       ├── loot_table/
│   │       │   └── replaced_item.json
│   │       ├── predicate/
│   │       │   ├── coord_check.json
│   │       │   ├── emptybook.json
│   │       │   ├── holding/
│   │       │   │   ├── mainhand/
│   │       │   │   │   ├── armor_stand_copy.json
│   │       │   │   │   ├── book_and_quill.json
│   │       │   │   │   ├── book_arms.json
│   │       │   │   │   ├── book_ignore.json
│   │       │   │   │   ├── book_unlock.json
│   │       │   │   │   └── book_visible.json
│   │       │   │   └── offhand/
│   │       │   │       ├── armor_stand.json
│   │       │   │       └── nothing.json
│   │       │   ├── select/
│   │       │   │   ├── base.json
│   │       │   │   ├── body.json
│   │       │   │   ├── head.json
│   │       │   │   ├── left_arm.json
│   │       │   │   ├── left_leg.json
│   │       │   │   ├── right_arm.json
│   │       │   │   └── right_leg.json
│   │       │   └── sneaking.json
│   │       └── tags/
│   │           └── function/
│   │               ├── apply_book.json
│   │               └── default.json
│   ├── mod.mcdoc
│   └── translations.csv
├── gm4_block_compressors/
│   ├── README.md
│   ├── assets/
│   │   ├── gm4_block_compressors/
│   │   │   └── models/
│   │   │       └── block/
│   │   │           ├── block_compressor_full.json
│   │   │           └── block_compressor_plate.json
│   │   └── translations.csv
│   ├── beet.yaml
│   ├── data/
│   │   ├── gm4/
│   │   │   └── advancement/
│   │   │       ├── block_compressors.json
│   │   │       └── block_compressors_compressed_diet.json
│   │   ├── gm4_block_compressors/
│   │   │   ├── advancement/
│   │   │   │   └── recipes/
│   │   │   │       └── compressor.json
│   │   │   ├── function/
│   │   │   │   ├── init.mcfunction
│   │   │   │   ├── item/
│   │   │   │   │   ├── compress.mcfunction
│   │   │   │   │   ├── decompress.mcfunction
│   │   │   │   │   ├── set_lore.mcfunction
│   │   │   │   │   ├── try_compress.mcfunction
│   │   │   │   │   └── try_decompress.mcfunction
│   │   │   │   ├── item.mcfunction
│   │   │   │   ├── machine/
│   │   │   │   │   ├── create.mcfunction
│   │   │   │   │   ├── destroy.mcfunction
│   │   │   │   │   ├── verify_destroy.mcfunction
│   │   │   │   │   └── verify_place_down.mcfunction
│   │   │   │   ├── main.mcfunction
│   │   │   │   ├── pressure_plate_down.mcfunction
│   │   │   │   ├── pressure_plate_up.mcfunction
│   │   │   │   ├── process.mcfunction
│   │   │   │   └── upgrade_paths/
│   │   │   │       └── 1.4.mcfunction
│   │   │   ├── guidebook/
│   │   │   │   └── block_compressors.json
│   │   │   ├── loot_table/
│   │   │   │   └── items/
│   │   │   │       └── block_compressor.json
│   │   │   ├── recipe/
│   │   │   │   └── compressor.json
│   │   │   └── test/
│   │   │       ├── compress_64.mcfunction
│   │   │       ├── compress_7.mcfunction
│   │   │       ├── decompress_64.mcfunction
│   │   │       ├── destroy.mcfunction
│   │   │       ├── fixed_uuid_present.mcfunction
│   │   │       └── place.mcfunction
│   │   └── gm4_machines/
│   │       └── tags/
│   │           └── function/
│   │               ├── destroy.json
│   │               └── place_down.json
│   └── mod.mcdoc
├── gm4_blossoming_pots/
│   ├── README.md
│   ├── beet.yaml
│   ├── data/
│   │   └── gm4_blossoming_pots/
│   │       ├── advancement/
│   │       │   ├── interact_with_decorated_pot.json
│   │       │   ├── interact_with_flower_pot.json
│   │       │   └── interact_with_vanilla_flower_pot.json
│   │       ├── function/
│   │       │   ├── decorated/
│   │       │   │   ├── as_player.mcfunction
│   │       │   │   ├── check_if_pot_empty.mcfunction
│   │       │   │   ├── get_player_rotation.mcfunction
│   │       │   │   ├── in_decorated_pot.mcfunction
│   │       │   │   ├── prepare_data.mcfunction
│   │       │   │   ├── raycast.mcfunction
│   │       │   │   ├── set_count.mcfunction
│   │       │   │   ├── set_displays.mcfunction
│   │       │   │   ├── set_storage.mcfunction
│   │       │   │   └── set_temp_data.mcfunction
│   │       │   ├── flower/
│   │       │   │   ├── as_player.mcfunction
│   │       │   │   ├── cleanup.mcfunction
│   │       │   │   ├── get_player_data.mcfunction
│   │       │   │   ├── give_item_to_player.mcfunction
│   │       │   │   ├── in_flower_pot.mcfunction
│   │       │   │   ├── prepare_data.mcfunction
│   │       │   │   ├── raycast.mcfunction
│   │       │   │   ├── remove_plant.mcfunction
│   │       │   │   ├── set_displays.mcfunction
│   │       │   │   ├── set_storage.mcfunction
│   │       │   │   └── set_temp_data.mcfunction
│   │       │   ├── init.mcfunction
│   │       │   ├── main.mcfunction
│   │       │   ├── play_sound.mcfunction
│   │       │   ├── upgrade_paths/
│   │       │   │   ├── 3.1/
│   │       │   │   │   ├── check_legacy_flower_pot_in_storage.mcfunction
│   │       │   │   │   ├── drop_legacy_items.mcfunction
│   │       │   │   │   ├── legacy_decorated_pot.mcfunction
│   │       │   │   │   └── legacy_flower_pot.mcfunction
│   │       │   │   ├── 3.1.mcfunction
│   │       │   │   ├── 3.4/
│   │       │   │   │   └── remove_perma_marker.mcfunction
│   │       │   │   └── 3.4.mcfunction
│   │       │   └── vanilla_pot_handling/
│   │       │       ├── as_marker.mcfunction
│   │       │       ├── as_player.mcfunction
│   │       │       ├── get_dropped_item.mcfunction
│   │       │       ├── give_item_back.mcfunction
│   │       │       ├── in_vanilla_flower_pot.mcfunction
│   │       │       └── raycast.mcfunction
│   │       ├── guidebook/
│   │       │   └── blossoming_pots.json
│   │       ├── predicate/
│   │       │   └── item_potable.json
│   │       ├── tags/
│   │       │   ├── block/
│   │       │   │   └── potted_plants.json
│   │       │   └── item/
│   │       │       └── potable_plants.json
│   │       └── test/
│   │           ├── decorated_pot_bounding_box.mcfunction
│   │           ├── place_in_decorated_pot.mcfunction
│   │           ├── place_in_flower_pot.mcfunction
│   │           ├── upgrade_path_3.1.mcfunction
│   │           ├── upgrade_path_3.4.mcfunction
│   │           └── vanilla_pot_handling.mcfunction
│   └── translations.csv
├── gm4_book_binders/
│   ├── README.md
│   ├── assets/
│   │   └── translations.csv
│   ├── beet.yaml
│   ├── data/
│   │   ├── gm4/
│   │   │   └── advancement/
│   │   │       ├── book_binders.json
│   │   │       ├── book_binders_bind.json
│   │   │       └── book_binders_debind.json
│   │   └── gm4_book_binders/
│   │       ├── advancement/
│   │       │   └── place_new_lectern.json
│   │       ├── function/
│   │       │   ├── binder/
│   │       │   │   ├── hopper_grab.mcfunction
│   │       │   │   ├── placement/
│   │       │   │   │   ├── detect_facing.mcfunction
│   │       │   │   │   ├── disable.mcfunction
│   │       │   │   │   ├── drop_hand_item.mcfunction
│   │       │   │   │   ├── drop_stored_item.mcfunction
│   │       │   │   │   ├── enable.mcfunction
│   │       │   │   │   ├── find_lectern.mcfunction
│   │       │   │   │   ├── kill.mcfunction
│   │       │   │   │   └── revoke_advancement.mcfunction
│   │       │   │   ├── recipes/
│   │       │   │   │   ├── bind.mcfunction
│   │       │   │   │   ├── check_recipes.mcfunction
│   │       │   │   │   ├── debind.mcfunction
│   │       │   │   │   └── page.mcfunction
│   │       │   │   └── tick.mcfunction
│   │       │   ├── init.mcfunction
│   │       │   ├── main.mcfunction
│   │       │   └── process_binders.mcfunction
│   │       ├── guidebook/
│   │       │   └── book_binders.json
│   │       ├── loot_table/
│   │       │   └── debind_book.json
│   │       ├── predicate/
│   │       │   └── successful_process.json
│   │       └── test/
│   │           ├── binding.mcfunction
│   │           └── debinding.mcfunction
│   └── mod.mcdoc
├── gm4_bookshelf_inspector/
│   ├── README.md
│   ├── beet.yaml
│   ├── data/
│   │   └── gm4_bookshelf_inspector/
│   │       ├── function/
│   │       │   ├── evaluate/
│   │       │   │   ├── raycast.mcfunction
│   │       │   │   └── run.mcfunction
│   │       │   ├── find_book/
│   │       │   │   ├── find_book.mcfunction
│   │       │   │   ├── get_book_slot.mcfunction
│   │       │   │   ├── get_rotation.mcfunction
│   │       │   │   ├── prep.mcfunction
│   │       │   │   └── raycast.mcfunction
│   │       │   ├── init.mcfunction
│   │       │   ├── main.mcfunction
│   │       │   └── process_display/
│   │       │       ├── check_location.mcfunction
│   │       │       ├── locate_slot.mcfunction
│   │       │       ├── remove/
│   │       │       │   ├── process.mcfunction
│   │       │       │   ├── start.mcfunction
│   │       │       │   └── tick.mcfunction
│   │       │       ├── spawn/
│   │       │       │   ├── components_to_list.mcfunction
│   │       │       │   ├── decide_name.mcfunction
│   │       │       │   ├── eval_enchantment.mcfunction
│   │       │       │   ├── init.mcfunction
│   │       │       │   ├── list_enchantments.mcfunction
│   │       │       │   ├── process.mcfunction
│   │       │       │   ├── process_enchantments.mcfunction
│   │       │       │   └── tick.mcfunction
│   │       │       └── update.mcfunction
│   │       └── guidebook/
│   │           └── bookshelf_inspector.json
│   ├── mod.mcdoc
│   └── translations.csv
├── gm4_boots_of_ostara/
│   ├── README.md
│   ├── assets/
│   │   ├── gm4_boots_of_ostara/
│   │   │   └── optifine/
│   │   │       └── cit/
│   │   │           └── boots_of_ostara.properties
│   │   └── translations.csv
│   ├── beet.yaml
│   └── data/
│       ├── gm4/
│       │   └── advancement/
│       │       └── boots_of_ostara.json
│       ├── gm4_boots_of_ostara/
│       │   ├── advancement/
│       │   │   └── recipes/
│       │   │       └── boots_of_ostara.json
│       │   ├── function/
│       │   │   ├── block_desire_lines.mcfunction
│       │   │   ├── convert.mcfunction
│       │   │   ├── init.mcfunction
│       │   │   └── main.mcfunction
│       │   ├── guidebook/
│       │   │   └── boots_of_ostara.json
│       │   ├── loot_table/
│       │   │   └── items/
│       │   │       └── boots_of_ostara.json
│       │   ├── predicate/
│       │   │   └── boots_equipped.json
│       │   ├── recipe/
│       │   │   └── boots_of_ostara.json
│       │   ├── tags/
│       │   │   └── block/
│       │   │       ├── moss_replaceable.json
│       │   │       └── mycelium_replaceable.json
│       │   └── test/
│       │       ├── armor_stand_both.mcfunction
│       │       ├── armor_stand_both_backwards.mcfunction
│       │       ├── armor_stand_grass.mcfunction
│       │       ├── armor_stand_moss.mcfunction
│       │       ├── player_grass.mcfunction
│       │       └── player_moss.mcfunction
│       └── gm4_desire_lines/
│           └── tags/
│               └── function/
│                   └── expansion.json
├── gm4_calling_bell/
│   ├── README.md
│   ├── beet.yaml
│   ├── data/
│   │   ├── gm4/
│   │   │   └── advancement/
│   │   │       └── calling_bell.json
│   │   └── gm4_calling_bell/
│   │       ├── advancement/
│   │       │   └── ring_bell.json
│   │       ├── function/
│   │       │   ├── init.mcfunction
│   │       │   ├── on_bell_interact.mcfunction
│   │       │   ├── raycast.mcfunction
│   │       │   └── summon_trader.mcfunction
│   │       ├── guidebook/
│   │       │   └── calling_bell.json
│   │       ├── item_modifier/
│   │       │   └── minus_one.json
│   │       ├── predicate/
│   │       │   └── trader_hitbox_no_collision.json
│   │       └── test/
│   │           ├── call.mcfunction
│   │           └── call_blocked.mcfunction
│   └── translations.csv
├── gm4_cement_mixers/
│   ├── README.md
│   ├── beet.yaml
│   ├── data/
│   │   ├── gm4_cement_mixers/
│   │   │   ├── function/
│   │   │   │   ├── init.mcfunction
│   │   │   │   ├── item_fill.mcfunction
│   │   │   │   └── water_concrete.mcfunction
│   │   │   └── guidebook/
│   │   │       └── cement_mixers.json
│   │   └── gm4_liquid_tanks/
│   │       └── tags/
│   │           └── function/
│   │               └── item_fill.json
│   └── translations.csv
├── gm4_chairs/
│   ├── README.md
│   ├── beet.yaml
│   ├── data/
│   │   ├── gm4/
│   │   │   └── advancement/
│   │   │       ├── chairs_creation.json
│   │   │       └── chairs_sit.json
│   │   └── gm4_chairs/
│   │       ├── advancement/
│   │       │   ├── hit.json
│   │       │   └── lightning.json
│   │       ├── function/
│   │       │   ├── create_chair.mcfunction
│   │       │   ├── hit.mcfunction
│   │       │   ├── init.mcfunction
│   │       │   ├── kill.mcfunction
│   │       │   ├── lightning/
│   │       │   │   ├── revive_chair.mcfunction
│   │       │   │   └── tag.mcfunction
│   │       │   ├── main.mcfunction
│   │       │   └── sit/
│   │       │       ├── check.mcfunction
│   │       │       └── counter.mcfunction
│   │       ├── guidebook/
│   │       │   └── chairs.json
│   │       ├── loot_table/
│   │       │   └── drop_saddle.json
│   │       ├── predicate/
│   │       │   └── sitting_in_chair.json
│   │       └── test/
│   │           └── create.mcfunction
│   └── translations.csv
├── gm4_cooler_caves/
│   ├── README.md
│   ├── beet.yaml
│   ├── data/
│   │   ├── gm4_cooler_caves/
│   │   │   ├── function/
│   │   │   │   └── init.mcfunction
│   │   │   ├── guidebook/
│   │   │   │   └── cooler_caves.json
│   │   │   ├── tags/
│   │   │   │   └── block/
│   │   │   │       ├── badlands_ore_replaceables.json
│   │   │   │       ├── base_desert_overworld.json
│   │   │   │       └── base_snowy_overworld.json
│   │   │   └── worldgen/
│   │   │       ├── configured_feature/
│   │   │       │   ├── badlands/
│   │   │       │   │   ├── glow_lichen.json
│   │   │       │   │   ├── ore_coal.json
│   │   │       │   │   ├── ore_coal_buried.json
│   │   │       │   │   ├── ore_copper_small.json
│   │   │       │   │   ├── ore_diamond_buried.json
│   │   │       │   │   ├── ore_diamond_large.json
│   │   │       │   │   ├── ore_diamond_small.json
│   │   │       │   │   ├── ore_gold.json
│   │   │       │   │   ├── ore_gold_buried.json
│   │   │       │   │   ├── ore_iron.json
│   │   │       │   │   ├── ore_iron_small.json
│   │   │       │   │   ├── ore_lapis.json
│   │   │       │   │   ├── ore_lapis_buried.json
│   │   │       │   │   └── ore_redstone.json
│   │   │       │   ├── desert/
│   │   │       │   │   ├── glow_lichen.json
│   │   │       │   │   └── ore_sand.json
│   │   │       │   └── snowy/
│   │   │       │       ├── glow_lichen.json
│   │   │       │       ├── ore_blue_ice.json
│   │   │       │       ├── ore_ice.json
│   │   │       │       ├── ore_packed_ice.json
│   │   │       │       ├── ore_packed_ice_small.json
│   │   │       │       ├── ore_powder_snow.json
│   │   │       │       └── trees.json
│   │   │       └── placed_feature/
│   │   │           ├── badlands/
│   │   │           │   ├── glow_lichen.json
│   │   │           │   ├── ore_coal_lower.json
│   │   │           │   ├── ore_coal_upper.json
│   │   │           │   ├── ore_copper.json
│   │   │           │   ├── ore_diamond.json
│   │   │           │   ├── ore_diamond_buried.json
│   │   │           │   ├── ore_diamond_large.json
│   │   │           │   ├── ore_gold.json
│   │   │           │   ├── ore_gold_lower.json
│   │   │           │   ├── ore_iron_middle.json
│   │   │           │   ├── ore_iron_small.json
│   │   │           │   ├── ore_iron_upper.json
│   │   │           │   ├── ore_lapis.json
│   │   │           │   ├── ore_lapis_buried.json
│   │   │           │   ├── ore_redstone.json
│   │   │           │   └── ore_redstone_lower.json
│   │   │           ├── desert/
│   │   │           │   ├── glow_lichen.json
│   │   │           │   └── ore_sand.json
│   │   │           └── snowy/
│   │   │               ├── glow_lichen.json
│   │   │               ├── ore_blue_ice_lower.json
│   │   │               ├── ore_blue_ice_upper.json
│   │   │               ├── ore_ice_lower.json
│   │   │               ├── ore_ice_upper.json
│   │   │               ├── ore_packed_ice_lower.json
│   │   │               ├── ore_packed_ice_small.json
│   │   │               ├── ore_packed_ice_upper.json
│   │   │               ├── ore_powder_snow.json
│   │   │               ├── patch_berry_rare.json
│   │   │               ├── patch_snow_layer.json
│   │   │               ├── trees.json
│   │   │               └── trees_taiga.json
│   │   └── minecraft/
│   │       ├── tags/
│   │       │   ├── block/
│   │       │   │   └── stone_ore_replaceables.json
│   │       │   └── worldgen/
│   │       │       └── placed_feature/
│   │       │           ├── underground_ores/
│   │       │           │   └── in_biome/
│   │       │           │       ├── badlands.json
│   │       │           │       ├── desert.json
│   │       │           │       ├── eroded_badlands.json
│   │       │           │       ├── frozen_peaks.json
│   │       │           │       ├── frozen_river.json
│   │       │           │       ├── grove.json
│   │       │           │       ├── ice_spikes.json
│   │       │           │       ├── snowy_beach.json
│   │       │           │       ├── snowy_plains.json
│   │       │           │       ├── snowy_slopes.json
│   │       │           │       ├── snowy_taiga.json
│   │       │           │       └── wooded_badlands.json
│   │       │           └── vegetal_decoration/
│   │       │               └── in_biome/
│   │       │                   ├── badlands.json
│   │       │                   ├── desert.json
│   │       │                   ├── eroded_badlands.json
│   │       │                   ├── frozen_peaks.json
│   │       │                   ├── frozen_river.json
│   │       │                   ├── grove.json
│   │       │                   ├── ice_spikes.json
│   │       │                   ├── snowy_beach.json
│   │       │                   ├── snowy_plains.json
│   │       │                   ├── snowy_slopes.json
│   │       │                   ├── snowy_taiga.json
│   │       │                   └── wooded_badlands.json
│   │       └── worldgen/
│   │           └── noise_settings/
│   │               └── overworld.json
│   └── translations.csv
├── gm4_cozy_campfires/
│   ├── README.md
│   ├── beet.yaml
│   ├── data/
│   │   └── gm4_cozy_campfires/
│   │       ├── advancement/
│   │       │   └── place_campfire.json
│   │       ├── function/
│   │       │   ├── cozy_campfire.mcfunction
│   │       │   ├── cozy_player.mcfunction
│   │       │   ├── init.mcfunction
│   │       │   ├── main.mcfunction
│   │       │   └── placement/
│   │       │       ├── place.mcfunction
│   │       │       └── ray.mcfunction
│   │       ├── guidebook/
│   │       │   └── cozy_campfires.json
│   │       └── test/
│   │           └── regeneration.mcfunction
│   └── translations.csv
├── gm4_crossbow_cartridges/
│   ├── README.md
│   ├── beet.yaml
│   ├── data/
│   │   ├── gm4/
│   │   │   └── advancement/
│   │   │       ├── crossbow_cartridges_bucket.json
│   │   │       └── crossbow_cartridges_string.json
│   │   └── gm4_crossbow_cartridges/
│   │       ├── advancement/
│   │       │   └── shoot_crossbow.json
│   │       ├── function/
│   │       │   ├── cables/
│   │       │   │   ├── determine_direction.mcfunction
│   │       │   │   ├── hook_success.mcfunction
│   │       │   │   ├── place_hook.mcfunction
│   │       │   │   ├── place_tripwire.mcfunction
│   │       │   │   ├── shoot_arrow.mcfunction
│   │       │   │   └── unspool_string.mcfunction
│   │       │   ├── check_projectile.mcfunction
│   │       │   ├── init.mcfunction
│   │       │   ├── projectile/
│   │       │   │   ├── arrow_motion.mcfunction
│   │       │   │   ├── beehive.mcfunction
│   │       │   │   ├── bucket/
│   │       │   │   │   ├── axolotl.mcfunction
│   │       │   │   │   ├── cod.mcfunction
│   │       │   │   │   ├── multishot/
│   │       │   │   │   │   ├── axolotl.mcfunction
│   │       │   │   │   │   ├── cod.mcfunction
│   │       │   │   │   │   ├── pufferfish.mcfunction
│   │       │   │   │   │   ├── salmon.mcfunction
│   │       │   │   │   │   ├── tadpole.mcfunction
│   │       │   │   │   │   └── tropical.mcfunction
│   │       │   │   │   ├── pufferfish.mcfunction
│   │       │   │   │   ├── salmon.mcfunction
│   │       │   │   │   ├── tadpole.mcfunction
│   │       │   │   │   └── tropical.mcfunction
│   │       │   │   ├── bucket.mcfunction
│   │       │   │   ├── copper_torch/
│   │       │   │   │   ├── check.mcfunction
│   │       │   │   │   ├── loop.mcfunction
│   │       │   │   │   └── place.mcfunction
│   │       │   │   ├── copper_torch.mcfunction
│   │       │   │   ├── fireball.mcfunction
│   │       │   │   ├── fireball_kill.mcfunction
│   │       │   │   ├── potions.mcfunction
│   │       │   │   ├── redstone_torch/
│   │       │   │   │   ├── check.mcfunction
│   │       │   │   │   ├── loop.mcfunction
│   │       │   │   │   └── place.mcfunction
│   │       │   │   ├── redstone_torch.mcfunction
│   │       │   │   ├── set_bees.mcfunction
│   │       │   │   ├── soul_torch/
│   │       │   │   │   ├── check.mcfunction
│   │       │   │   │   ├── loop.mcfunction
│   │       │   │   │   └── place.mcfunction
│   │       │   │   ├── soul_torch.mcfunction
│   │       │   │   ├── tnt.mcfunction
│   │       │   │   ├── torch/
│   │       │   │   │   ├── check.mcfunction
│   │       │   │   │   ├── loop.mcfunction
│   │       │   │   │   └── place.mcfunction
│   │       │   │   ├── torch.mcfunction
│   │       │   │   ├── wind_charge.mcfunction
│   │       │   │   └── wind_charge_kill.mcfunction
│   │       │   └── shoot/
│   │       │       ├── any_arrow.mcfunction
│   │       │       ├── potion_effect.mcfunction
│   │       │       ├── spectral.mcfunction
│   │       │       └── tipped.mcfunction
│   │       ├── guidebook/
│   │       │   └── crossbow_cartridges.json
│   │       ├── item_modifier/
│   │       │   └── remove_item.json
│   │       ├── predicate/
│   │       │   ├── check_block/
│   │       │   │   ├── below.json
│   │       │   │   ├── east.json
│   │       │   │   ├── north.json
│   │       │   │   ├── south.json
│   │       │   │   └── west.json
│   │       │   └── items/
│   │       │       ├── axolotl.json
│   │       │       ├── beehive.json
│   │       │       ├── bucket.json
│   │       │       ├── cod.json
│   │       │       ├── copper_torch.json
│   │       │       ├── fire_charge.json
│   │       │       ├── lingering_potion.json
│   │       │       ├── potions.json
│   │       │       ├── pufferfish.json
│   │       │       ├── redstone_torch.json
│   │       │       ├── salmon.json
│   │       │       ├── soul_torch.json
│   │       │       ├── splash_potion.json
│   │       │       ├── string.json
│   │       │       ├── tadpole.json
│   │       │       ├── tnt.json
│   │       │       ├── torch.json
│   │       │       ├── tropical.json
│   │       │       └── wind_charge.json
│   │       └── tags/
│   │           ├── block/
│   │           │   ├── string_replaceable.json
│   │           │   ├── torch.json
│   │           │   └── torch_placeable_top.json
│   │           └── item/
│   │               ├── bucket.json
│   │               └── valid_items.json
│   ├── mod.mcdoc
│   └── translations.csv
├── gm4_dangerous_dungeons/
│   ├── README.md
│   ├── beet.yaml
│   ├── data/
│   │   └── gm4_dangerous_dungeons/
│   │       ├── function/
│   │       │   └── init.mcfunction
│   │       ├── guidebook/
│   │       │   └── dangerous_dungeons.json
│   │       ├── structure/
│   │       │   └── dungeon/
│   │       │       ├── badlands/
│   │       │       │   ├── default.nbt
│   │       │       │   ├── large/
│   │       │       │   │   ├── base.nbt
│   │       │       │   │   └── decor/
│   │       │       │   │       ├── lower/
│   │       │       │   │       │   ├── a.nbt
│   │       │       │   │       │   ├── b.nbt
│   │       │       │   │       │   └── c.nbt
│   │       │       │   │       └── upper/
│   │       │       │   │           ├── a.nbt
│   │       │       │   │           ├── b.nbt
│   │       │       │   │           └── c.nbt
│   │       │       │   ├── medium_1/
│   │       │       │   │   ├── base.nbt
│   │       │       │   │   ├── base_featured.nbt
│   │       │       │   │   └── decor/
│   │       │       │   │       ├── a.nbt
│   │       │       │   │       ├── b.nbt
│   │       │       │   │       ├── c.nbt
│   │       │       │   │       └── d.nbt
│   │       │       │   ├── medium_2/
│   │       │       │   │   ├── base.nbt
│   │       │       │   │   └── decor/
│   │       │       │   │       ├── a.nbt
│   │       │       │   │       ├── b.nbt
│   │       │       │   │       └── c.nbt
│   │       │       │   └── tiny/
│   │       │       │       ├── base.nbt
│   │       │       │       └── decor/
│   │       │       │           ├── a.nbt
│   │       │       │           ├── b.nbt
│   │       │       │           ├── c.nbt
│   │       │       │           ├── d.nbt
│   │       │       │           └── e.nbt
│   │       │       ├── deep_slate/
│   │       │       │   ├── large_1/
│   │       │       │   │   ├── base.nbt
│   │       │       │   │   └── decor/
│   │       │       │   │       ├── chests/
│   │       │       │   │       │   ├── a.nbt
│   │       │       │   │       │   └── b.nbt
│   │       │       │   │       └── spawners/
│   │       │       │   │           ├── a.nbt
│   │       │       │   │           └── b.nbt
│   │       │       │   ├── large_2/
│   │       │       │   │   ├── base.nbt
│   │       │       │   │   └── decor/
│   │       │       │   │       ├── liquid/
│   │       │       │   │       │   ├── lava_1.nbt
│   │       │       │   │       │   ├── lava_2.nbt
│   │       │       │   │       │   ├── lava_3.nbt
│   │       │       │   │       │   └── water.nbt
│   │       │       │   │       └── upper/
│   │       │       │   │           ├── a.nbt
│   │       │       │   │           ├── b.nbt
│   │       │       │   │           ├── c.nbt
│   │       │       │   │           └── d.nbt
│   │       │       │   ├── medium/
│   │       │       │   │   ├── base.nbt
│   │       │       │   │   └── decor/
│   │       │       │   │       ├── a.nbt
│   │       │       │   │       ├── b.nbt
│   │       │       │   │       ├── c.nbt
│   │       │       │   │       ├── d.nbt
│   │       │       │   │       ├── e.nbt
│   │       │       │   │       ├── f.nbt
│   │       │       │   │       ├── g.nbt
│   │       │       │   │       └── h.nbt
│   │       │       │   └── small/
│   │       │       │       ├── base.nbt
│   │       │       │       └── decor/
│   │       │       │           ├── chests/
│   │       │       │           │   ├── a.nbt
│   │       │       │           │   ├── b.nbt
│   │       │       │           │   ├── c.nbt
│   │       │       │           │   └── d.nbt
│   │       │       │           └── spawners/
│   │       │       │               ├── a.nbt
│   │       │       │               ├── b.nbt
│   │       │       │               ├── c.nbt
│   │       │       │               └── d.nbt
│   │       │       ├── default/
│   │       │       │   └── default.nbt
│   │       │       ├── default.nbt
│   │       │       ├── desert/
│   │       │       │   ├── default.nbt
│   │       │       │   ├── large/
│   │       │       │   │   ├── base.nbt
│   │       │       │   │   └── decor/
│   │       │       │   │       ├── lower/
│   │       │       │   │       │   ├── a.nbt
│   │       │       │   │       │   ├── b.nbt
│   │       │       │   │       │   └── c.nbt
│   │       │       │   │       └── upper/
│   │       │       │   │           ├── a.nbt
│   │       │       │   │           ├── b.nbt
│   │       │       │   │           └── c.nbt
│   │       │       │   ├── medium_1/
│   │       │       │   │   ├── base.nbt
│   │       │       │   │   ├── base_featured.nbt
│   │       │       │   │   └── decor/
│   │       │       │   │       ├── a.nbt
│   │       │       │   │       ├── b.nbt
│   │       │       │   │       ├── c.nbt
│   │       │       │   │       └── d.nbt
│   │       │       │   ├── medium_2/
│   │       │       │   │   ├── base.nbt
│   │       │       │   │   └── decor/
│   │       │       │   │       ├── a.nbt
│   │       │       │   │       ├── b.nbt
│   │       │       │   │       └── c.nbt
│   │       │       │   └── tiny/
│   │       │       │       ├── base.nbt
│   │       │       │       └── decor/
│   │       │       │           ├── a.nbt
│   │       │       │           ├── b.nbt
│   │       │       │           ├── c.nbt
│   │       │       │           ├── d.nbt
│   │       │       │           └── e.nbt
│   │       │       ├── lush/
│   │       │       │   ├── grid_1/
│   │       │       │   │   └── base.nbt
│   │       │       │   ├── grid_2/
│   │       │       │   │   └── base.nbt
│   │       │       │   ├── grid_large/
│   │       │       │   │   ├── base.nbt
│   │       │       │   │   └── decor/
│   │       │       │   │       ├── a.nbt
│   │       │       │   │       ├── b.nbt
│   │       │       │   │       ├── c.nbt
│   │       │       │   │       └── d.nbt
│   │       │       │   └── grid_small/
│   │       │       │       └── base.nbt
│   │       │       ├── ocean/
│   │       │       │   ├── default.nbt
│   │       │       │   ├── large/
│   │       │       │   │   ├── base.nbt
│   │       │       │   │   └── decor/
│   │       │       │   │       ├── a.nbt
│   │       │       │   │       ├── b.nbt
│   │       │       │   │       ├── c.nbt
│   │       │       │   │       └── d.nbt
│   │       │       │   ├── medium_1/
│   │       │       │   │   ├── base.nbt
│   │       │       │   │   └── decor/
│   │       │       │   │       ├── a.nbt
│   │       │       │   │       ├── b.nbt
│   │       │       │   │       ├── c.nbt
│   │       │       │   │       └── d.nbt
│   │       │       │   ├── medium_2/
│   │       │       │   │   ├── base.nbt
│   │       │       │   │   └── decor/
│   │       │       │   │       ├── a.nbt
│   │       │       │   │       ├── b.nbt
│   │       │       │   │       ├── c.nbt
│   │       │       │   │       ├── d.nbt
│   │       │       │   │       └── e.nbt
│   │       │       │   └── small/
│   │       │       │       ├── base.nbt
│   │       │       │       └── decor/
│   │       │       │           ├── a.nbt
│   │       │       │           ├── b.nbt
│   │       │       │           ├── c.nbt
│   │       │       │           └── d.nbt
│   │       │       ├── ocean.nbt
│   │       │       ├── snowy/
│   │       │       │   └── default.nbt
│   │       │       └── stone/
│   │       │           ├── default.nbt
│   │       │           ├── default2.nbt
│   │       │           ├── large/
│   │       │           │   ├── base.nbt
│   │       │           │   └── decor/
│   │       │           │       ├── center/
│   │       │           │       │   ├── a.nbt
│   │       │           │       │   ├── b.nbt
│   │       │           │       │   ├── c.nbt
│   │       │           │       │   └── d.nbt
│   │       │           │       └── corner/
│   │       │           │           ├── a.nbt
│   │       │           │           ├── b.nbt
│   │       │           │           └── c.nbt
│   │       │           ├── medium_1/
│   │       │           │   ├── base.nbt
│   │       │           │   └── decor/
│   │       │           │       ├── long/
│   │       │           │       │   ├── a.nbt
│   │       │           │       │   ├── b.nbt
│   │       │           │       │   ├── d.nbt
│   │       │           │       │   └── e.nbt
│   │       │           │       └── short/
│   │       │           │           ├── a.nbt
│   │       │           │           ├── b.nbt
│   │       │           │           ├── c.nbt
│   │       │           │           └── d.nbt
│   │       │           ├── medium_2/
│   │       │           │   ├── base.nbt
│   │       │           │   └── decor/
│   │       │           │       ├── lower_floor/
│   │       │           │       │   ├── a.nbt
│   │       │           │       │   ├── b.nbt
│   │       │           │       │   ├── c.nbt
│   │       │           │       │   ├── d.nbt
│   │       │           │       │   └── e.nbt
│   │       │           │       └── upper_floor/
│   │       │           │           ├── a.nbt
│   │       │           │           ├── b.nbt
│   │       │           │           └── c.nbt
│   │       │           └── temple/
│   │       │               ├── base.nbt
│   │       │               └── decor/
│   │       │                   ├── a.nbt
│   │       │                   └── b.nbt
│   │       ├── tags/
│   │       │   └── worldgen/
│   │       │       └── biome/
│   │       │           ├── is_desert.json
│   │       │           ├── is_lush.json
│   │       │           ├── is_snowy.json
│   │       │           └── is_stone_base.json
│   │       └── worldgen/
│   │           ├── structure/
│   │           │   ├── badlands/
│   │           │   │   ├── lower.json
│   │           │   │   └── upper.json
│   │           │   ├── deep_slate.json
│   │           │   ├── desert.json
│   │           │   ├── lush.json
│   │           │   ├── ocean/
│   │           │   │   ├── default.json
│   │           │   │   └── surface.json
│   │           │   ├── snowy.json
│   │           │   └── stone/
│   │           │       ├── default.json
│   │           │       └── ocean.json
│   │           ├── structure_set/
│   │           │   ├── dungeons_lower.json
│   │           │   ├── dungeons_upper.json
│   │           │   └── ocean_surface.json
│   │           └── template_pool/
│   │               ├── dungeon/
│   │               │   ├── badlands.json
│   │               │   ├── deep_slate.json
│   │               │   ├── desert.json
│   │               │   ├── lush.json
│   │               │   ├── ocean/
│   │               │   │   ├── default.json
│   │               │   │   └── surface.json
│   │               │   ├── snowy.json
│   │               │   └── stone.json
│   │               └── subpart/
│   │                   ├── badlands/
│   │                   │   ├── large/
│   │                   │   │   ├── lower_features.json
│   │                   │   │   └── upper_features.json
│   │                   │   ├── medium_1_features.json
│   │                   │   ├── medium_2_features.json
│   │                   │   └── tiny_features.json
│   │                   ├── deep_slate/
│   │                   │   ├── large_1/
│   │                   │   │   ├── chests.json
│   │                   │   │   └── spawners.json
│   │                   │   ├── large_2/
│   │                   │   │   ├── liquid.json
│   │                   │   │   └── upper.json
│   │                   │   ├── medium_features.json
│   │                   │   └── small/
│   │                   │       ├── chest_sets.json
│   │                   │       └── spawner_sets.json
│   │                   ├── desert/
│   │                   │   ├── large/
│   │                   │   │   ├── lower_features.json
│   │                   │   │   └── upper_features.json
│   │                   │   ├── medium_1_features.json
│   │                   │   ├── medium_2_features.json
│   │                   │   └── tiny_features.json
│   │                   ├── lush/
│   │                   │   └── grid_large_features.json
│   │                   ├── ocean/
│   │                   │   ├── large_features.json
│   │                   │   ├── medium_1_features.json
│   │                   │   ├── medium_2_features.json
│   │                   │   └── small_features.json
│   │                   └── stone/
│   │                       ├── large/
│   │                       │   ├── center_features.json
│   │                       │   └── corner_features.json
│   │                       ├── medium_1/
│   │                       │   ├── long_side.json
│   │                       │   └── short_side.json
│   │                       ├── medium_2/
│   │                       │   ├── lower_floor.json
│   │                       │   └── upper_floor.json
│   │                       └── temple_side.json
│   └── translations.csv
├── gm4_desire_lines/
│   ├── README.md
│   ├── beet.yaml
│   ├── data/
│   │   ├── gm4/
│   │   │   └── advancement/
│   │   │       ├── desire_lines_10000.json
│   │   │       └── desire_lines_8000.json
│   │   ├── gm4_celaro_shamir/
│   │   │   ├── function/
│   │   │   │   ├── active.mcfunction
│   │   │   │   ├── check_item_validity.mcfunction
│   │   │   │   ├── summon_band.mcfunction
│   │   │   │   └── tick.mcfunction
│   │   │   ├── guidebook/
│   │   │   │   └── celaro_shamir.json
│   │   │   ├── loot_table/
│   │   │   │   └── band.json
│   │   │   ├── predicate/
│   │   │   │   ├── shamir_active.json
│   │   │   │   └── stealth_active.json
│   │   │   └── tags/
│   │   │       ├── block/
│   │   │       │   └── tall_plants.json
│   │   │       └── item/
│   │   │           └── valid_items.json
│   │   ├── gm4_desire_lines/
│   │   │   ├── function/
│   │   │   │   ├── init.mcfunction
│   │   │   │   ├── path.mcfunction
│   │   │   │   ├── player.mcfunction
│   │   │   │   └── tick.mcfunction
│   │   │   ├── guidebook/
│   │   │   │   └── desire_lines.json
│   │   │   ├── predicate/
│   │   │   │   ├── can_coarse_dirt.json
│   │   │   │   ├── feather_falling_fail.json
│   │   │   │   └── is_affected.json
│   │   │   └── tags/
│   │   │       └── function/
│   │   │           ├── expansion.json
│   │   │           └── load.json
│   │   └── gm4_metallurgy/
│   │       └── tags/
│   │           └── function/
│   │               ├── check_item_validity.json
│   │               └── summon_band/
│   │                   └── aluminium.json
│   └── translations.csv
├── gm4_disassemblers/
│   ├── README.md
│   ├── assets/
│   │   └── translations.csv
│   ├── beet.yaml
│   ├── data/
│   │   ├── gm4/
│   │   │   └── advancement/
│   │   │       └── disassemblers.json
│   │   ├── gm4_disassemblers/
│   │   │   ├── advancement/
│   │   │   │   └── recipes/
│   │   │   │       └── disassembler.json
│   │   │   ├── function/
│   │   │   │   ├── check_disassemble_recipe.mcfunction
│   │   │   │   ├── check_item.mcfunction
│   │   │   │   ├── init.mcfunction
│   │   │   │   ├── machine/
│   │   │   │   │   ├── create.mcfunction
│   │   │   │   │   ├── destroy.mcfunction
│   │   │   │   │   ├── place_rotated.mcfunction
│   │   │   │   │   ├── verify_destroy.mcfunction
│   │   │   │   │   └── verify_place_down.mcfunction
│   │   │   │   ├── main.mcfunction
│   │   │   │   ├── process.mcfunction
│   │   │   │   └── upgrade_paths/
│   │   │   │       ├── 2.6/
│   │   │   │       │   └── item_display.mcfunction
│   │   │   │       └── 2.6.mcfunction
│   │   │   ├── guidebook/
│   │   │   │   └── disassemblers.json
│   │   │   ├── loot_table/
│   │   │   │   └── items/
│   │   │   │       └── disassembler.json
│   │   │   ├── recipe/
│   │   │   │   └── disassembler.json
│   │   │   ├── tags/
│   │   │   │   └── function/
│   │   │   │       ├── after_base.json
│   │   │   │       ├── before_base.json
│   │   │   │       └── during_base.json
│   │   │   └── test/
│   │   │       ├── disassemble.mcfunction
│   │   │       └── place.mcfunction
│   │   ├── gm4_machines/
│   │   │   └── tags/
│   │   │       └── function/
│   │   │           ├── destroy.json
│   │   │           └── place_down.json
│   │   └── minecraft/
│   │       └── tags/
│   │           └── item/
│   │               ├── gold_tool_materials.json
│   │               └── iron_tool_materials.json
│   ├── generate_disassembly.py
│   └── mod.mcdoc
├── gm4_display_frames/
│   ├── README.md
│   ├── beet.yaml
│   ├── data/
│   │   ├── gm4/
│   │   │   └── advancement/
│   │   │       └── display_frames.json
│   │   ├── gm4_display_frames/
│   │   │   ├── function/
│   │   │   │   ├── frame/
│   │   │   │   │   └── invisible/
│   │   │   │   │       ├── apply_invisibility.mcfunction
│   │   │   │   │       ├── clear_invisibility.mcfunction
│   │   │   │   │       ├── create.mcfunction
│   │   │   │   │       └── process.mcfunction
│   │   │   │   ├── init.mcfunction
│   │   │   │   ├── main.mcfunction
│   │   │   │   └── potion_tracking/
│   │   │   │       ├── splash_item_frames.mcfunction
│   │   │   │       ├── tag_potion.mcfunction
│   │   │   │       └── verify_landed_potion.mcfunction
│   │   │   ├── guidebook/
│   │   │   │   └── display_frames.json
│   │   │   ├── tags/
│   │   │   │   └── entity_type/
│   │   │   │       └── potion_tracker.json
│   │   │   └── test/
│   │   │       └── splash.mcfunction
│   │   └── gm4_potion_tracking/
│   │       └── tags/
│   │           └── function/
│   │               ├── potion_landed.json
│   │               └── tag_potion.json
│   └── translations.csv
├── gm4_double_doors/
│   ├── README.md
│   ├── beet.yaml
│   ├── data/
│   │   └── gm4_double_doors/
│   │       ├── function/
│   │       │   ├── auto_toggle_marker/
│   │       │   │   ├── find.mcfunction
│   │       │   │   ├── maintain.mcfunction
│   │       │   │   ├── player_departed.mcfunction
│   │       │   │   ├── player_present.mcfunction
│   │       │   │   └── select_material.mcfunction
│   │       │   └── init.mcfunction
│   │       ├── guidebook/
│   │       │   └── double_doors.json
│   │       ├── structure/
│   │       │   └── test/
│   │       │       ├── valid_door_east_inverted.nbt
│   │       │       ├── valid_door_east_normal.nbt
│   │       │       ├── valid_door_north_inverted.nbt
│   │       │       ├── valid_door_north_normal.nbt
│   │       │       ├── valid_door_south_inverted.nbt
│   │       │       ├── valid_door_south_normal.nbt
│   │       │       ├── valid_door_west_inverted.nbt
│   │       │       └── valid_door_west_normal.nbt
│   │       ├── templates/
│   │       │   ├── advancement/
│   │       │   │   ├── use_left_hinge_door.json
│   │       │   │   └── use_right_hinge_door.json
│   │       │   ├── function/
│   │       │   │   ├── door/
│   │       │   │   │   ├── left_hinge/
│   │       │   │   │   │   ├── east/
│   │       │   │   │   │   │   ├── find_neighbors.mcfunction
│   │       │   │   │   │   │   ├── initialize_auto_toggle_marker.mcfunction
│   │       │   │   │   │   │   └── toggle.mcfunction
│   │       │   │   │   │   ├── get_facing.mcfunction
│   │       │   │   │   │   ├── get_lower_half.mcfunction
│   │       │   │   │   │   ├── north/
│   │       │   │   │   │   │   ├── find_neighbors.mcfunction
│   │       │   │   │   │   │   ├── initialize_auto_toggle_marker.mcfunction
│   │       │   │   │   │   │   └── toggle.mcfunction
│   │       │   │   │   │   ├── ray.mcfunction
│   │       │   │   │   │   ├── south/
│   │       │   │   │   │   │   ├── find_neighbors.mcfunction
│   │       │   │   │   │   │   ├── initialize_auto_toggle_marker.mcfunction
│   │       │   │   │   │   │   └── toggle.mcfunction
│   │       │   │   │   │   ├── use.mcfunction
│   │       │   │   │   │   └── west/
│   │       │   │   │   │       ├── find_neighbors.mcfunction
│   │       │   │   │   │       ├── initialize_auto_toggle_marker.mcfunction
│   │       │   │   │   │       └── toggle.mcfunction
│   │       │   │   │   └── right_hinge/
│   │       │   │   │       ├── east/
│   │       │   │   │       │   ├── find_neighbors.mcfunction
│   │       │   │   │       │   ├── initialize_auto_toggle_marker.mcfunction
│   │       │   │   │       │   └── toggle.mcfunction
│   │       │   │   │       ├── get_facing.mcfunction
│   │       │   │   │       ├── get_lower_half.mcfunction
│   │       │   │   │       ├── north/
│   │       │   │   │       │   ├── find_neighbors.mcfunction
│   │       │   │   │       │   ├── initialize_auto_toggle_marker.mcfunction
│   │       │   │   │       │   └── toggle.mcfunction
│   │       │   │   │       ├── ray.mcfunction
│   │       │   │   │       ├── south/
│   │       │   │   │       │   ├── find_neighbors.mcfunction
│   │       │   │   │       │   ├── initialize_auto_toggle_marker.mcfunction
│   │       │   │   │       │   └── toggle.mcfunction
│   │       │   │   │       ├── use.mcfunction
│   │       │   │   │       └── west/
│   │       │   │   │           ├── find_neighbors.mcfunction
│   │       │   │   │           ├── initialize_auto_toggle_marker.mcfunction
│   │       │   │   │           └── toggle.mcfunction
│   │       │   │   └── trapdoor/
│   │       │   │       ├── north_east/
│   │       │   │       │   ├── check_neighbours.mcfunction
│   │       │   │       │   └── toggle.mcfunction
│   │       │   │       ├── north_west/
│   │       │   │       │   ├── check_neighbours.mcfunction
│   │       │   │       │   └── toggle.mcfunction
│   │       │   │       ├── south_east/
│   │       │   │       │   ├── check_neighbours.mcfunction
│   │       │   │       │   └── toggle.mcfunction
│   │       │   │       └── south_west/
│   │       │   │           ├── check_neighbours.mcfunction
│   │       │   │           └── toggle.mcfunction
│   │       │   └── structure/
│   │       │       └── door/
│   │       │           ├── east/
│   │       │           │   ├── left/
│   │       │           │   │   ├── closed.snbt
│   │       │           │   │   └── open.snbt
│   │       │           │   └── right/
│   │       │           │       ├── closed.snbt
│   │       │           │       └── open.snbt
│   │       │           ├── north/
│   │       │           │   ├── left/
│   │       │           │   │   ├── closed.snbt
│   │       │           │   │   └── open.snbt
│   │       │           │   └── right/
│   │       │           │       ├── closed.snbt
│   │       │           │       └── open.snbt
│   │       │           ├── south/
│   │       │           │   ├── left/
│   │       │           │   │   ├── closed.snbt
│   │       │           │   │   └── open.snbt
│   │       │           │   └── right/
│   │       │           │       ├── closed.snbt
│   │       │           │       └── open.snbt
│   │       │           └── west/
│   │       │               ├── left/
│   │       │               │   ├── closed.snbt
│   │       │               │   └── open.snbt
│   │       │               └── right/
│   │       │                   ├── closed.snbt
│   │       │                   └── open.snbt
│   │       └── test/
│   │           ├── auto_toggle_east_inverted.mcfunction
│   │           ├── auto_toggle_east_normal.mcfunction
│   │           ├── auto_toggle_north_inverted.mcfunction
│   │           ├── auto_toggle_north_normal.mcfunction
│   │           ├── auto_toggle_south_inverted.mcfunction
│   │           ├── auto_toggle_south_normal.mcfunction
│   │           ├── auto_toggle_west_inverted.mcfunction
│   │           ├── auto_toggle_west_normal.mcfunction
│   │           ├── toggle_east_inverted.mcfunction
│   │           ├── toggle_east_normal.mcfunction
│   │           ├── toggle_north_inverted.mcfunction
│   │           ├── toggle_north_normal.mcfunction
│   │           ├── toggle_south_inverted.mcfunction
│   │           ├── toggle_south_normal.mcfunction
│   │           ├── toggle_west_inverted.mcfunction
│   │           └── toggle_west_normal.mcfunction
│   ├── generate.py
│   ├── raw/
│   │   └── sound_names.csv
│   └── translations.csv
├── gm4_dripleaf_filters/
│   ├── README.md
│   ├── beet.yaml
│   ├── data/
│   │   └── gm4_dripleaf_filters/
│   │       ├── function/
│   │       │   ├── check_hopper_filter.mcfunction
│   │       │   ├── deposit_item.mcfunction
│   │       │   ├── init.mcfunction
│   │       │   ├── main.mcfunction
│   │       │   ├── match_item.mcfunction
│   │       │   └── on_leaf.mcfunction
│   │       ├── guidebook/
│   │       │   └── dripleaf_filters.json
│   │       ├── structure/
│   │       │   └── test_setup.nbt
│   │       └── test/
│   │           ├── fallthrough.mcfunction
│   │           └── slide.mcfunction
│   ├── mod.mcdoc
│   └── translations.csv
├── gm4_dripleaf_launchers/
│   ├── README.md
│   ├── beet.yaml
│   ├── data/
│   │   └── gm4_dripleaf_launchers/
│   │       ├── function/
│   │       │   ├── check.mcfunction
│   │       │   ├── init.mcfunction
│   │       │   ├── launch.mcfunction
│   │       │   ├── main.mcfunction
│   │       │   └── tick.mcfunction
│   │       ├── guidebook/
│   │       │   └── dripleaf_launchers.json
│   │       ├── predicate/
│   │       │   ├── dripleaf_no_tilt.json
│   │       │   ├── dripleaf_tilted.json
│   │       │   └── dripleaf_triggered.json
│   │       └── test/
│   │           └── launch.mcfunction
│   └── translations.csv
├── gm4_end_fishing/
│   ├── README.md
│   ├── assets/
│   │   ├── gm4_end_fishing/
│   │   │   ├── models/
│   │   │   │   └── item/
│   │   │   │       ├── elytra/
│   │   │   │       │   ├── broken_captains_wings.json
│   │   │   │       │   ├── broken_ravaged_wings.json
│   │   │   │       │   ├── captains_wings.json
│   │   │   │       │   └── ravaged_wings.json
│   │   │   │       └── swords/
│   │   │   │           ├── diamond_sword_1.json
│   │   │   │           ├── diamond_sword_10.json
│   │   │   │           ├── diamond_sword_11.json
│   │   │   │           ├── diamond_sword_12.json
│   │   │   │           ├── diamond_sword_13.json
│   │   │   │           ├── diamond_sword_14.json
│   │   │   │           ├── diamond_sword_15.json
│   │   │   │           ├── diamond_sword_16.json
│   │   │   │           ├── diamond_sword_17.json
│   │   │   │           ├── diamond_sword_18.json
│   │   │   │           ├── diamond_sword_19.json
│   │   │   │           ├── diamond_sword_2.json
│   │   │   │           ├── diamond_sword_20.json
│   │   │   │           ├── diamond_sword_3.json
│   │   │   │           ├── diamond_sword_4.json
│   │   │   │           ├── diamond_sword_5.json
│   │   │   │           ├── diamond_sword_6.json
│   │   │   │           ├── diamond_sword_7.json
│   │   │   │           ├── diamond_sword_8.json
│   │   │   │           ├── diamond_sword_9.json
│   │   │   │           ├── iron_sword_1.json
│   │   │   │           ├── iron_sword_10.json
│   │   │   │           ├── iron_sword_11.json
│   │   │   │           ├── iron_sword_12.json
│   │   │   │           ├── iron_sword_13.json
│   │   │   │           ├── iron_sword_14.json
│   │   │   │           ├── iron_sword_15.json
│   │   │   │           ├── iron_sword_16.json
│   │   │   │           ├── iron_sword_17.json
│   │   │   │           ├── iron_sword_18.json
│   │   │   │           ├── iron_sword_19.json
│   │   │   │           ├── iron_sword_2.json
│   │   │   │           ├── iron_sword_20.json
│   │   │   │           ├── iron_sword_3.json
│   │   │   │           ├── iron_sword_4.json
│   │   │   │           ├── iron_sword_5.json
│   │   │   │           ├── iron_sword_6.json
│   │   │   │           ├── iron_sword_7.json
│   │   │   │           ├── iron_sword_8.json
│   │   │   │           ├── iron_sword_9.json
│   │   │   │           ├── netherite_sword_1.json
│   │   │   │           ├── netherite_sword_10.json
│   │   │   │           ├── netherite_sword_11.json
│   │   │   │           ├── netherite_sword_12.json
│   │   │   │           ├── netherite_sword_13.json
│   │   │   │           ├── netherite_sword_14.json
│   │   │   │           ├── netherite_sword_15.json
│   │   │   │           ├── netherite_sword_16.json
│   │   │   │           ├── netherite_sword_17.json
│   │   │   │           ├── netherite_sword_18.json
│   │   │   │           ├── netherite_sword_19.json
│   │   │   │           ├── netherite_sword_2.json
│   │   │   │           ├── netherite_sword_20.json
│   │   │   │           ├── netherite_sword_3.json
│   │   │   │           ├── netherite_sword_4.json
│   │   │   │           ├── netherite_sword_5.json
│   │   │   │           ├── netherite_sword_6.json
│   │   │   │           ├── netherite_sword_7.json
│   │   │   │           ├── netherite_sword_8.json
│   │   │   │           └── netherite_sword_9.json
│   │   │   └── optifine/
│   │   │       └── cit/
│   │   │           ├── captains_wings.properties
│   │   │           └── ravaged_wings.properties
│   │   └── translations.csv
│   ├── beet.yaml
│   ├── data/
│   │   ├── gm4/
│   │   │   └── advancement/
│   │   │       ├── end_fishing.json
│   │   │       ├── end_fishing_phantom.json
│   │   │       └── end_fishing_swords.json
│   │   └── gm4_end_fishing/
│   │       ├── advancement/
│   │       │   ├── check_inventory.json
│   │       │   ├── reel_loot.json
│   │       │   ├── reel_rod.json
│   │       │   └── set_id.json
│   │       ├── function/
│   │       │   ├── cast_rod/
│   │       │   │   ├── marker.mcfunction
│   │       │   │   ├── randomize_timer.mcfunction
│   │       │   │   ├── store_data.mcfunction
│   │       │   │   ├── summon_bait.mcfunction
│   │       │   │   └── update_bait.mcfunction
│   │       │   ├── durability/
│   │       │   │   ├── calc_damage.mcfunction
│   │       │   │   ├── check.mcfunction
│   │       │   │   ├── prep_mainhand.mcfunction
│   │       │   │   ├── prep_offhand.mcfunction
│   │       │   │   ├── set_mainhand.mcfunction
│   │       │   │   └── set_offhand.mcfunction
│   │       │   ├── enderpuff/
│   │       │   │   ├── apply_levitation.mcfunction
│   │       │   │   ├── apply_slow_falling.mcfunction
│   │       │   │   ├── check_inventory.mcfunction
│   │       │   │   ├── clear_levitation.mcfunction
│   │       │   │   └── process.mcfunction
│   │       │   ├── go_fish/
│   │       │   │   ├── bobber_animation.mcfunction
│   │       │   │   ├── bobber_animation_clock.mcfunction
│   │       │   │   ├── fish_particle_clock.mcfunction
│   │       │   │   ├── move_fish_particle.mcfunction
│   │       │   │   ├── summon_fish_particle.mcfunction
│   │       │   │   └── update_bobber.mcfunction
│   │       │   ├── init.mcfunction
│   │       │   ├── main.mcfunction
│   │       │   ├── process.mcfunction
│   │       │   ├── reel_in/
│   │       │   │   ├── move_marker.mcfunction
│   │       │   │   ├── reel_loot.mcfunction
│   │       │   │   ├── reel_rod.mcfunction
│   │       │   │   ├── set_marker_pos.mcfunction
│   │       │   │   ├── spawn_phantom.mcfunction
│   │       │   │   └── summon_entity.mcfunction
│   │       │   ├── set_id.mcfunction
│   │       │   └── tick.mcfunction
│   │       ├── guidebook/
│   │       │   └── end_fishing.json
│   │       ├── item_modifier/
│   │       │   ├── apply_damage.json
│   │       │   └── prepare_rod.json
│   │       ├── loot_table/
│   │       │   ├── entities/
│   │       │   │   ├── end_phantom.json
│   │       │   │   └── endermite.json
│   │       │   ├── gameplay/
│   │       │   │   ├── fish/
│   │       │   │   │   ├── debris.json
│   │       │   │   │   ├── end_city_treasure/
│   │       │   │   │   │   ├── armor/
│   │       │   │   │   │   │   ├── generate.json
│   │       │   │   │   │   │   └── type.json
│   │       │   │   │   │   ├── base.json
│   │       │   │   │   │   ├── horse_armor/
│   │       │   │   │   │   │   ├── generate.json
│   │       │   │   │   │   │   └── type.json
│   │       │   │   │   │   ├── ore/
│   │       │   │   │   │   │   ├── generate.json
│   │       │   │   │   │   │   └── type.json
│   │       │   │   │   │   ├── sword/
│   │       │   │   │   │   │   ├── generate.json
│   │       │   │   │   │   │   └── type.json
│   │       │   │   │   │   └── tool/
│   │       │   │   │   │       ├── generate.json
│   │       │   │   │   │       └── type.json
│   │       │   │   │   ├── scattered_treasure.json
│   │       │   │   │   └── valuables.json
│   │       │   │   └── fishing.json
│   │       │   └── items/
│   │       │       ├── captains_wings.json
│   │       │       ├── enderpuff.json
│   │       │       └── ravaged_wings.json
│   │       ├── predicate/
│   │       │   ├── carries_enderpuff.json
│   │       │   ├── holding_enderpuff.json
│   │       │   ├── holding_fishing_rod.json
│   │       │   ├── on_ground.json
│   │       │   └── slow_falling.json
│   │       └── tags/
│   │           ├── item/
│   │           │   └── enderpuff.json
│   │           └── worldgen/
│   │               └── biome/
│   │                   ├── barrens.json
│   │                   ├── center.json
│   │                   ├── high.json
│   │                   ├── mid.json
│   │                   ├── mid_high.json
│   │                   ├── nullscape/
│   │                   │   ├── crystal_peaks.json
│   │                   │   ├── shadowlands.json
│   │                   │   └── void_barrens.json
│   │                   └── outer.json
│   ├── generate_optifine.py
│   └── register_model_data.py
├── gm4_ender_hoppers/
│   ├── README.md
│   ├── assets/
│   │   ├── gm4_ender_hoppers/
│   │   │   └── models/
│   │   │       ├── block/
│   │   │       │   ├── ender_hopper.json
│   │   │       │   ├── ender_hopper_minecart.json
│   │   │       │   └── ender_hopper_side.json
│   │   │       └── item/
│   │   │           └── ender_hopper_full.json
│   │   └── translations.csv
│   ├── beet.yaml
│   └── data/
│       ├── gm4_ender_hoppers/
│       │   ├── advancement/
│       │   │   └── recipes/
│       │   │       └── ender_hopper.json
│       │   ├── function/
│       │   │   ├── init.mcfunction
│       │   │   ├── machine/
│       │   │   │   ├── create.mcfunction
│       │   │   │   ├── create_cart.mcfunction
│       │   │   │   ├── destroy.mcfunction
│       │   │   │   ├── destroy_cart/
│       │   │   │   │   ├── drop_item.mcfunction
│       │   │   │   │   ├── scan_hoppers.mcfunction
│       │   │   │   │   ├── update_hopper.mcfunction
│       │   │   │   │   └── update_hopper_minecart.mcfunction
│       │   │   │   ├── destroy_cart.mcfunction
│       │   │   │   ├── rotate/
│       │   │   │   │   ├── down.mcfunction
│       │   │   │   │   ├── east.mcfunction
│       │   │   │   │   ├── north.mcfunction
│       │   │   │   │   ├── south.mcfunction
│       │   │   │   │   └── west.mcfunction
│       │   │   │   ├── verify_destroy.mcfunction
│       │   │   │   ├── verify_destroy_cart.mcfunction
│       │   │   │   ├── verify_place_cart.mcfunction
│       │   │   │   └── verify_place_down.mcfunction
│       │   │   ├── main.mcfunction
│       │   │   ├── process.mcfunction
│       │   │   ├── process_cart.mcfunction
│       │   │   ├── teleport.mcfunction
│       │   │   └── upgrade_paths/
│       │   │       ├── 1.5/
│       │   │       │   ├── block_upgrade.mcfunction
│       │   │       │   └── minecart_upgrade.mcfunction
│       │   │       └── 1.5.mcfunction
│       │   ├── guidebook/
│       │   │   └── ender_hoppers.json
│       │   ├── loot_table/
│       │   │   ├── entities/
│       │   │   │   └── ender_hopper_minecart.json
│       │   │   └── items/
│       │   │       ├── ender_hopper.json
│       │   │       └── ender_hopper_minecart.json
│       │   ├── recipe/
│       │   │   ├── ender_hopper.json
│       │   │   └── ender_hopper_minecart.json
│       │   ├── structure/
│       │   │   └── test_pickup.nbt
│       │   └── test/
│       │       ├── pickup.mcfunction
│       │       ├── place.mcfunction
│       │       └── place_minecart.mcfunction
│       └── gm4_machines/
│           └── tags/
│               └── function/
│                   ├── destroy.json
│                   ├── destroy_cart.json
│                   ├── place_cart.json
│                   └── place_down.json
├── gm4_everstone/
│   ├── README.md
│   ├── assets/
│   │   └── translations.csv
│   ├── beet.yaml
│   └── data/
│       ├── c/
│       │   └── tags/
│       │       └── worldgen/
│       │           └── biome/
│       │               ├── is_cold/
│       │               │   └── overworld.json
│       │               ├── is_dry/
│       │               │   └── overworld.json
│       │               └── is_swamp.json
│       ├── gm4/
│       │   └── advancement/
│       │       └── everstone.json
│       └── gm4_everstone/
│           ├── advancement/
│           │   └── kill_age_locked.json
│           ├── function/
│           │   ├── age_locking/
│           │   │   ├── check.mcfunction
│           │   │   ├── killed_age_locked.mcfunction
│           │   │   └── lock_age.mcfunction
│           │   ├── aging/
│           │   │   ├── age_mobs.mcfunction
│           │   │   ├── convert/
│           │   │   │   ├── bogged.mcfunction
│           │   │   │   ├── elder_guardian.mcfunction
│           │   │   │   ├── evoker.mcfunction
│           │   │   │   ├── husk.mcfunction
│           │   │   │   ├── magma_cube.mcfunction
│           │   │   │   ├── piglin_brute.mcfunction
│           │   │   │   ├── skeleton.mcfunction
│           │   │   │   └── stray.mcfunction
│           │   │   ├── multiple.mcfunction
│           │   │   ├── single.mcfunction
│           │   │   └── update_age/
│           │   │       ├── bogged.mcfunction
│           │   │       ├── check_mob.mcfunction
│           │   │       ├── guardian.mcfunction
│           │   │       ├── piglin.mcfunction
│           │   │       ├── skeleton.mcfunction
│           │   │       ├── slime.mcfunction
│           │   │       ├── stray.mcfunction
│           │   │       ├── vindicator.mcfunction
│           │   │       └── zombie.mcfunction
│           │   ├── aging_clock.mcfunction
│           │   ├── init.mcfunction
│           │   ├── main.mcfunction
│           │   └── tick.mcfunction
│           ├── guidebook/
│           │   └── everstone.json
│           ├── loot_table/
│           │   ├── drop_chance.json
│           │   └── everstone.json
│           ├── predicate/
│           │   ├── in_bastion_remnant.json
│           │   ├── in_dry_sunlight.json
│           │   ├── in_frozen.json
│           │   ├── in_frozen_sunlight.json
│           │   ├── in_nether.json
│           │   ├── in_swamp.json
│           │   ├── in_swampy_water.json
│           │   ├── is_full_moon.json
│           │   └── sheared_and_out_of_swamp.json
│           ├── tags/
│           │   ├── block/
│           │   │   └── contains_magic.json
│           │   ├── entity_type/
│           │   │   ├── affected.json
│           │   │   ├── aging_mob.json
│           │   │   └── force_age_lock.json
│           │   ├── function/
│           │   │   ├── age_locking_check.json
│           │   │   └── update_age.json
│           │   └── worldgen/
│           │       └── biome/
│           │           ├── bogs_skeletons.json
│           │           ├── dries_zombies.json
│           │           └── freezes_skeletons.json
│           └── test/
│               └── age_locking.mcfunction
├── gm4_fulcio_shamir/
│   ├── README.md
│   ├── assets/
│   │   └── translations.csv
│   ├── beet.yaml
│   └── data/
│       ├── gm4_fulcio_shamir/
│       │   ├── function/
│       │   │   ├── 4_tick.mcfunction
│       │   │   ├── active.mcfunction
│       │   │   ├── check_item_validity.mcfunction
│       │   │   ├── create_block.mcfunction
│       │   │   ├── init.mcfunction
│       │   │   ├── main.mcfunction
│       │   │   ├── particles.mcfunction
│       │   │   ├── process_block.mcfunction
│       │   │   ├── ray.mcfunction
│       │   │   └── summon_band.mcfunction
│       │   ├── guidebook/
│       │   │   └── fulcio_shamir.json
│       │   ├── loot_table/
│       │   │   └── band.json
│       │   ├── predicate/
│       │   │   └── holding_fulcio.json
│       │   ├── tags/
│       │   │   └── item/
│       │   │       └── valid_items.json
│       │   └── test/
│       │       └── smoosh.mcfunction
│       └── gm4_metallurgy/
│           └── tags/
│               └── function/
│                   ├── check_item_validity.json
│                   └── summon_band/
│                       └── barimium.json
├── gm4_guidebook/
│   ├── CONTRIBUTING.md
│   ├── README.md
│   ├── advances.json
│   ├── assets/
│   │   ├── gm4/
│   │   │   ├── font/
│   │   │   │   ├── gm4_items.json
│   │   │   │   ├── guidebook.json
│   │   │   │   └── vanilla_items.json
│   │   │   └── textures/
│   │   │       └── item/
│   │   │           └── NOTE.md
│   │   ├── gm4_guidebook/
│   │   │   └── lang/
│   │   │       └── en_us.json
│   │   └── translations.csv
│   ├── beet.yaml
│   ├── data/
│   │   └── gm4_guidebook/
│   │       ├── advancement/
│   │       │   ├── first_join.json
│   │       │   ├── lectern_id.json
│   │       │   ├── loot_village_chest.json
│   │       │   ├── open_guide_lectern.json
│   │       │   ├── open_updating_lectern.json
│   │       │   ├── root.json
│   │       │   └── take_lectern_book.json
│   │       ├── function/
│   │       │   ├── get_book/
│   │       │   │   ├── chest/
│   │       │   │   │   ├── insert_seed_random.mcfunction
│   │       │   │   │   ├── looted.mcfunction
│   │       │   │   │   └── ray.mcfunction
│   │       │   │   ├── first_join.mcfunction
│   │       │   │   ├── player.mcfunction
│   │       │   │   └── zombie_villager.mcfunction
│   │       │   ├── hand/
│   │       │   │   ├── get_pages.mcfunction
│   │       │   │   ├── next_section/
│   │       │   │   │   ├── loop.mcfunction
│   │       │   │   │   └── search.mcfunction
│   │       │   │   ├── populate.mcfunction
│   │       │   │   ├── prev_section/
│   │       │   │   │   ├── loop.mcfunction
│   │       │   │   │   └── search.mcfunction
│   │       │   │   └── update.mcfunction
│   │       │   ├── init.mcfunction
│   │       │   ├── lecterns/
│   │       │   │   ├── get_id.mcfunction
│   │       │   │   ├── get_pages.mcfunction
│   │       │   │   ├── populate.mcfunction
│   │       │   │   ├── process.mcfunction
│   │       │   │   ├── replace/
│   │       │   │   │   ├── find_lectern.mcfunction
│   │       │   │   │   ├── ray.mcfunction
│   │       │   │   │   └── update.mcfunction
│   │       │   │   ├── restore/
│   │       │   │   │   ├── hotbar.mcfunction
│   │       │   │   │   ├── inv_1.mcfunction
│   │       │   │   │   ├── inv_2.mcfunction
│   │       │   │   │   ├── inv_3.mcfunction
│   │       │   │   │   └── search.mcfunction
│   │       │   │   ├── section/
│   │       │   │   │   ├── check_page/
│   │       │   │   │   │   ├── normal.mcfunction
│   │       │   │   │   │   └── toc.mcfunction
│   │       │   │   │   ├── check_page.mcfunction
│   │       │   │   │   ├── find_lectern.mcfunction
│   │       │   │   │   ├── ray.mcfunction
│   │       │   │   │   ├── toc/
│   │       │   │   │   │   ├── find_player.mcfunction
│   │       │   │   │   │   ├── find_section.mcfunction
│   │       │   │   │   │   └── jump.mcfunction
│   │       │   │   │   ├── track.mcfunction
│   │       │   │   │   ├── tracking.mcfunction
│   │       │   │   │   └── update/
│   │       │   │   │       ├── next_section/
│   │       │   │   │       │   ├── find_player.mcfunction
│   │       │   │   │       │   ├── find_section.mcfunction
│   │       │   │   │       │   └── jump.mcfunction
│   │       │   │   │       ├── prev_section/
│   │       │   │   │       │   ├── find_player.mcfunction
│   │       │   │   │       │   ├── find_section.mcfunction
│   │       │   │   │       │   └── jump.mcfunction
│   │       │   │   │       ├── refresh/
│   │       │   │   │       │   ├── find_player.mcfunction
│   │       │   │   │       │   └── jump.mcfunction
│   │       │   │   │       └── toc/
│   │       │   │   │           └── jump.mcfunction
│   │       │   │   └── update.mcfunction
│   │       │   ├── main.mcfunction
│   │       │   ├── player_db/
│   │       │   │   ├── get_trigger_name.mcfunction
│   │       │   │   ├── setup.mcfunction
│   │       │   │   └── update.mcfunction
│   │       │   ├── tick.mcfunction
│   │       │   └── update_storage/
│   │       │       ├── add_base.mcfunction
│   │       │       ├── add_to_toc.mcfunction
│   │       │       ├── build_line.mcfunction
│   │       │       ├── build_page.mcfunction
│   │       │       ├── build_toc.mcfunction
│   │       │       ├── find_expansions.mcfunction
│   │       │       ├── lectern/
│   │       │       │   ├── build_line.mcfunction
│   │       │       │   ├── build_page.mcfunction
│   │       │       │   └── click_event.mcfunction
│   │       │       ├── mark_ready.mcfunction
│   │       │       └── setup_markers.mcfunction
│   │       ├── loot_table/
│   │       │   ├── items/
│   │       │   │   └── guidebook.json
│   │       │   └── technical/
│   │       │       └── guidebook_with_count.json
│   │       ├── predicate/
│   │       │   ├── book_in_mainhand.json
│   │       │   ├── book_in_offhand.json
│   │       │   ├── chance_chest.json
│   │       │   ├── chance_zombie_villager.json
│   │       │   ├── holding_book.json
│   │       │   └── lectern_contents.json
│   │       └── tags/
│   │           └── function/
│   │               ├── add_toc_line.json
│   │               ├── setup_storage.json
│   │               ├── summon_marker.json
│   │               ├── update_hand.json
│   │               └── update_lectern.json
│   ├── generate_guidebooks.py
│   ├── legacy_item_sheet.py
│   ├── mod.mcdoc
│   └── triggers.json
├── gm4_holographic_tags/
│   ├── README.md
│   ├── assets/
│   │   └── translations.csv
│   ├── beet.yaml
│   ├── data/
│   │   ├── gm4/
│   │   │   └── advancement/
│   │   │       └── holographic_tags.json
│   │   └── gm4_holographic_tags/
│   │       ├── function/
│   │       │   ├── create_hologram.mcfunction
│   │       │   ├── destroy_hologram.mcfunction
│   │       │   ├── init.mcfunction
│   │       │   ├── initialize_hologram.mcfunction
│   │       │   ├── main.mcfunction
│   │       │   ├── read_hologram_data.mcfunction
│   │       │   ├── set_color.mcfunction
│   │       │   └── upgrade_paths/
│   │       │       ├── 1.5/
│   │       │       │   └── convert_to_text_display.mcfunction
│   │       │       └── 1.5.mcfunction
│   │       ├── guidebook/
│   │       │   └── holographic_tags.json
│   │       ├── predicate/
│   │       │   ├── has_item.json
│   │       │   └── has_name_tag.json
│   │       ├── tags/
│   │       │   └── entity_type/
│   │       │       └── item_frames.json
│   │       └── test/
│   │           └── create_and_remove.mcfunction
│   └── mod.mcdoc
├── gm4_iacio_shamir/
│   ├── README.md
│   ├── beet.yaml
│   ├── data/
│   │   ├── gm4_iacio_shamir/
│   │   │   ├── advancement/
│   │   │   │   └── inventory_changed.json
│   │   │   ├── function/
│   │   │   │   ├── add_motion.mcfunction
│   │   │   │   ├── check_item_validity.mcfunction
│   │   │   │   ├── check_throw.mcfunction
│   │   │   │   ├── init.mcfunction
│   │   │   │   └── summon_band.mcfunction
│   │   │   ├── guidebook/
│   │   │   │   └── iacio_shamir.json
│   │   │   ├── loot_table/
│   │   │   │   └── band.json
│   │   │   ├── structure/
│   │   │   │   └── test_long_platform.nbt
│   │   │   ├── tags/
│   │   │   │   └── item/
│   │   │   │       └── valid_items.json
│   │   │   └── test/
│   │   │       └── throw_item.mcfunction
│   │   └── gm4_metallurgy/
│   │       └── tags/
│   │           └── function/
│   │               ├── check_item_validity.json
│   │               └── summon_band/
│   │                   └── barium.json
│   └── translations.csv
├── gm4_ink_spitting_squid/
│   ├── README.md
│   ├── beet.yaml
│   ├── data/
│   │   ├── gm4/
│   │   │   └── advancement/
│   │   │       ├── glow_ink_spitting_squid.json
│   │   │       └── ink_spitting_squid.json
│   │   └── gm4_ink_spitting_squid/
│   │       ├── function/
│   │       │   ├── glow_squid_squirt.mcfunction
│   │       │   ├── init.mcfunction
│   │       │   ├── main.mcfunction
│   │       │   └── squid_squirt.mcfunction
│   │       ├── guidebook/
│   │       │   └── ink_spitting_squid.json
│   │       ├── predicate/
│   │       │   └── inkable.json
│   │       ├── structure/
│   │       │   └── test_tank.nbt
│   │       └── test/
│   │           └── squirt.mcfunction
│   └── translations.csv
├── gm4_lavish_livestock/
│   ├── README.md
│   ├── beet.yaml
│   ├── data/
│   │   └── gm4_lavish_livestock/
│   │       ├── function/
│   │       │   └── init.mcfunction
│   │       ├── guidebook/
│   │       │   └── lavish_livestock.json
│   │       ├── tags/
│   │       │   └── entity_type/
│   │       │       └── livestock.json
│   │       └── templates/
│   │           ├── advancement/
│   │           │   └── breed.json
│   │           ├── function/
│   │           │   ├── determine_parent.mcfunction
│   │           │   ├── find_baby.mcfunction
│   │           │   ├── find_marker.mcfunction
│   │           │   ├── initialize_marker.mcfunction
│   │           │   ├── modify_baby.mcfunction
│   │           │   └── revoke_advancement.mcfunction
│   │           └── loot_table/
│   │               └── lavish_death.json
│   ├── generate.py
│   └── translations.csv
├── gm4_lightning_in_a_bottle/
│   ├── README.md
│   ├── assets/
│   │   ├── gm4_lightning_in_a_bottle/
│   │   │   └── textures/
│   │   │       └── item/
│   │   │           ├── lightning_in_a_bottle_overlay.png.mcmeta
│   │   │           ├── lingering_lightning_in_a_bottle_overlay.png.mcmeta
│   │   │           └── splash_lightning_in_a_bottle_overlay.png.mcmeta
│   │   └── translations.csv
│   ├── beet.yaml
│   └── data/
│       ├── gm4/
│       │   └── advancement/
│       │       ├── lightning_in_a_bottle_drink.json
│       │       └── lightning_in_a_bottle_shulker.json
│       ├── gm4_brewing/
│       │   └── tags/
│       │       └── function/
│       │           └── insert/
│       │               ├── lingering.json
│       │               └── splash.json
│       ├── gm4_lightning_in_a_bottle/
│       │   ├── advancement/
│       │   │   ├── drink_lightning.json
│       │   │   ├── lightning_strike.json
│       │   │   └── place_lightning_rod.json
│       │   ├── function/
│       │   │   ├── brewing_stand/
│       │   │   │   ├── brew/
│       │   │   │   │   ├── lingering.mcfunction
│       │   │   │   │   └── splash.mcfunction
│       │   │   │   ├── check_fuel.mcfunction
│       │   │   │   ├── check_potions.mcfunction
│       │   │   │   ├── consume_fuel.mcfunction
│       │   │   │   └── texture_connector/
│       │   │   │       ├── force_update.mcfunction
│       │   │   │       ├── process.mcfunction
│       │   │   │       ├── summon.mcfunction
│       │   │   │       └── update.mcfunction
│       │   │   ├── entity/
│       │   │   │   ├── evoker.mcfunction
│       │   │   │   ├── guardian.mcfunction
│       │   │   │   ├── illusioner.mcfunction
│       │   │   │   └── shulker.mcfunction
│       │   │   ├── init.mcfunction
│       │   │   ├── lightning/
│       │   │   │   ├── check.mcfunction
│       │   │   │   ├── locate.mcfunction
│       │   │   │   └── strike_self.mcfunction
│       │   │   ├── main.mcfunction
│       │   │   ├── potion_tracking/
│       │   │   │   ├── modify_cloud.mcfunction
│       │   │   │   ├── potion_landed.mcfunction
│       │   │   │   ├── tag_potion.mcfunction
│       │   │   │   └── verify_landed_potion.mcfunction
│       │   │   ├── sustain_lingering_lightning.mcfunction
│       │   │   └── upgrade_paths/
│       │   │       └── 1.4.mcfunction
│       │   ├── guidebook/
│       │   │   └── lightning_in_a_bottle.json
│       │   ├── item_modifier/
│       │   │   ├── bottle_of_lightning.json
│       │   │   ├── brew_lightning.json
│       │   │   ├── lingering_bottle_of_lightning.json
│       │   │   ├── set_zero.json
│       │   │   └── splash_bottle_of_lightning.json
│       │   ├── loot_table/
│       │   │   ├── entities/
│       │   │   │   ├── charged_creeper.json
│       │   │   │   ├── illusioner.json
│       │   │   │   └── shulker.json
│       │   │   ├── items/
│       │   │   │   ├── bottle_of_lightning.json
│       │   │   │   ├── lingering_bottle_of_lightning.json
│       │   │   │   └── splash_bottle_of_lightning.json
│       │   │   └── technical/
│       │   │       └── brewing_stand/
│       │   │           ├── lingering.json
│       │   │           └── splash.json
│       │   ├── modules/
│       │   │   └── liquid_tanks/
│       │   │       └── liquid_features.bolt
│       │   ├── predicate/
│       │   │   ├── on_fire.json
│       │   │   └── random_strike.json
│       │   ├── tags/
│       │   │   ├── block/
│       │   │   │   ├── exposed_lightning_rod.json
│       │   │   │   ├── lightning_rod.json
│       │   │   │   ├── normal_lightning_rod.json
│       │   │   │   ├── oxidized_lightning_rod.json
│       │   │   │   └── weathered_lightning_rod.json
│       │   │   ├── entity_type/
│       │   │   │   └── potion_tracker.json
│       │   │   ├── function/
│       │   │   │   └── lightning_strike.json
│       │   │   └── item/
│       │   │       └── lightning_rod.json
│       │   └── test/
│       │       ├── brew_splash.mcfunction
│       │       ├── lightning_strike.mcfunction
│       │       ├── throw.mcfunction
│       │       ├── throw_evoker.mcfunction
│       │       ├── throw_guardian.mcfunction
│       │       ├── throw_illusioner.mcfunction
│       │       └── throw_shulker.mcfunction
│       └── gm4_potion_tracking/
│           └── tags/
│               └── function/
│                   ├── potion_landed.json
│                   └── tag_potion.json
├── gm4_liquid_minecarts/
│   ├── README.md
│   ├── assets/
│   │   └── translations.csv
│   ├── beet.yaml
│   └── data/
│       ├── gm4/
│       │   └── advancement/
│       │       └── liquid_minecarts_create.json
│       ├── gm4_liquid_minecarts/
│       │   ├── advancement/
│       │   │   └── recipes/
│       │   │       └── liquid_minecart.json
│       │   ├── function/
│       │   │   ├── compare_load_liquid.mcfunction
│       │   │   ├── compare_unload_liquid.mcfunction
│       │   │   ├── copy_tank_data.mcfunction
│       │   │   ├── drain_minecart.mcfunction
│       │   │   ├── init.mcfunction
│       │   │   ├── init_liquid.mcfunction
│       │   │   ├── init_tank.mcfunction
│       │   │   ├── level_report.mcfunction
│       │   │   ├── level_report_ray.mcfunction
│       │   │   ├── liquid_value_update.mcfunction
│       │   │   ├── load_check.mcfunction
│       │   │   ├── load_liquid.mcfunction
│       │   │   ├── machine/
│       │   │   │   ├── create_cart.mcfunction
│       │   │   │   ├── destroy_cart/
│       │   │   │   │   ├── drop_item.mcfunction
│       │   │   │   │   ├── scan_hoppers.mcfunction
│       │   │   │   │   ├── update_hopper.mcfunction
│       │   │   │   │   └── update_hopper_minecart.mcfunction
│       │   │   │   ├── destroy_cart.mcfunction
│       │   │   │   ├── verify_destroy_cart.mcfunction
│       │   │   │   └── verify_place_cart.mcfunction
│       │   │   ├── main.mcfunction
│       │   │   ├── set_empty_data.mcfunction
│       │   │   ├── try_to_load.mcfunction
│       │   │   ├── try_to_unload.mcfunction
│       │   │   ├── unload_liquid.mcfunction
│       │   │   └── upgrade_paths/
│       │   │       ├── 1.8/
│       │   │       │   └── entity_replacement.mcfunction
│       │   │       └── 1.8.mcfunction
│       │   ├── guidebook/
│       │   │   └── liquid_minecarts.json
│       │   ├── loot_table/
│       │   │   ├── entities/
│       │   │   │   └── liquid_minecart.json
│       │   │   └── items/
│       │   │       └── liquid_minecart.json
│       │   ├── recipe/
│       │   │   └── liquid_minecart.json
│       │   ├── structure/
│       │   │   └── test_transport.nbt
│       │   ├── tags/
│       │   │   └── function/
│       │   │       └── load.json
│       │   └── test/
│       │       ├── place.mcfunction
│       │       └── transport.mcfunction
│       ├── gm4_liquid_tanks/
│       │   └── tags/
│       │       └── function/
│       │           └── load.json
│       └── gm4_machines/
│           └── tags/
│               └── function/
│                   ├── destroy_cart.json
│                   └── place_cart.json
├── gm4_liquid_tanks/
│   ├── README.md
│   ├── assets/
│   │   ├── gm4_liquid_tanks/
│   │   │   └── models/
│   │   │       ├── block/
│   │   │       │   └── liquid_tank.json
│   │   │       └── item/
│   │   │           └── liquid_tank_full.json
│   │   └── translations.csv
│   ├── beet.yaml
│   ├── bolt-docs.md
│   ├── bolt_liquid_wrappers.py
│   ├── data/
│   │   ├── gm4/
│   │   │   └── advancement/
│   │   │       ├── liquid_tanks_create.json
│   │   │       └── standard_liquids.json
│   │   ├── gm4_liquid_tanks/
│   │   │   ├── advancement/
│   │   │   │   └── recipes/
│   │   │   │       └── liquid_tank.json
│   │   │   ├── function/
│   │   │   │   ├── apply_output.mcfunction
│   │   │   │   ├── empty.mcfunction
│   │   │   │   ├── init.mcfunction
│   │   │   │   ├── item_process.mcfunction
│   │   │   │   ├── level_report_ray.mcfunction
│   │   │   │   ├── liquid_value_update.mcfunction
│   │   │   │   ├── machine/
│   │   │   │   │   ├── create.mcfunction
│   │   │   │   │   ├── destroy.mcfunction
│   │   │   │   │   ├── init_tank_scores.mcfunction
│   │   │   │   │   ├── rotate/
│   │   │   │   │   │   ├── down.mcfunction
│   │   │   │   │   │   ├── east.mcfunction
│   │   │   │   │   │   ├── north.mcfunction
│   │   │   │   │   │   ├── south.mcfunction
│   │   │   │   │   │   └── west.mcfunction
│   │   │   │   │   ├── verify_destroy.mcfunction
│   │   │   │   │   └── verify_place_down.mcfunction
│   │   │   │   ├── main.mcfunction
│   │   │   │   ├── process.mcfunction
│   │   │   │   ├── smart_item_drain.mcfunction
│   │   │   │   ├── smart_item_fill.mcfunction
│   │   │   │   ├── teleport_display_down.mcfunction
│   │   │   │   ├── teleport_display_up.mcfunction
│   │   │   │   └── upgrade_paths/
│   │   │   │       ├── 2.8/
│   │   │   │       │   └── entity_replacement.mcfunction
│   │   │   │       └── 2.8.mcfunction
│   │   │   ├── guidebook/
│   │   │   │   └── liquid_tanks.json
│   │   │   ├── loot_table/
│   │   │   │   └── items/
│   │   │   │       └── liquid_tank.json
│   │   │   ├── modules/
│   │   │   │   └── liquid_wrappers.bolt
│   │   │   ├── recipe/
│   │   │   │   └── liquid_tank.json
│   │   │   ├── structure/
│   │   │   │   └── test_setup.nbt
│   │   │   ├── tags/
│   │   │   │   └── function/
│   │   │   │       ├── item_drain.json
│   │   │   │       ├── item_fill.json
│   │   │   │       ├── level_report_check.json
│   │   │   │       ├── remove_liquid_tags.json
│   │   │   │       ├── tank_init.json
│   │   │   │       ├── util_above.json
│   │   │   │       └── util_below.json
│   │   │   └── test/
│   │   │       ├── change_type.mcfunction
│   │   │       ├── deposit_xp.mcfunction
│   │   │       ├── drain_xp.mcfunction
│   │   │       ├── honey_cast.mcfunction
│   │   │       ├── lava_fuel.mcfunction
│   │   │       ├── lava_tank.mcfunction
│   │   │       ├── milk_tank.mcfunction
│   │   │       └── place.mcfunction
│   │   ├── gm4_machines/
│   │   │   └── tags/
│   │   │       └── function/
│   │   │           ├── destroy.json
│   │   │           └── place_down.json
│   │   └── gm4_standard_liquids/
│   │       ├── advancement/
│   │       │   ├── use_glow_ink_bottle_on_sign.json
│   │       │   └── use_ink_bottle_on_sign.json
│   │       ├── function/
│   │       │   ├── level_report/
│   │       │   │   ├── 100.mcfunction
│   │       │   │   ├── 300.mcfunction
│   │       │   │   ├── 400.mcfunction
│   │       │   │   └── experience.mcfunction
│   │       │   ├── level_report_check.mcfunction
│   │       │   ├── util/
│   │       │   │   ├── cauldrons/
│   │       │   │   │   ├── drain_lava_cauldron.mcfunction
│   │       │   │   │   ├── drain_powder_snow_cauldron.mcfunction
│   │       │   │   │   ├── drain_water_cauldron.mcfunction
│   │       │   │   │   ├── fill_lava_cauldron.mcfunction
│   │       │   │   │   ├── fill_powder_snow_cauldron.mcfunction
│   │       │   │   │   └── fill_water_cauldron.mcfunction
│   │       │   │   ├── drain_cauldron.mcfunction
│   │       │   │   ├── experience/
│   │       │   │   │   ├── deposit_levels.mcfunction
│   │       │   │   │   ├── deposit_one_level.mcfunction
│   │       │   │   │   ├── deposit_points.mcfunction
│   │       │   │   │   ├── macro_experience.mcfunction
│   │       │   │   │   ├── scheduled_deposit.mcfunction
│   │       │   │   │   ├── scheduled_withdraw.mcfunction
│   │       │   │   │   ├── withdraw_levels.mcfunction
│   │       │   │   │   ├── withdraw_one_level.mcfunction
│   │       │   │   │   └── withdraw_points.mcfunction
│   │       │   │   ├── experience_orb.mcfunction
│   │       │   │   ├── fill_cauldrons.mcfunction
│   │       │   │   ├── furnace_fueling/
│   │       │   │   │   ├── fuel_furnace.mcfunction
│   │       │   │   │   ├── furnace_start.mcfunction
│   │       │   │   │   ├── lava_tank.mcfunction
│   │       │   │   │   └── scheduled_furnace_fuel.mcfunction
│   │       │   │   ├── honey_casting/
│   │       │   │   │   ├── honey_cauldron.mcfunction
│   │       │   │   │   ├── honey_rise.mcfunction
│   │       │   │   │   ├── honey_stop.mcfunction
│   │       │   │   │   ├── honey_tank.mcfunction
│   │       │   │   │   └── scheduled_honey_rise.mcfunction
│   │       │   │   ├── link_blocks.mcfunction
│   │       │   │   ├── liquid_dispensing/
│   │       │   │   │   ├── beetroot_soup.mcfunction
│   │       │   │   │   ├── glow_ink.mcfunction
│   │       │   │   │   ├── honey.mcfunction
│   │       │   │   │   ├── ink.mcfunction
│   │       │   │   │   ├── milk.mcfunction
│   │       │   │   │   ├── mushroom_stew.mcfunction
│   │       │   │   │   └── rabbit_stew.mcfunction
│   │       │   │   ├── mobs/
│   │       │   │   │   ├── cow.mcfunction
│   │       │   │   │   ├── glow_squid.mcfunction
│   │       │   │   │   ├── mooshroom.mcfunction
│   │       │   │   │   ├── snow_golem.mcfunction
│   │       │   │   │   └── squid.mcfunction
│   │       │   │   └── signs/
│   │       │   │       ├── apply_glow_ink_sac_back.mcfunction
│   │       │   │       ├── apply_glow_ink_sac_front.mcfunction
│   │       │   │       ├── apply_ink_sac_back.mcfunction
│   │       │   │       ├── apply_ink_sac_front.mcfunction
│   │       │   │       ├── front_back_detection.mcfunction
│   │       │   │       ├── glow_ink_sign.mcfunction
│   │       │   │       ├── ink_sign.mcfunction
│   │       │   │       ├── ray.mcfunction
│   │       │   │       └── sign_normal_lookup.mcfunction
│   │       │   ├── util_above.mcfunction
│   │       │   └── util_below.mcfunction
│   │       ├── guidebook/
│   │       │   └── standard_liquids.json
│   │       ├── loot_table/
│   │       │   ├── glow_ink_bottle.json
│   │       │   └── ink_bottle.json
│   │       ├── modules/
│   │       │   └── main.bolt
│   │       ├── predicate/
│   │       │   ├── sneaking.json
│   │       │   └── suspended_snow_golem.json
│   │       └── tags/
│   │           └── block/
│   │               ├── double_speed.json
│   │               └── furnace.json
│   ├── mcmeta_stacksize.py
│   ├── mod.mcdoc
│   └── override_formatting.py
├── gm4_live_catch/
│   ├── README.md
│   ├── beet.yaml
│   ├── data/
│   │   ├── gm4/
│   │   │   └── advancement/
│   │   │       └── live_catch.json
│   │   └── gm4_live_catch/
│   │       ├── advancement/
│   │       │   ├── catch_cod.json
│   │       │   ├── catch_pufferfish.json
│   │       │   ├── catch_salmon.json
│   │       │   └── catch_tropical_fish.json
│   │       ├── function/
│   │       │   ├── fish/
│   │       │   │   ├── cod/
│   │       │   │   │   ├── catch.mcfunction
│   │       │   │   │   ├── summon.mcfunction
│   │       │   │   │   └── target.mcfunction
│   │       │   │   ├── pufferfish/
│   │       │   │   │   ├── catch.mcfunction
│   │       │   │   │   ├── summon.mcfunction
│   │       │   │   │   └── target.mcfunction
│   │       │   │   ├── salmon/
│   │       │   │   │   ├── catch.mcfunction
│   │       │   │   │   ├── summon.mcfunction
│   │       │   │   │   └── target.mcfunction
│   │       │   │   └── tropical_fish/
│   │       │   │       ├── catch.mcfunction
│   │       │   │       ├── summon.mcfunction
│   │       │   │       └── target.mcfunction
│   │       │   └── init.mcfunction
│   │       └── guidebook/
│   │           └── live_catch.json
│   ├── mod.mcdoc
│   └── translations.csv
├── gm4_lively_lily_pads/
│   ├── README.md
│   ├── beet.yaml
│   ├── data/
│   │   └── gm4_lively_lily_pads/
│   │       ├── advancement/
│   │       │   ├── candle_rcd.json
│   │       │   ├── id_init.json
│   │       │   ├── placement_rcd.json
│   │       │   ├── punch_perma_rcd.json
│   │       │   ├── punch_placement_rcd.json
│   │       │   ├── unwaxed_copper_rcd.json
│   │       │   └── waxed_copper_rcd.json
│   │       ├── function/
│   │       │   ├── init.mcfunction
│   │       │   ├── main.mcfunction
│   │       │   ├── mechanics/
│   │       │   │   ├── attacks/
│   │       │   │   │   ├── perma/
│   │       │   │   │   │   ├── hit_rcd.mcfunction
│   │       │   │   │   │   └── process_interaction.mcfunction
│   │       │   │   │   └── placement/
│   │       │   │   │       ├── hit_rcd.mcfunction
│   │       │   │   │       └── process_interaction.mcfunction
│   │       │   │   ├── cleanup/
│   │       │   │   │   ├── kill.mcfunction
│   │       │   │   │   └── summon_item.mcfunction
│   │       │   │   ├── interactions/
│   │       │   │   │   ├── candle/
│   │       │   │   │   │   ├── add_candle.mcfunction
│   │       │   │   │   │   ├── find_igniter.mcfunction
│   │       │   │   │   │   ├── get_mainhand_data.mcfunction
│   │       │   │   │   │   ├── get_offhand_data.mcfunction
│   │       │   │   │   │   ├── interact_rcd.mcfunction
│   │       │   │   │   │   ├── light_candle.mcfunction
│   │       │   │   │   │   ├── process_display.mcfunction
│   │       │   │   │   │   ├── process_interaction.mcfunction
│   │       │   │   │   │   ├── update_light_blocks.mcfunction
│   │       │   │   │   │   ├── used_mainhand_fire_charge.mcfunction
│   │       │   │   │   │   ├── used_mainhand_flint_and_steel.mcfunction
│   │       │   │   │   │   ├── used_offhand_fire_charge.mcfunction
│   │       │   │   │   │   └── used_offhand_flint_and_steel.mcfunction
│   │       │   │   │   ├── placement/
│   │       │   │   │   │   ├── cactus_flower.mcfunction
│   │       │   │   │   │   ├── candles.mcfunction
│   │       │   │   │   │   ├── copper_lantern.mcfunction
│   │       │   │   │   │   ├── copper_torch.mcfunction
│   │       │   │   │   │   ├── coral_fan.mcfunction
│   │       │   │   │   │   ├── dead_coral_fan.mcfunction
│   │       │   │   │   │   ├── get_mainhand_data.mcfunction
│   │       │   │   │   │   ├── get_offhand_data.mcfunction
│   │       │   │   │   │   ├── interact_rcd.mcfunction
│   │       │   │   │   │   ├── lantern.mcfunction
│   │       │   │   │   │   ├── process_interaction.mcfunction
│   │       │   │   │   │   ├── redstone_torch.mcfunction
│   │       │   │   │   │   ├── soul_lantern.mcfunction
│   │       │   │   │   │   ├── soul_torch.mcfunction
│   │       │   │   │   │   ├── spore_blossom.mcfunction
│   │       │   │   │   │   ├── torch.mcfunction
│   │       │   │   │   │   └── waxed_copper_lantern.mcfunction
│   │       │   │   │   ├── unwaxed_copper_lantern/
│   │       │   │   │   │   ├── attempt_oxidization.mcfunction
│   │       │   │   │   │   ├── interact_rcd.mcfunction
│   │       │   │   │   │   ├── process_display.mcfunction
│   │       │   │   │   │   ├── process_interaction.mcfunction
│   │       │   │   │   │   ├── scrape_display.mcfunction
│   │       │   │   │   │   └── wax_display.mcfunction
│   │       │   │   │   └── waxed_copper_lantern/
│   │       │   │   │       ├── damage_mainhand_axe.mcfunction
│   │       │   │   │       ├── damage_offhand_axe.mcfunction
│   │       │   │   │       ├── interact_rcd.mcfunction
│   │       │   │   │       ├── max_durability_mainhand_axe.mcfunction
│   │       │   │   │       ├── max_durability_offhand_axe.mcfunction
│   │       │   │   │       ├── process_interaction.mcfunction
│   │       │   │   │       ├── scrape_display.mcfunction
│   │       │   │   │       ├── set_damage_mainhand.mcfunction
│   │       │   │   │       ├── set_damage_offhand.mcfunction
│   │       │   │   │       ├── used_mainhand_axe.mcfunction
│   │       │   │   │       └── used_offhand_axe.mcfunction
│   │       │   │   ├── particles/
│   │       │   │   │   ├── 1_candle.mcfunction
│   │       │   │   │   ├── 2_candle.mcfunction
│   │       │   │   │   ├── 3_candle.mcfunction
│   │       │   │   │   ├── 4_candle.mcfunction
│   │       │   │   │   ├── candle_count.mcfunction
│   │       │   │   │   └── select_type.mcfunction
│   │       │   │   └── right_click_detection/
│   │       │   │       ├── create.mcfunction
│   │       │   │       ├── found.mcfunction
│   │       │   │       ├── loop.mcfunction
│   │       │   │       ├── process.mcfunction
│   │       │   │       └── ray.mcfunction
│   │       │   ├── player/
│   │       │   │   ├── as.mcfunction
│   │       │   │   ├── holding_item.mcfunction
│   │       │   │   └── set_id.mcfunction
│   │       │   ├── tick.mcfunction
│   │       │   └── upgrade_paths/
│   │       │       ├── 3.0/
│   │       │       │   ├── update_legacy_display.mcfunction
│   │       │       │   └── upgrade_candle.mcfunction
│   │       │       ├── 3.0.mcfunction
│   │       │       ├── 3.1.mcfunction
│   │       │       └── 3.3.mcfunction
│   │       ├── guidebook/
│   │       │   └── lively_lily_pads.json
│   │       ├── predicate/
│   │       │   ├── holding_placeable_item.json
│   │       │   ├── mainhand_placeable_item.json
│   │       │   └── offhand_placeable_item.json
│   │       └── tags/
│   │           └── item/
│   │               ├── candle_igniters.json
│   │               ├── candle_interactable.json
│   │               ├── copper_lanterns.json
│   │               ├── coral_fan.json
│   │               ├── dead_coral_fan.json
│   │               ├── placeable_item.json
│   │               └── waxed_copper_lanterns.json
│   ├── mod.mcdoc
│   └── translations.csv
├── gm4_lumos_shamir/
│   ├── README.md
│   ├── assets/
│   │   └── translations.csv
│   ├── beet.yaml
│   └── data/
│       ├── gm4_lumos_shamir/
│       │   ├── function/
│       │   │   ├── active.mcfunction
│       │   │   ├── check_item_validity.mcfunction
│       │   │   ├── init.mcfunction
│       │   │   ├── main.mcfunction
│       │   │   ├── place_torch.mcfunction
│       │   │   └── summon_band.mcfunction
│       │   ├── guidebook/
│       │   │   └── lumos_shamir.json
│       │   ├── loot_table/
│       │   │   └── band.json
│       │   ├── predicate/
│       │   │   ├── check_air.json
│       │   │   ├── check_block.json
│       │   │   └── holding_lumos.json
│       │   ├── structure/
│       │   │   └── test_dark.nbt
│       │   ├── tags/
│       │   │   ├── block/
│       │   │   │   ├── torch_placeable.json
│       │   │   │   └── torch_unplaceable.json
│       │   │   └── item/
│       │   │       └── valid_items.json
│       │   └── test/
│       │       ├── already_light.mcfunction
│       │       ├── invalid_spot.mcfunction
│       │       └── place_torch.mcfunction
│       └── gm4_metallurgy/
│           └── tags/
│               └── function/
│                   ├── check_item_validity.json
│                   └── summon_band/
│                       └── curies_bismium.json
├── gm4_mending_tanks/
│   ├── README.md
│   ├── beet.yaml
│   ├── data/
│   │   ├── gm4_liquid_tanks/
│   │   │   └── tags/
│   │   │       └── function/
│   │   │           └── item_fill.json
│   │   └── gm4_mending_tanks/
│   │       ├── function/
│   │       │   ├── check_item.mcfunction
│   │       │   ├── init.mcfunction
│   │       │   ├── item_fill.mcfunction
│   │       │   └── repair.mcfunction
│   │       ├── guidebook/
│   │       │   └── mending_tanks.json
│   │       └── test/
│   │           └── repair_item.mcfunction
│   └── translations.csv
├── gm4_metallurgy/
│   ├── README.md
│   ├── assets/
│   │   ├── gm4_metallurgy/
│   │   │   ├── optifine/
│   │   │   │   ├── anim/
│   │   │   │   │   ├── aluminium/
│   │   │   │   │   │   ├── chainmail_layer_1.properties
│   │   │   │   │   │   ├── chainmail_layer_2.properties
│   │   │   │   │   │   ├── diamond_layer_1.properties
│   │   │   │   │   │   ├── diamond_layer_2.properties
│   │   │   │   │   │   ├── elytra.properties
│   │   │   │   │   │   ├── gold_layer_1.properties
│   │   │   │   │   │   ├── gold_layer_2.properties
│   │   │   │   │   │   ├── iron_layer_1.properties
│   │   │   │   │   │   ├── iron_layer_2.properties
│   │   │   │   │   │   ├── leather_layer_1.properties
│   │   │   │   │   │   ├── leather_layer_1_overlay.properties
│   │   │   │   │   │   ├── leather_layer_2.properties
│   │   │   │   │   │   ├── leather_layer_2_overlay.properties
│   │   │   │   │   │   ├── netherite_layer_1.properties
│   │   │   │   │   │   ├── netherite_layer_2.properties
│   │   │   │   │   │   └── turtle_layer_1.properties
│   │   │   │   │   ├── barimium/
│   │   │   │   │   │   ├── chainmail_layer_1.properties
│   │   │   │   │   │   ├── chainmail_layer_2.properties
│   │   │   │   │   │   ├── diamond_layer_1.properties
│   │   │   │   │   │   ├── diamond_layer_2.properties
│   │   │   │   │   │   ├── elytra.properties
│   │   │   │   │   │   ├── gold_layer_1.properties
│   │   │   │   │   │   ├── gold_layer_2.properties
│   │   │   │   │   │   ├── iron_layer_1.properties
│   │   │   │   │   │   ├── iron_layer_2.properties
│   │   │   │   │   │   ├── leather_layer_1.properties
│   │   │   │   │   │   ├── leather_layer_1_overlay.properties
│   │   │   │   │   │   ├── leather_layer_2.properties
│   │   │   │   │   │   ├── leather_layer_2_overlay.properties
│   │   │   │   │   │   ├── netherite_layer_1.properties
│   │   │   │   │   │   ├── netherite_layer_2.properties
│   │   │   │   │   │   └── turtle_layer_1.properties
│   │   │   │   │   ├── barium/
│   │   │   │   │   │   ├── chainmail_layer_1.properties
│   │   │   │   │   │   ├── chainmail_layer_2.properties
│   │   │   │   │   │   ├── diamond_layer_1.properties
│   │   │   │   │   │   ├── diamond_layer_2.properties
│   │   │   │   │   │   ├── elytra.properties
│   │   │   │   │   │   ├── gold_layer_1.properties
│   │   │   │   │   │   ├── gold_layer_2.properties
│   │   │   │   │   │   ├── iron_layer_1.properties
│   │   │   │   │   │   ├── iron_layer_2.properties
│   │   │   │   │   │   ├── leather_layer_1.properties
│   │   │   │   │   │   ├── leather_layer_1_overlay.properties
│   │   │   │   │   │   ├── leather_layer_2.properties
│   │   │   │   │   │   ├── leather_layer_2_overlay.properties
│   │   │   │   │   │   ├── netherite_layer_1.properties
│   │   │   │   │   │   ├── netherite_layer_2.properties
│   │   │   │   │   │   └── turtle_layer_1.properties
│   │   │   │   │   ├── bismuth/
│   │   │   │   │   │   ├── chainmail_layer_1.properties
│   │   │   │   │   │   ├── chainmail_layer_2.properties
│   │   │   │   │   │   ├── diamond_layer_1.properties
│   │   │   │   │   │   ├── diamond_layer_2.properties
│   │   │   │   │   │   ├── elytra.properties
│   │   │   │   │   │   ├── gold_layer_1.properties
│   │   │   │   │   │   ├── gold_layer_2.properties
│   │   │   │   │   │   ├── iron_layer_1.properties
│   │   │   │   │   │   ├── iron_layer_2.properties
│   │   │   │   │   │   ├── leather_layer_1.properties
│   │   │   │   │   │   ├── leather_layer_1_overlay.properties
│   │   │   │   │   │   ├── leather_layer_2.properties
│   │   │   │   │   │   ├── leather_layer_2_overlay.properties
│   │   │   │   │   │   ├── netherite_layer_1.properties
│   │   │   │   │   │   ├── netherite_layer_2.properties
│   │   │   │   │   │   └── turtle_layer_1.properties
│   │   │   │   │   ├── curies_bismium/
│   │   │   │   │   │   ├── chainmail_layer_1.properties
│   │   │   │   │   │   ├── chainmail_layer_2.properties
│   │   │   │   │   │   ├── diamond_layer_1.properties
│   │   │   │   │   │   ├── diamond_layer_2.properties
│   │   │   │   │   │   ├── elytra.properties
│   │   │   │   │   │   ├── gold_layer_1.properties
│   │   │   │   │   │   ├── gold_layer_2.properties
│   │   │   │   │   │   ├── iron_layer_1.properties
│   │   │   │   │   │   ├── iron_layer_2.properties
│   │   │   │   │   │   ├── leather_layer_1.properties
│   │   │   │   │   │   ├── leather_layer_1_overlay.properties
│   │   │   │   │   │   ├── leather_layer_2.properties
│   │   │   │   │   │   ├── leather_layer_2_overlay.properties
│   │   │   │   │   │   ├── netherite_layer_1.properties
│   │   │   │   │   │   ├── netherite_layer_2.properties
│   │   │   │   │   │   ├── spyglass.properties
│   │   │   │   │   │   └── turtle_layer_1.properties
│   │   │   │   │   └── thorium/
│   │   │   │   │       ├── chainmail_layer_1.properties
│   │   │   │   │       ├── chainmail_layer_2.properties
│   │   │   │   │       ├── diamond_layer_1.properties
│   │   │   │   │       ├── diamond_layer_2.properties
│   │   │   │   │       ├── elytra.properties
│   │   │   │   │       ├── gold_layer_1.properties
│   │   │   │   │       ├── gold_layer_2.properties
│   │   │   │   │       ├── iron_layer_1.properties
│   │   │   │   │       ├── iron_layer_2.properties
│   │   │   │   │       ├── leather_layer_1.properties
│   │   │   │   │       ├── leather_layer_1_overlay.properties
│   │   │   │   │       ├── leather_layer_2.properties
│   │   │   │   │       ├── leather_layer_2_overlay.properties
│   │   │   │   │       ├── netherite_layer_1.properties
│   │   │   │   │       ├── netherite_layer_2.properties
│   │   │   │   │       └── turtle_layer_1.properties
│   │   │   │   └── cit/
│   │   │   │       ├── barimium/
│   │   │   │       │   └── trident.png.mcmeta
│   │   │   │       ├── curies_bismium/
│   │   │   │       │   ├── spyglass.png.mcmeta
│   │   │   │       │   └── trident.png.mcmeta
│   │   │   │       └── thorium/
│   │   │   │           └── trident.png.mcmeta
│   │   │   └── textures/
│   │   │       └── item/
│   │   │           └── shamir/
│   │   │               ├── aluminium/
│   │   │               │   ├── axe.png.mcmeta
│   │   │               │   ├── boots.png.mcmeta
│   │   │               │   ├── broken_elytra.png.mcmeta
│   │   │               │   ├── chestplate.png.mcmeta
│   │   │               │   ├── elytra.png.mcmeta
│   │   │               │   ├── helmet.png.mcmeta
│   │   │               │   ├── hoe.png.mcmeta
│   │   │               │   ├── leather_leggings.png.mcmeta
│   │   │               │   ├── leggings.png.mcmeta
│   │   │               │   ├── netherite_helmet.png.mcmeta
│   │   │               │   ├── pickaxe.png.mcmeta
│   │   │               │   ├── shears.png.mcmeta
│   │   │               │   ├── shovel.png.mcmeta
│   │   │               │   └── turtle_helmet.png.mcmeta
│   │   │               ├── barimium/
│   │   │               │   ├── compass.png.mcmeta
│   │   │               │   ├── hoe.png.mcmeta
│   │   │               │   ├── sword.png.mcmeta
│   │   │               │   └── trident.png.mcmeta
│   │   │               ├── barium/
│   │   │               │   ├── axe.png.mcmeta
│   │   │               │   ├── chestplate.png.mcmeta
│   │   │               │   ├── compass.png.mcmeta
│   │   │               │   ├── hoe.png.mcmeta
│   │   │               │   ├── pickaxe.png.mcmeta
│   │   │               │   └── shovel.png.mcmeta
│   │   │               ├── bismuth/
│   │   │               │   ├── axe.png.mcmeta
│   │   │               │   ├── boots.png.mcmeta
│   │   │               │   ├── fishing_rod.png.mcmeta
│   │   │               │   ├── pickaxe.png.mcmeta
│   │   │               │   ├── shovel.png.mcmeta
│   │   │               │   └── sword.png.mcmeta
│   │   │               ├── curies_bismium/
│   │   │               │   ├── axe.png.mcmeta
│   │   │               │   ├── boots.png.mcmeta
│   │   │               │   ├── bow.png.mcmeta
│   │   │               │   ├── broken_elytra.png.mcmeta
│   │   │               │   ├── bucket.png.mcmeta
│   │   │               │   ├── chestplate.png.mcmeta
│   │   │               │   ├── clock.png.mcmeta
│   │   │               │   ├── compass.png.mcmeta
│   │   │               │   ├── crossbow.png.mcmeta
│   │   │               │   ├── elytra.png.mcmeta
│   │   │               │   ├── fishing_rod.png.mcmeta
│   │   │               │   ├── flint_and_steel.png.mcmeta
│   │   │               │   ├── helmet.png.mcmeta
│   │   │               │   ├── hoe.png.mcmeta
│   │   │               │   ├── leather_leggings.png.mcmeta
│   │   │               │   ├── leggings.png.mcmeta
│   │   │               │   ├── netherite_helmet.png.mcmeta
│   │   │               │   ├── pickaxe.png.mcmeta
│   │   │               │   ├── shears.png.mcmeta
│   │   │               │   ├── shovel.png.mcmeta
│   │   │               │   ├── spyglass.png.mcmeta
│   │   │               │   ├── sword.png.mcmeta
│   │   │               │   ├── trident.png.mcmeta
│   │   │               │   └── turtle_helmet.png.mcmeta
│   │   │               └── thorium/
│   │   │                   ├── boots.png.mcmeta
│   │   │                   ├── sword.png.mcmeta
│   │   │                   └── trident.png.mcmeta
│   │   ├── model_data.yaml
│   │   └── translations.csv
│   ├── beet.yaml
│   ├── data/
│   │   ├── gm4/
│   │   │   └── advancement/
│   │   │       ├── metallurgy_blast_ore.json
│   │   │       ├── metallurgy_cast.json
│   │   │       └── metallurgy_overheat_cast.json
│   │   ├── gm4_arborenda_shamir/
│   │   │   ├── function/
│   │   │   │   ├── active.mcfunction
│   │   │   │   ├── check_item_validity.mcfunction
│   │   │   │   ├── init_scoreboards.mcfunction
│   │   │   │   ├── player/
│   │   │   │   │   ├── analyze_axe.mcfunction
│   │   │   │   │   ├── check_for_axe.mcfunction
│   │   │   │   │   ├── chop.mcfunction
│   │   │   │   │   ├── modify_axe_durability.mcfunction
│   │   │   │   │   └── set_damage.mcfunction
│   │   │   │   ├── summon_band.mcfunction
│   │   │   │   └── trunk/
│   │   │   │       ├── check_depth.mcfunction
│   │   │   │       ├── destroy_block.mcfunction
│   │   │   │       ├── destroy_sequenced.mcfunction
│   │   │   │       ├── neighbors/
│   │   │   │       │   ├── mark.mcfunction
│   │   │   │       │   ├── mark_bottom.mcfunction
│   │   │   │       │   └── mark_top.mcfunction
│   │   │   │       └── next_depth.mcfunction
│   │   │   ├── guidebook/
│   │   │   │   └── arborenda_shamir.json
│   │   │   ├── loot_table/
│   │   │   │   ├── band.json
│   │   │   │   └── roll_binomial_distribution.json
│   │   │   ├── tags/
│   │   │   │   ├── block/
│   │   │   │   │   ├── foliage.json
│   │   │   │   │   └── trunks.json
│   │   │   │   └── item/
│   │   │   │       ├── trunks.json
│   │   │   │       └── valid_items.json
│   │   │   └── test/
│   │   │       └── chop.mcfunction
│   │   ├── gm4_defuse_shamir/
│   │   │   ├── function/
│   │   │   │   ├── active.mcfunction
│   │   │   │   ├── check_item_validity.mcfunction
│   │   │   │   └── summon_band.mcfunction
│   │   │   ├── guidebook/
│   │   │   │   └── defuse_shamir.json
│   │   │   ├── loot_table/
│   │   │   │   └── band.json
│   │   │   ├── tags/
│   │   │   │   └── item/
│   │   │   │       └── valid_items.json
│   │   │   └── test/
│   │   │       └── creeper_defused.mcfunction
│   │   ├── gm4_ender_bolt_shamir/
│   │   │   ├── advancement/
│   │   │   │   ├── join.json
│   │   │   │   └── use.json
│   │   │   ├── function/
│   │   │   │   ├── check_item_validity.mcfunction
│   │   │   │   ├── id/
│   │   │   │   │   ├── assign_pet.mcfunction
│   │   │   │   │   └── assign_player.mcfunction
│   │   │   │   ├── infection/
│   │   │   │   │   ├── active.mcfunction
│   │   │   │   │   ├── check_ignore_list.mcfunction
│   │   │   │   │   ├── end.mcfunction
│   │   │   │   │   ├── infect.mcfunction
│   │   │   │   │   ├── spread.mcfunction
│   │   │   │   │   ├── start.mcfunction
│   │   │   │   │   └── symptoms.mcfunction
│   │   │   │   └── summon_band.mcfunction
│   │   │   ├── guidebook/
│   │   │   │   └── ender_bolt_shamir.json
│   │   │   ├── loot_table/
│   │   │   │   └── band.json
│   │   │   ├── tags/
│   │   │   │   ├── entity_type/
│   │   │   │   │   └── pets.json
│   │   │   │   └── item/
│   │   │   │       └── valid_items.json
│   │   │   └── test/
│   │   │       └── infect_and_spread.mcfunction
│   │   ├── gm4_forterra_shamir/
│   │   │   ├── function/
│   │   │   │   ├── check_item_validity.mcfunction
│   │   │   │   └── summon_band.mcfunction
│   │   │   ├── guidebook/
│   │   │   │   └── forterra_shamir.json
│   │   │   ├── loot_table/
│   │   │   │   ├── band.json
│   │   │   │   ├── deepslate.json
│   │   │   │   └── stone.json
│   │   │   └── tags/
│   │   │       └── item/
│   │   │           └── valid_items.json
│   │   ├── gm4_gemini_shamir/
│   │   │   ├── advancement/
│   │   │   │   ├── breed_allay.json
│   │   │   │   ├── breed_armadillo.json
│   │   │   │   ├── breed_axolotl.json
│   │   │   │   ├── breed_bee.json
│   │   │   │   ├── breed_cat.json
│   │   │   │   ├── breed_chicken.json
│   │   │   │   ├── breed_cow.json
│   │   │   │   ├── breed_donkey.json
│   │   │   │   ├── breed_fox.json
│   │   │   │   ├── breed_frog.json
│   │   │   │   ├── breed_goat.json
│   │   │   │   ├── breed_hoglin.json
│   │   │   │   ├── breed_horse.json
│   │   │   │   ├── breed_llama.json
│   │   │   │   ├── breed_mooshroom.json
│   │   │   │   ├── breed_mule.json
│   │   │   │   ├── breed_ocelot.json
│   │   │   │   ├── breed_panda.json
│   │   │   │   ├── breed_pig.json
│   │   │   │   ├── breed_rabbit.json
│   │   │   │   ├── breed_sheep.json
│   │   │   │   ├── breed_strider.json
│   │   │   │   ├── breed_trader_llama.json
│   │   │   │   ├── breed_turtle.json
│   │   │   │   └── breed_wolf.json
│   │   │   ├── function/
│   │   │   │   ├── baby/
│   │   │   │   │   ├── find_baby.mcfunction
│   │   │   │   │   ├── pick_type.mcfunction
│   │   │   │   │   ├── spawn_axolotl.mcfunction
│   │   │   │   │   ├── spawn_cat.mcfunction
│   │   │   │   │   ├── spawn_chicken.mcfunction
│   │   │   │   │   ├── spawn_cow.mcfunction
│   │   │   │   │   ├── spawn_donkey.mcfunction
│   │   │   │   │   ├── spawn_fox.mcfunction
│   │   │   │   │   ├── spawn_goat.mcfunction
│   │   │   │   │   ├── spawn_horse.mcfunction
│   │   │   │   │   ├── spawn_llama.mcfunction
│   │   │   │   │   ├── spawn_mule.mcfunction
│   │   │   │   │   ├── spawn_ocelot.mcfunction
│   │   │   │   │   ├── spawn_panda.mcfunction
│   │   │   │   │   ├── spawn_pig.mcfunction
│   │   │   │   │   ├── spawn_rabbit.mcfunction
│   │   │   │   │   ├── spawn_sheep.mcfunction
│   │   │   │   │   ├── spawn_trader_llama.mcfunction
│   │   │   │   │   └── spawn_wolf.mcfunction
│   │   │   │   ├── breed/
│   │   │   │   │   ├── check_allay.mcfunction
│   │   │   │   │   ├── check_armadillo.mcfunction
│   │   │   │   │   ├── check_axolotl.mcfunction
│   │   │   │   │   ├── check_bee.mcfunction
│   │   │   │   │   ├── check_cat.mcfunction
│   │   │   │   │   ├── check_chicken.mcfunction
│   │   │   │   │   ├── check_cow.mcfunction
│   │   │   │   │   ├── check_donkey.mcfunction
│   │   │   │   │   ├── check_fox.mcfunction
│   │   │   │   │   ├── check_frog.mcfunction
│   │   │   │   │   ├── check_goat.mcfunction
│   │   │   │   │   ├── check_hoglin.mcfunction
│   │   │   │   │   ├── check_horse.mcfunction
│   │   │   │   │   ├── check_llama.mcfunction
│   │   │   │   │   ├── check_mooshroom.mcfunction
│   │   │   │   │   ├── check_ocelot.mcfunction
│   │   │   │   │   ├── check_panda.mcfunction
│   │   │   │   │   ├── check_pig.mcfunction
│   │   │   │   │   ├── check_rabbit.mcfunction
│   │   │   │   │   ├── check_sheep.mcfunction
│   │   │   │   │   ├── check_strider.mcfunction
│   │   │   │   │   ├── check_trader_llama.mcfunction
│   │   │   │   │   ├── check_turtle.mcfunction
│   │   │   │   │   └── check_wolf.mcfunction
│   │   │   │   ├── check_item_validity.mcfunction
│   │   │   │   ├── main.mcfunction
│   │   │   │   └── summon_band.mcfunction
│   │   │   ├── guidebook/
│   │   │   │   └── gemini_shamir.json
│   │   │   ├── loot_table/
│   │   │   │   └── band.json
│   │   │   ├── predicate/
│   │   │   │   ├── holding_gemini.json
│   │   │   │   └── test_is_baby.json
│   │   │   ├── tags/
│   │   │   │   └── item/
│   │   │   │       └── valid_items.json
│   │   │   └── test/
│   │   │       └── breed.mcfunction
│   │   ├── gm4_hypexperia_shamir/
│   │   │   ├── function/
│   │   │   │   ├── active.mcfunction
│   │   │   │   ├── check_item_validity.mcfunction
│   │   │   │   ├── double_xp.mcfunction
│   │   │   │   ├── find_orbs.mcfunction
│   │   │   │   └── summon_band.mcfunction
│   │   │   ├── guidebook/
│   │   │   │   └── hypexperia_shamir.json
│   │   │   ├── loot_table/
│   │   │   │   └── band.json
│   │   │   └── tags/
│   │   │       └── item/
│   │   │           └── valid_items.json
│   │   ├── gm4_infinitas_shamir/
│   │   │   ├── advancement/
│   │   │   │   ├── bucket_inventory_change.json
│   │   │   │   ├── empty/
│   │   │   │   │   ├── pickup_mainhand.json
│   │   │   │   │   └── pickup_offhand.json
│   │   │   │   ├── lava/
│   │   │   │   │   ├── place_mainhand.json
│   │   │   │   │   └── place_offhand.json
│   │   │   │   ├── milk/
│   │   │   │   │   ├── drink_mainhand.json
│   │   │   │   │   └── drink_offhand.json
│   │   │   │   ├── powder_snow/
│   │   │   │   │   ├── place_mainhand.json
│   │   │   │   │   └── place_offhand.json
│   │   │   │   ├── rejoin_bucket_check.json
│   │   │   │   └── water/
│   │   │   │       ├── pickup_fish.json
│   │   │   │       └── place.json
│   │   │   ├── function/
│   │   │   │   ├── active.mcfunction
│   │   │   │   ├── add_tags.mcfunction
│   │   │   │   ├── check_item_validity.mcfunction
│   │   │   │   ├── clock/
│   │   │   │   │   ├── active.mcfunction
│   │   │   │   │   └── inventory_check.mcfunction
│   │   │   │   ├── debug/
│   │   │   │   │   └── clear.mcfunction
│   │   │   │   ├── delayed_replace/
│   │   │   │   │   ├── call.mcfunction
│   │   │   │   │   ├── check_tag.mcfunction
│   │   │   │   │   ├── empty.mcfunction
│   │   │   │   │   ├── fish/
│   │   │   │   │   │   ├── mainhand_check.mcfunction
│   │   │   │   │   │   └── offhand_check.mcfunction
│   │   │   │   │   ├── fish.mcfunction
│   │   │   │   │   ├── lava.mcfunction
│   │   │   │   │   ├── milk.mcfunction
│   │   │   │   │   ├── powder_snow.mcfunction
│   │   │   │   │   └── water.mcfunction
│   │   │   │   ├── empty/
│   │   │   │   │   ├── check_holding.mcfunction
│   │   │   │   │   ├── check_inventory.mcfunction
│   │   │   │   │   ├── pickup.mcfunction
│   │   │   │   │   └── remove_tag.mcfunction
│   │   │   │   ├── lava/
│   │   │   │   │   ├── check_holding.mcfunction
│   │   │   │   │   ├── check_inventory.mcfunction
│   │   │   │   │   ├── place.mcfunction
│   │   │   │   │   └── remove_tag.mcfunction
│   │   │   │   ├── make_unstackable.mcfunction
│   │   │   │   ├── milk/
│   │   │   │   │   └── drink.mcfunction
│   │   │   │   ├── powder_snow/
│   │   │   │   │   ├── check_holding.mcfunction
│   │   │   │   │   ├── check_inventory.mcfunction
│   │   │   │   │   ├── place.mcfunction
│   │   │   │   │   └── remove_tag.mcfunction
│   │   │   │   ├── rejoin_check.mcfunction
│   │   │   │   ├── spiral.mcfunction
│   │   │   │   ├── summon_band.mcfunction
│   │   │   │   └── water/
│   │   │   │       ├── check_holding.mcfunction
│   │   │   │       ├── check_inventory.mcfunction
│   │   │   │       ├── pickup.mcfunction
│   │   │   │       ├── place.mcfunction
│   │   │   │       └── remove_tag.mcfunction
│   │   │   ├── guidebook/
│   │   │   │   └── infinitas_shamir.json
│   │   │   ├── item_modifier/
│   │   │   │   ├── make_unstackable.json
│   │   │   │   └── restore_shamir.json
│   │   │   ├── loot_table/
│   │   │   │   └── band.json
│   │   │   ├── predicate/
│   │   │   │   ├── mainhand/
│   │   │   │   │   ├── after/
│   │   │   │   │   │   ├── empty.json
│   │   │   │   │   │   ├── pickup/
│   │   │   │   │   │   │   ├── axolotl.json
│   │   │   │   │   │   │   ├── cod.json
│   │   │   │   │   │   │   ├── pufferfish.json
│   │   │   │   │   │   │   ├── salmon.json
│   │   │   │   │   │   │   ├── tadpole.json
│   │   │   │   │   │   │   └── tropical_fish.json
│   │   │   │   │   │   ├── use_bucket.json
│   │   │   │   │   │   ├── water.json
│   │   │   │   │   │   └── water_advancement.json
│   │   │   │   │   └── holding/
│   │   │   │   │       ├── empty.json
│   │   │   │   │       ├── lava.json
│   │   │   │   │       ├── powder_snow.json
│   │   │   │   │       └── water.json
│   │   │   │   └── offhand/
│   │   │   │       ├── after/
│   │   │   │       │   ├── empty.json
│   │   │   │       │   ├── fish.json
│   │   │   │       │   ├── pickup/
│   │   │   │       │   │   ├── axolotl.json
│   │   │   │       │   │   ├── cod.json
│   │   │   │       │   │   ├── pufferfish.json
│   │   │   │       │   │   ├── salmon.json
│   │   │   │       │   │   ├── tadpole.json
│   │   │   │       │   │   └── tropical_fish.json
│   │   │   │       │   ├── use_bucket.json
│   │   │   │       │   ├── water.json
│   │   │   │       │   └── water_advancement.json
│   │   │   │       └── holding/
│   │   │   │           ├── empty.json
│   │   │   │           ├── lava.json
│   │   │   │           ├── powder_snow.json
│   │   │   │           └── water.json
│   │   │   ├── tags/
│   │   │   │   └── item/
│   │   │   │       ├── valid_items.json
│   │   │   │       ├── valid_items_lava.json
│   │   │   │       └── valid_items_powder_snow.json
│   │   │   └── test/
│   │   │       ├── check_empty_pickup.mcfunction
│   │   │       └── check_unsmoosh_after_use.mcfunction
│   │   ├── gm4_metallurgy/
│   │   │   ├── function/
│   │   │   │   ├── casting/
│   │   │   │   │   ├── add_metal/
│   │   │   │   │   │   ├── add_aluminium.mcfunction
│   │   │   │   │   │   ├── add_barimium.mcfunction
│   │   │   │   │   │   ├── add_barium.mcfunction
│   │   │   │   │   │   ├── add_bismuth.mcfunction
│   │   │   │   │   │   ├── add_copper.mcfunction
│   │   │   │   │   │   ├── add_curies_bismium.mcfunction
│   │   │   │   │   │   ├── add_thorium.mcfunction
│   │   │   │   │   │   ├── add_thorium_brass.mcfunction
│   │   │   │   │   │   └── initialize.mcfunction
│   │   │   │   │   ├── create_mould.mcfunction
│   │   │   │   │   ├── destroy_mould.mcfunction
│   │   │   │   │   ├── finish_band.mcfunction
│   │   │   │   │   ├── overheat_mould.mcfunction
│   │   │   │   │   ├── prevent_duplicate_recast.mcfunction
│   │   │   │   │   ├── set_mould.mcfunction
│   │   │   │   │   ├── summon_band/
│   │   │   │   │   │   ├── aluminium.mcfunction
│   │   │   │   │   │   ├── barimium.mcfunction
│   │   │   │   │   │   ├── barium.mcfunction
│   │   │   │   │   │   ├── bismuth.mcfunction
│   │   │   │   │   │   ├── curies_bismium.mcfunction
│   │   │   │   │   │   └── thorium.mcfunction
│   │   │   │   │   └── sustain_mould.mcfunction
│   │   │   │   ├── init.mcfunction
│   │   │   │   ├── main.mcfunction
│   │   │   │   ├── player.mcfunction
│   │   │   │   ├── shamir_equipped.mcfunction
│   │   │   │   ├── shamir_in_hand.mcfunction
│   │   │   │   ├── smooshing/
│   │   │   │   │   ├── add_band/
│   │   │   │   │   │   ├── check.mcfunction
│   │   │   │   │   │   ├── check_item.mcfunction
│   │   │   │   │   │   └── found_item.mcfunction
│   │   │   │   │   ├── anvil/
│   │   │   │   │   │   ├── degrade/
│   │   │   │   │   │   │   ├── anvil.mcfunction
│   │   │   │   │   │   │   ├── chipped_anvil.mcfunction
│   │   │   │   │   │   │   └── damaged_anvil.mcfunction
│   │   │   │   │   │   ├── degrade.mcfunction
│   │   │   │   │   │   └── use.mcfunction
│   │   │   │   │   ├── item_on_anvil.mcfunction
│   │   │   │   │   ├── prepare_transfer.mcfunction
│   │   │   │   │   └── remove_band/
│   │   │   │   │       ├── check.mcfunction
│   │   │   │   │       ├── clear_data.mcfunction
│   │   │   │   │       ├── clear_legacy_lore.mcfunction
│   │   │   │   │       ├── found_obsidian.mcfunction
│   │   │   │   │       └── spawn_band.mcfunction
│   │   │   │   └── tick.mcfunction
│   │   │   ├── guidebook/
│   │   │   │   └── metallurgy.json
│   │   │   ├── item_modifier/
│   │   │   │   ├── mould/
│   │   │   │   │   ├── cool_empty.json
│   │   │   │   │   ├── cool_metal.json
│   │   │   │   │   ├── hot_empty.json
│   │   │   │   │   └── hot_metal.json
│   │   │   │   └── slightly_damaged_obsidian.json
│   │   │   ├── loot_table/
│   │   │   │   ├── aluminium_band.json
│   │   │   │   ├── barimium_band.json
│   │   │   │   ├── barium_band.json
│   │   │   │   ├── baryte_lump.json
│   │   │   │   ├── bauxite_lump.json
│   │   │   │   ├── bismuth_band.json
│   │   │   │   ├── bismutite_lump.json
│   │   │   │   ├── copper_band.json
│   │   │   │   ├── curies_bismium_band.json
│   │   │   │   ├── malachite_lump.json
│   │   │   │   ├── thorianite_lump.json
│   │   │   │   ├── thorium_band.json
│   │   │   │   └── thorium_brass_band.json
│   │   │   ├── predicate/
│   │   │   │   ├── arborenda_active.json
│   │   │   │   ├── carries_thorium.json
│   │   │   │   ├── defuse_active.json
│   │   │   │   ├── forterra_active.json
│   │   │   │   ├── has_shamir.json
│   │   │   │   ├── hypexperia_active.json
│   │   │   │   ├── infinitas_active.json
│   │   │   │   ├── is_castable.json
│   │   │   │   ├── is_clay_ball.json
│   │   │   │   ├── is_ender_bolt_trident.json
│   │   │   │   ├── is_obsidian.json
│   │   │   │   ├── levity_active.json
│   │   │   │   ├── moneo_active.json
│   │   │   │   ├── musical_active.json
│   │   │   │   ├── on_ground.json
│   │   │   │   ├── sensus_active.json
│   │   │   │   ├── shamir_equipped.json
│   │   │   │   ├── shamir_in_hand.json
│   │   │   │   ├── smooshing/
│   │   │   │   │   ├── anvil_damage_chance.json
│   │   │   │   │   ├── has_shamir.json
│   │   │   │   │   └── valid_item.json
│   │   │   │   ├── tinker_active.json
│   │   │   │   └── vibro_active.json
│   │   │   ├── structure/
│   │   │   │   ├── test_casting.nbt
│   │   │   │   └── test_smooshing.nbt
│   │   │   ├── tags/
│   │   │   │   └── function/
│   │   │   │       ├── apply_band.json
│   │   │   │       ├── check_item_validity.json
│   │   │   │       └── summon_band/
│   │   │   │           ├── aluminium.json
│   │   │   │           ├── barimium.json
│   │   │   │           ├── barium.json
│   │   │   │           ├── bismuth.json
│   │   │   │           ├── curies_bismium.json
│   │   │   │           └── thorium.json
│   │   │   └── test/
│   │   │       ├── cast_add_lumps.mcfunction
│   │   │       ├── cast_create_and_destroy.mcfunction
│   │   │       ├── cast_mundane.mcfunction
│   │   │       ├── cast_overheat.mcfunction
│   │   │       ├── cast_successful.mcfunction
│   │   │       └── smoosh.mcfunction
│   │   ├── gm4_moneo_shamir/
│   │   │   ├── function/
│   │   │   │   ├── active_armor_chest.mcfunction
│   │   │   │   ├── active_tool.mcfunction
│   │   │   │   ├── armor/
│   │   │   │   │   └── elytra.mcfunction
│   │   │   │   ├── check_item_validity.mcfunction
│   │   │   │   ├── store_maximum.mcfunction
│   │   │   │   ├── summon_band.mcfunction
│   │   │   │   ├── tools/
│   │   │   │   │   ├── materials/
│   │   │   │   │   │   ├── copper.mcfunction
│   │   │   │   │   │   ├── diamond.mcfunction
│   │   │   │   │   │   ├── gold.mcfunction
│   │   │   │   │   │   ├── iron.mcfunction
│   │   │   │   │   │   ├── netherite.mcfunction
│   │   │   │   │   │   ├── stone.mcfunction
│   │   │   │   │   │   └── wood.mcfunction
│   │   │   │   │   └── shears.mcfunction
│   │   │   │   └── update_netherite.mcfunction
│   │   │   ├── guidebook/
│   │   │   │   └── moneo_shamir.json
│   │   │   ├── item_modifier/
│   │   │   │   └── netherite_update.json
│   │   │   ├── loot_table/
│   │   │   │   └── band.json
│   │   │   ├── predicate/
│   │   │   │   ├── holding_moneo.json
│   │   │   │   ├── holding_netherite.json
│   │   │   │   └── wear_chest_moneo.json
│   │   │   └── tags/
│   │   │       └── item/
│   │   │           ├── netherite_tools.json
│   │   │           ├── valid_items.json
│   │   │           └── valid_tools.json
│   │   ├── gm4_musical_shamir/
│   │   │   ├── function/
│   │   │   │   ├── active.mcfunction
│   │   │   │   ├── check_item_validity.mcfunction
│   │   │   │   ├── songs/
│   │   │   │   │   ├── chirp.mcfunction
│   │   │   │   │   ├── mellohi.mcfunction
│   │   │   │   │   ├── mellohi_end.mcfunction
│   │   │   │   │   └── reset_player.mcfunction
│   │   │   │   └── summon_band.mcfunction
│   │   │   ├── guidebook/
│   │   │   │   └── musical_shamir.json
│   │   │   ├── loot_table/
│   │   │   │   └── band.json
│   │   │   ├── tags/
│   │   │   │   └── item/
│   │   │   │       └── valid_items.json
│   │   │   └── test/
│   │   │       └── gain_buff.mcfunction
│   │   ├── gm4_sensus_shamir/
│   │   │   ├── function/
│   │   │   │   ├── active.mcfunction
│   │   │   │   ├── block_search/
│   │   │   │   │   ├── mark_coal_ore.mcfunction
│   │   │   │   │   ├── mark_copper_ore.mcfunction
│   │   │   │   │   ├── mark_diamond_ore.mcfunction
│   │   │   │   │   ├── mark_emerald_ore.mcfunction
│   │   │   │   │   ├── mark_gold_ore.mcfunction
│   │   │   │   │   ├── mark_iron_ore.mcfunction
│   │   │   │   │   ├── mark_lapis_ore.mcfunction
│   │   │   │   │   ├── mark_nether/
│   │   │   │   │   │   ├── ancient_debris.mcfunction
│   │   │   │   │   │   ├── nether_gold_ore.mcfunction
│   │   │   │   │   │   └── nether_quartz_ore.mcfunction
│   │   │   │   │   ├── mark_nether_quartz_ore.mcfunction
│   │   │   │   │   ├── mark_overworld/
│   │   │   │   │   │   ├── coal_ore.mcfunction
│   │   │   │   │   │   ├── copper_ore.mcfunction
│   │   │   │   │   │   ├── deepslate_coal_ore.mcfunction
│   │   │   │   │   │   ├── deepslate_copper_ore.mcfunction
│   │   │   │   │   │   ├── deepslate_diamond_ore.mcfunction
│   │   │   │   │   │   ├── deepslate_emerald_ore.mcfunction
│   │   │   │   │   │   ├── deepslate_gold_ore.mcfunction
│   │   │   │   │   │   ├── deepslate_iron_ore.mcfunction
│   │   │   │   │   │   ├── deepslate_lapis_ore.mcfunction
│   │   │   │   │   │   ├── deepslate_redstone_ore.mcfunction
│   │   │   │   │   │   ├── diamond_ore.mcfunction
│   │   │   │   │   │   ├── emerald_ore.mcfunction
│   │   │   │   │   │   ├── gold_ore.mcfunction
│   │   │   │   │   │   ├── iron_ore.mcfunction
│   │   │   │   │   │   ├── lapis_ore.mcfunction
│   │   │   │   │   │   └── redstone_ore.mcfunction
│   │   │   │   │   ├── mark_redstone_ore.mcfunction
│   │   │   │   │   └── search.mcfunction
│   │   │   │   ├── check_item_validity.mcfunction
│   │   │   │   └── summon_band.mcfunction
│   │   │   ├── guidebook/
│   │   │   │   └── sensus_shamir.json
│   │   │   ├── loot_table/
│   │   │   │   └── band.json
│   │   │   └── tags/
│   │   │       └── item/
│   │   │           └── valid_items.json
│   │   ├── gm4_tinker_shamir/
│   │   │   ├── function/
│   │   │   │   ├── active.mcfunction
│   │   │   │   ├── check_item_validity.mcfunction
│   │   │   │   ├── compact/
│   │   │   │   │   ├── clay_ball.mcfunction
│   │   │   │   │   ├── coal.mcfunction
│   │   │   │   │   ├── copper_ingot.mcfunction
│   │   │   │   │   ├── diamond.mcfunction
│   │   │   │   │   ├── emerald.mcfunction
│   │   │   │   │   ├── gold_ingot.mcfunction
│   │   │   │   │   ├── gold_nugget.mcfunction
│   │   │   │   │   ├── iron_ingot.mcfunction
│   │   │   │   │   ├── iron_nugget.mcfunction
│   │   │   │   │   ├── lapis_lazuli.mcfunction
│   │   │   │   │   ├── melon_slice.mcfunction
│   │   │   │   │   ├── netherite_ingot.mcfunction
│   │   │   │   │   ├── raw_copper.mcfunction
│   │   │   │   │   ├── raw_gold.mcfunction
│   │   │   │   │   ├── raw_iron.mcfunction
│   │   │   │   │   ├── redstone.mcfunction
│   │   │   │   │   ├── slime_ball.mcfunction
│   │   │   │   │   ├── snowball.mcfunction
│   │   │   │   │   └── wheat.mcfunction
│   │   │   │   ├── summon_band.mcfunction
│   │   │   │   └── tool/
│   │   │   │       ├── hoe.mcfunction
│   │   │   │       ├── pickaxe.mcfunction
│   │   │   │       ├── shovel.mcfunction
│   │   │   │       └── sword.mcfunction
│   │   │   ├── guidebook/
│   │   │   │   └── tinker_shamir.json
│   │   │   ├── loot_table/
│   │   │   │   └── band.json
│   │   │   ├── predicate/
│   │   │   │   └── has_full_stack/
│   │   │   │       ├── clay_ball.json
│   │   │   │       ├── coal.json
│   │   │   │       ├── copper_ingot.json
│   │   │   │       ├── diamond.json
│   │   │   │       ├── emerald.json
│   │   │   │       ├── gold_ingot.json
│   │   │   │       ├── gold_nugget.json
│   │   │   │       ├── iron_ingot.json
│   │   │   │       ├── iron_nugget.json
│   │   │   │       ├── lapis_lazuli.json
│   │   │   │       ├── melon_slice.json
│   │   │   │       ├── netherite_ingot.json
│   │   │   │       ├── raw_copper.json
│   │   │   │       ├── raw_gold.json
│   │   │   │       ├── raw_iron.json
│   │   │   │       ├── redstone.json
│   │   │   │       ├── slime_ball.json
│   │   │   │       ├── snowball.json
│   │   │   │       └── wheat.json
│   │   │   └── tags/
│   │   │       └── item/
│   │   │           └── valid_items.json
│   │   ├── gm4_vibro_shamir/
│   │   │   ├── advancement/
│   │   │   │   └── vibro_fall_damage.json
│   │   │   ├── function/
│   │   │   │   ├── active.mcfunction
│   │   │   │   ├── check_item_validity.mcfunction
│   │   │   │   ├── desire_lines.mcfunction
│   │   │   │   ├── jump.mcfunction
│   │   │   │   ├── remove_jump.mcfunction
│   │   │   │   ├── shock/
│   │   │   │   │   ├── activate.mcfunction
│   │   │   │   │   ├── apply_mob.mcfunction
│   │   │   │   │   ├── apply_player.mcfunction
│   │   │   │   │   ├── calculate.mcfunction
│   │   │   │   │   ├── check_shock.mcfunction
│   │   │   │   │   ├── ray.mcfunction
│   │   │   │   │   ├── ray_execute.mcfunction
│   │   │   │   │   ├── revert_health.mcfunction
│   │   │   │   │   └── user.mcfunction
│   │   │   │   ├── shockwave.mcfunction
│   │   │   │   └── summon_band.mcfunction
│   │   │   ├── guidebook/
│   │   │   │   └── vibro_shamir.json
│   │   │   ├── loot_table/
│   │   │   │   └── band.json
│   │   │   ├── predicate/
│   │   │   │   ├── desire_lines_chance_high.json
│   │   │   │   ├── desire_lines_chance_low.json
│   │   │   │   └── sneak_on_ground.json
│   │   │   └── tags/
│   │   │       └── item/
│   │   │           └── valid_items.json
│   │   └── minecraft/
│   │       └── loot_table/
│   │           └── blocks/
│   │               ├── andesite.json
│   │               ├── deepslate.json
│   │               ├── diorite.json
│   │               ├── granite.json
│   │               └── stone.json
│   ├── mod.mcdoc
│   └── shamir_model_template.py
├── gm4_midnight_menaces/
│   ├── README.md
│   ├── beet.yaml
│   ├── data/
│   │   ├── gm4_enlarging_phantoms/
│   │   │   ├── function/
│   │   │   │   ├── dawn_active_check.mcfunction
│   │   │   │   ├── event.mcfunction
│   │   │   │   ├── initialise.mcfunction
│   │   │   │   ├── set_pos.mcfunction
│   │   │   │   ├── set_size.mcfunction
│   │   │   │   ├── setup.mcfunction
│   │   │   │   └── slow_clock.mcfunction
│   │   │   └── guidebook/
│   │   │       └── enlarging_phantoms.json
│   │   ├── gm4_icy_strays/
│   │   │   ├── function/
│   │   │   │   ├── event.mcfunction
│   │   │   │   ├── setup.mcfunction
│   │   │   │   └── stray_transform.mcfunction
│   │   │   ├── guidebook/
│   │   │   │   └── icy_strays.json
│   │   │   ├── loot_table/
│   │   │   │   └── entities/
│   │   │   │       └── icy_stray.json
│   │   │   └── predicate/
│   │   │       └── stray_convert_chance.json
│   │   ├── gm4_illusioner_nights/
│   │   │   ├── function/
│   │   │   │   ├── event.mcfunction
│   │   │   │   ├── illusioner_transform.mcfunction
│   │   │   │   └── setup.mcfunction
│   │   │   ├── guidebook/
│   │   │   │   └── illusioner_nights.json
│   │   │   ├── loot_table/
│   │   │   │   └── entities/
│   │   │   │       └── illusioner.json
│   │   │   ├── predicate/
│   │   │   │   └── illusioner_convert_chance.json
│   │   │   └── tags/
│   │   │       └── entity_type/
│   │   │           └── illusioner_convertable.json
│   │   ├── gm4_menacing_goblins/
│   │   │   ├── function/
│   │   │   │   ├── event.mcfunction
│   │   │   │   ├── goblin_steal/
│   │   │   │   │   ├── check_player.mcfunction
│   │   │   │   │   ├── diamond.mcfunction
│   │   │   │   │   ├── gold_ingot.mcfunction
│   │   │   │   │   └── iron_ingot.mcfunction
│   │   │   │   ├── goblin_transform.mcfunction
│   │   │   │   ├── main.mcfunction
│   │   │   │   └── setup.mcfunction
│   │   │   ├── guidebook/
│   │   │   │   └── menacing_goblins.json
│   │   │   ├── loot_table/
│   │   │   │   └── entities/
│   │   │   │       └── goblin.json
│   │   │   ├── predicate/
│   │   │   │   ├── diamond_steal_chance.json
│   │   │   │   ├── goblin_convert_chance.json
│   │   │   │   ├── gold_steal_chance.json
│   │   │   │   ├── iron_steal_chance.json
│   │   │   │   └── store_chance.json
│   │   │   └── tags/
│   │   │       └── entity_type/
│   │   │           └── goblin_convertable.json
│   │   ├── gm4_midnight_menaces/
│   │   │   └── function/
│   │   │       ├── active_night.mcfunction
│   │   │       └── init.mcfunction
│   │   ├── gm4_mysterious_midnights/
│   │   │   └── tags/
│   │   │       └── function/
│   │   │           ├── active_night.json
│   │   │           ├── end_pulse.json
│   │   │           ├── setup_common_expansion.json
│   │   │           ├── setup_rare_expansion.json
│   │   │           └── setup_uncommon_expansion.json
│   │   ├── gm4_nightmare_nights/
│   │   │   └── tags/
│   │   │       └── function/
│   │   │           └── nightmare_night_expansion.json
│   │   ├── gm4_sandy_husks/
│   │   │   ├── function/
│   │   │   │   ├── event.mcfunction
│   │   │   │   ├── husk_transform.mcfunction
│   │   │   │   └── setup.mcfunction
│   │   │   ├── guidebook/
│   │   │   │   └── sandy_husks.json
│   │   │   ├── loot_table/
│   │   │   │   └── entities/
│   │   │   │       └── sandy_husk.json
│   │   │   └── predicate/
│   │   │       └── husk_convert_chance.json
│   │   └── gm4_slime_fests/
│   │       ├── function/
│   │       │   ├── absorb_slime_ball.mcfunction
│   │       │   ├── complete_merge.mcfunction
│   │       │   ├── event.mcfunction
│   │       │   ├── mark_slime_ball.mcfunction
│   │       │   ├── merge_slimes.mcfunction
│   │       │   ├── setup.mcfunction
│   │       │   ├── slime_transform.mcfunction
│   │       │   └── spawn_slime.mcfunction
│   │       ├── guidebook/
│   │       │   └── slime_fests.json
│   │       ├── loot_table/
│   │       │   └── entities/
│   │       │       └── giant_slime.json
│   │       └── tags/
│   │           └── entity_type/
│   │               └── slime_convertable.json
│   └── translations.csv
├── gm4_monsters_unbound/
│   ├── README.md
│   ├── assets/
│   │   ├── gm4_monsters_unbound/
│   │   │   └── models/
│   │   │       └── item/
│   │   │           ├── elite_headwear/
│   │   │           │   ├── glacial.json
│   │   │           │   ├── mending.json
│   │   │           │   └── pearlescent.json
│   │   │           └── spore/
│   │   │               ├── cherry.json
│   │   │               ├── default.json
│   │   │               └── flowering.json
│   │   └── model_data.yaml
│   ├── beet.yaml
│   ├── data/
│   │   ├── gm4/
│   │   │   └── advancement/
│   │   │       ├── monsters_unbound_elite_kill.json
│   │   │       └── monsters_unbound_elite_kill_all.json
│   │   ├── gm4_monsters_unbound/
│   │   │   ├── advancement/
│   │   │   │   ├── damaged/
│   │   │   │   │   └── attack_effect/
│   │   │   │   │       ├── charging.json
│   │   │   │   │       ├── slowing.json
│   │   │   │   │       ├── toxic.json
│   │   │   │   │       └── weakness.json
│   │   │   │   └── elite/
│   │   │   │       └── on_hit.json
│   │   │   ├── function/
│   │   │   │   ├── check_item.mcfunction
│   │   │   │   ├── clocks/
│   │   │   │   │   ├── effect/
│   │   │   │   │   │   ├── fear.mcfunction
│   │   │   │   │   │   └── freeze.mcfunction
│   │   │   │   │   └── elite/
│   │   │   │   │       ├── blazing_flare.mcfunction
│   │   │   │   │       ├── glacial_death.mcfunction
│   │   │   │   │       ├── volatile_pillar.mcfunction
│   │   │   │   │       ├── vorpal_death.mcfunction
│   │   │   │   │       └── zephyr_process.mcfunction
│   │   │   │   ├── debug/
│   │   │   │   │   └── spawn_elite/
│   │   │   │   │       ├── blazing/
│   │   │   │   │       │   ├── skeleton.mcfunction
│   │   │   │   │       │   └── zombie.mcfunction
│   │   │   │   │       ├── gargantuan/
│   │   │   │   │       │   ├── skeleton.mcfunction
│   │   │   │   │       │   └── zombie.mcfunction
│   │   │   │   │       ├── glacial/
│   │   │   │   │       │   ├── skeleton.mcfunction
│   │   │   │   │       │   └── zombie.mcfunction
│   │   │   │   │       ├── mending/
│   │   │   │   │       │   ├── skeleton.mcfunction
│   │   │   │   │       │   └── zombie.mcfunction
│   │   │   │   │       ├── pearlescent/
│   │   │   │   │       │   ├── skeleton.mcfunction
│   │   │   │   │       │   └── zombie.mcfunction
│   │   │   │   │       ├── splitting/
│   │   │   │   │       │   ├── skeleton.mcfunction
│   │   │   │   │       │   └── zombie.mcfunction
│   │   │   │   │       ├── volatile/
│   │   │   │   │       │   ├── skeleton.mcfunction
│   │   │   │   │       │   └── zombie.mcfunction
│   │   │   │   │       ├── vorpal/
│   │   │   │   │       │   ├── skeleton.mcfunction
│   │   │   │   │       │   └── zombie.mcfunction
│   │   │   │   │       └── zephyr/
│   │   │   │   │           ├── skeleton.mcfunction
│   │   │   │   │           └── zombie.mcfunction
│   │   │   │   ├── effect/
│   │   │   │   │   ├── fear/
│   │   │   │   │   │   ├── apply.mcfunction
│   │   │   │   │   │   ├── playsound.mcfunction
│   │   │   │   │   │   ├── remove.mcfunction
│   │   │   │   │   │   └── tick.mcfunction
│   │   │   │   │   └── freeze/
│   │   │   │   │       ├── apply.mcfunction
│   │   │   │   │       ├── apply_chill.mcfunction
│   │   │   │   │       ├── apply_entity.mcfunction
│   │   │   │   │       ├── apply_from_slow.mcfunction
│   │   │   │   │       ├── apply_player.mcfunction
│   │   │   │   │       ├── stack_slow.mcfunction
│   │   │   │   │       ├── thaw_entity.mcfunction
│   │   │   │   │       ├── thaw_player.mcfunction
│   │   │   │   │       └── tick.mcfunction
│   │   │   │   ├── init.mcfunction
│   │   │   │   ├── main.mcfunction
│   │   │   │   ├── mob/
│   │   │   │   │   ├── init/
│   │   │   │   │   │   ├── check_mob.mcfunction
│   │   │   │   │   │   ├── elite/
│   │   │   │   │   │   │   ├── pick.mcfunction
│   │   │   │   │   │   │   └── type/
│   │   │   │   │   │   │       ├── blazing.mcfunction
│   │   │   │   │   │   │       ├── gargantuan.mcfunction
│   │   │   │   │   │   │       ├── glacial.mcfunction
│   │   │   │   │   │   │       ├── mending.mcfunction
│   │   │   │   │   │   │       ├── pearlescent.mcfunction
│   │   │   │   │   │   │       ├── splitting.mcfunction
│   │   │   │   │   │   │       ├── volatile.mcfunction
│   │   │   │   │   │   │       ├── vorpal.mcfunction
│   │   │   │   │   │   │       └── zephyr.mcfunction
│   │   │   │   │   │   ├── initialize.mcfunction
│   │   │   │   │   │   ├── mob_type/
│   │   │   │   │   │   │   ├── creeper/
│   │   │   │   │   │   │   │   ├── base.mcfunction
│   │   │   │   │   │   │   │   ├── dripstone_caves.mcfunction
│   │   │   │   │   │   │   │   ├── flowering.mcfunction
│   │   │   │   │   │   │   │   ├── mountainous.mcfunction
│   │   │   │   │   │   │   │   └── snowy.mcfunction
│   │   │   │   │   │   │   ├── enderman/
│   │   │   │   │   │   │   │   ├── base.mcfunction
│   │   │   │   │   │   │   │   ├── dripstone_caves.mcfunction
│   │   │   │   │   │   │   │   ├── flowering.mcfunction
│   │   │   │   │   │   │   │   ├── growth.mcfunction
│   │   │   │   │   │   │   │   ├── nether_wastes.mcfunction
│   │   │   │   │   │   │   │   ├── soul_sand_valley.mcfunction
│   │   │   │   │   │   │   │   ├── toxic.mcfunction
│   │   │   │   │   │   │   │   └── underground.mcfunction
│   │   │   │   │   │   │   ├── skeleton/
│   │   │   │   │   │   │   │   ├── base.mcfunction
│   │   │   │   │   │   │   │   ├── flowering.mcfunction
│   │   │   │   │   │   │   │   ├── growth.mcfunction
│   │   │   │   │   │   │   │   ├── toxic.mcfunction
│   │   │   │   │   │   │   │   └── underground.mcfunction
│   │   │   │   │   │   │   ├── spider/
│   │   │   │   │   │   │   │   ├── cave_spider.mcfunction
│   │   │   │   │   │   │   │   ├── gargantuan.mcfunction
│   │   │   │   │   │   │   │   ├── lush_caves.mcfunction
│   │   │   │   │   │   │   │   ├── spider.mcfunction
│   │   │   │   │   │   │   │   ├── toxic.mcfunction
│   │   │   │   │   │   │   │   └── underground/
│   │   │   │   │   │   │   │       ├── pick.mcfunction
│   │   │   │   │   │   │   │       └── replace_with_cave_spider.mcfunction
│   │   │   │   │   │   │   └── zombie/
│   │   │   │   │   │   │       ├── base.mcfunction
│   │   │   │   │   │   │       ├── burned_husk.mcfunction
│   │   │   │   │   │   │       ├── burned_husk_army.mcfunction
│   │   │   │   │   │   │       ├── dripstone_caves/
│   │   │   │   │   │   │       │   ├── place.mcfunction
│   │   │   │   │   │   │       │   ├── raycast.mcfunction
│   │   │   │   │   │   │       │   └── try.mcfunction
│   │   │   │   │   │   │       ├── equip_shield.mcfunction
│   │   │   │   │   │   │       ├── flowering.mcfunction
│   │   │   │   │   │   │       ├── growth.mcfunction
│   │   │   │   │   │   │       ├── mountainous.mcfunction
│   │   │   │   │   │   │       ├── reef_drowned.mcfunction
│   │   │   │   │   │   │       ├── snowy.mcfunction
│   │   │   │   │   │   │       ├── spawn_phantoms.mcfunction
│   │   │   │   │   │   │       └── underground/
│   │   │   │   │   │   │           ├── offhand_weapon.mcfunction
│   │   │   │   │   │   │           ├── pick.mcfunction
│   │   │   │   │   │   │           └── replace_with_skeleton.mcfunction
│   │   │   │   │   │   └── mob_type.mcfunction
│   │   │   │   │   └── process/
│   │   │   │   │       ├── attack_effect/
│   │   │   │   │       │   ├── charging_attack.mcfunction
│   │   │   │   │       │   ├── slowing_attack.mcfunction
│   │   │   │   │       │   ├── toxic_attack.mcfunction
│   │   │   │   │       │   └── weakness_attack.mcfunction
│   │   │   │   │       ├── cloaked_creeper.mcfunction
│   │   │   │   │       ├── elite/
│   │   │   │   │       │   ├── blazing/
│   │   │   │   │       │   │   ├── flare_damage.mcfunction
│   │   │   │   │       │   │   ├── flare_explode.mcfunction
│   │   │   │   │       │   │   ├── init_flare.mcfunction
│   │   │   │   │       │   │   ├── process.mcfunction
│   │   │   │   │       │   │   └── process_flare.mcfunction
│   │   │   │   │       │   ├── check_type.mcfunction
│   │   │   │   │       │   ├── gargantuan/
│   │   │   │   │       │   │   ├── activate.mcfunction
│   │   │   │   │       │   │   ├── eval_stats.mcfunction
│   │   │   │   │       │   │   ├── particle_ring.mcfunction
│   │   │   │   │       │   │   ├── particle_ring_big.mcfunction
│   │   │   │   │       │   │   ├── player_hit.mcfunction
│   │   │   │   │       │   │   ├── process.mcfunction
│   │   │   │   │       │   │   └── update_stats.mcfunction
│   │   │   │   │       │   ├── glacial/
│   │   │   │   │       │   │   ├── death.mcfunction
│   │   │   │   │       │   │   ├── explode.mcfunction
│   │   │   │   │       │   │   ├── process_explosion.mcfunction
│   │   │   │   │       │   │   ├── warning_pitch_loop_big.mcfunction
│   │   │   │   │       │   │   ├── warning_pitch_loop_small.mcfunction
│   │   │   │   │       │   │   └── warning_yaw_loop.mcfunction
│   │   │   │   │       │   ├── mending/
│   │   │   │   │       │   │   ├── check_los_raycast.mcfunction
│   │   │   │   │       │   │   ├── check_target.mcfunction
│   │   │   │   │       │   │   ├── particle_raycast.mcfunction
│   │   │   │   │       │   │   ├── process.mcfunction
│   │   │   │   │       │   │   └── trigger.mcfunction
│   │   │   │   │       │   ├── on_death/
│   │   │   │   │       │   │   └── run.mcfunction
│   │   │   │   │       │   ├── on_hit/
│   │   │   │   │       │   │   ├── check_mob.mcfunction
│   │   │   │   │       │   │   └── run.mcfunction
│   │   │   │   │       │   ├── pearlescent/
│   │   │   │   │       │   │   ├── get_facing.mcfunction
│   │   │   │   │       │   │   ├── laser.mcfunction
│   │   │   │   │       │   │   ├── laser_damage.mcfunction
│   │   │   │   │       │   │   ├── laser_raycast.mcfunction
│   │   │   │   │       │   │   └── process.mcfunction
│   │   │   │   │       │   ├── splitting/
│   │   │   │   │       │   │   ├── init_entity.mcfunction
│   │   │   │   │       │   │   ├── process.mcfunction
│   │   │   │   │       │   │   ├── skeleton.mcfunction
│   │   │   │   │       │   │   └── zombie.mcfunction
│   │   │   │   │       │   ├── volatile/
│   │   │   │   │       │   │   ├── death.mcfunction
│   │   │   │   │       │   │   ├── pillar_damage.mcfunction
│   │   │   │   │       │   │   ├── pillar_explode.mcfunction
│   │   │   │   │       │   │   ├── pillar_location.mcfunction
│   │   │   │   │       │   │   ├── pillar_location_y.mcfunction
│   │   │   │   │       │   │   ├── pillar_particle_ring.mcfunction
│   │   │   │   │       │   │   ├── pillar_process.mcfunction
│   │   │   │   │       │   │   └── process.mcfunction
│   │   │   │   │       │   ├── vorpal/
│   │   │   │   │       │   │   ├── fear_hit.mcfunction
│   │   │   │   │       │   │   ├── init_fear_cloud.mcfunction
│   │   │   │   │       │   │   ├── process_fear_cloud.mcfunction
│   │   │   │   │       │   │   └── warp/
│   │   │   │   │       │   │       ├── randomize.mcfunction
│   │   │   │   │       │   │       ├── run.mcfunction
│   │   │   │   │       │   │       ├── set_ypos.mcfunction
│   │   │   │   │       │   │       ├── spawn_marker.mcfunction
│   │   │   │   │       │   │       └── tp_marker.mcfunction
│   │   │   │   │       │   └── zephyr/
│   │   │   │   │       │       ├── activate.mcfunction
│   │   │   │   │       │       ├── charge_complete.mcfunction
│   │   │   │   │       │       ├── hit_when_charging.mcfunction
│   │   │   │   │       │       ├── lose_charge.mcfunction
│   │   │   │   │       │       ├── process.mcfunction
│   │   │   │   │       │       └── skeleton/
│   │   │   │   │       │           ├── arrow_burst.mcfunction
│   │   │   │   │       │           ├── get_target_pos.mcfunction
│   │   │   │   │       │           ├── init_arrow.mcfunction
│   │   │   │   │       │           └── start.mcfunction
│   │   │   │   │       ├── reveal_dripstone_trap.mcfunction
│   │   │   │   │       ├── reveal_snowy_trap.mcfunction
│   │   │   │   │       ├── spore/
│   │   │   │   │       │   ├── activate.mcfunction
│   │   │   │   │       │   ├── advance.mcfunction
│   │   │   │   │       │   ├── burn_on_head.mcfunction
│   │   │   │   │       │   ├── initialise.mcfunction
│   │   │   │   │       │   └── set_generation.mcfunction
│   │   │   │   │       └── toxic_creeper.mcfunction
│   │   │   │   ├── slow_clock.mcfunction
│   │   │   │   └── tick.mcfunction
│   │   │   ├── guidebook/
│   │   │   │   └── monsters_unbound.json
│   │   │   ├── loot_table/
│   │   │   │   ├── elite/
│   │   │   │   │   ├── glacial.json
│   │   │   │   │   ├── mending.json
│   │   │   │   │   ├── pearlescent.json
│   │   │   │   │   ├── splitting_skeleton.json
│   │   │   │   │   ├── splitting_zombie.json
│   │   │   │   │   ├── volatile.json
│   │   │   │   │   └── vorpal.json
│   │   │   │   └── mob/
│   │   │   │       ├── equip_armor/
│   │   │   │       │   └── spore.json
│   │   │   │       └── equip_arrow/
│   │   │   │           ├── skeleton_toxic.json
│   │   │   │           ├── stray_snowy.json
│   │   │   │           └── stray_toxic.json
│   │   │   ├── predicate/
│   │   │   │   ├── biome/
│   │   │   │   │   ├── burned.json
│   │   │   │   │   ├── flowering.json
│   │   │   │   │   ├── growth.json
│   │   │   │   │   ├── mountainous.json
│   │   │   │   │   ├── reef.json
│   │   │   │   │   ├── snowy.json
│   │   │   │   │   └── toxic.json
│   │   │   │   ├── chance/
│   │   │   │   │   └── spawn_phantom.json
│   │   │   │   └── technical/
│   │   │   │       ├── on_fire.json
│   │   │   │       ├── underground.json
│   │   │   │       └── valid_tp.json
│   │   │   └── tags/
│   │   │       ├── block/
│   │   │       │   └── dripstone.json
│   │   │       └── entity_type/
│   │   │           ├── elite_types.json
│   │   │           ├── modify.json
│   │   │           ├── modify_in_air.json
│   │   │           ├── skeleton_types.json
│   │   │           └── zombie_types.json
│   │   └── gm4_survival_refightalized/
│   │       └── tags/
│   │           └── function/
│   │               └── init_mob.json
│   ├── mod.mcdoc
│   └── translations.csv
├── gm4_mysterious_midnights/
│   ├── README.md
│   ├── beet.yaml
│   ├── data/
│   │   ├── gm4_falling_stars/
│   │   │   ├── function/
│   │   │   │   ├── event.mcfunction
│   │   │   │   ├── falling_star/
│   │   │   │   │   ├── accumulate_impact_points.mcfunction
│   │   │   │   │   ├── decay.mcfunction
│   │   │   │   │   ├── initilize.mcfunction
│   │   │   │   │   ├── select_spawn_location.mcfunction
│   │   │   │   │   ├── spawn.mcfunction
│   │   │   │   │   └── start_in_area.mcfunction
│   │   │   │   ├── hatch_endermite.mcfunction
│   │   │   │   ├── setup.mcfunction
│   │   │   │   └── star_shower.mcfunction
│   │   │   ├── guidebook/
│   │   │   │   └── falling_stars.json
│   │   │   ├── loot_table/
│   │   │   │   ├── endermite_egg.json
│   │   │   │   └── star_type.json
│   │   │   ├── predicate/
│   │   │   │   ├── shower_chance.json
│   │   │   │   └── spawn_chance.json
│   │   │   └── tags/
│   │   │       └── entity_type/
│   │   │           └── falling_star.json
│   │   ├── gm4_harvest_moons/
│   │   │   ├── function/
│   │   │   │   ├── dawn_active_check.mcfunction
│   │   │   │   ├── dawn_event.mcfunction
│   │   │   │   ├── event.mcfunction
│   │   │   │   └── setup.mcfunction
│   │   │   └── guidebook/
│   │   │       └── harvest_moons.json
│   │   ├── gm4_mysterious_midnights/
│   │   │   ├── function/
│   │   │   │   ├── calculate_difficulty.mcfunction
│   │   │   │   ├── end_pulse.mcfunction
│   │   │   │   ├── event_clock.mcfunction
│   │   │   │   ├── init.mcfunction
│   │   │   │   ├── main.mcfunction
│   │   │   │   ├── roll_difficulty.mcfunction
│   │   │   │   └── start_midnight.mcfunction
│   │   │   ├── guidebook/
│   │   │   │   └── mysterious_midnights.json
│   │   │   ├── predicate/
│   │   │   │   └── is_full_moon_night.json
│   │   │   └── tags/
│   │   │       └── function/
│   │   │           ├── active_night.json
│   │   │           ├── end_pulse.json
│   │   │           ├── setup_common_expansion.json
│   │   │           ├── setup_rare_expansion.json
│   │   │           └── setup_uncommon_expansion.json
│   │   ├── gm4_nightmare_nights/
│   │   │   ├── function/
│   │   │   │   ├── dawn_active_check.mcfunction
│   │   │   │   ├── dawn_event.mcfunction
│   │   │   │   ├── event.mcfunction
│   │   │   │   ├── initialise.mcfunction
│   │   │   │   └── setup.mcfunction
│   │   │   ├── guidebook/
│   │   │   │   └── nightmare_nights.json
│   │   │   └── tags/
│   │   │       └── function/
│   │   │           └── nightmare_night_expansion.json
│   │   ├── gm4_resurrecting_skeletons/
│   │   │   ├── function/
│   │   │   │   ├── absorb_bone.mcfunction
│   │   │   │   ├── event.mcfunction
│   │   │   │   ├── mark_bone.mcfunction
│   │   │   │   ├── setup.mcfunction
│   │   │   │   └── spawn_skeleton.mcfunction
│   │   │   └── guidebook/
│   │   │       └── resurrecting_skeletons.json
│   │   ├── gm4_resurrecting_zombies/
│   │   │   ├── function/
│   │   │   │   ├── absorb_rotten_flesh.mcfunction
│   │   │   │   ├── event.mcfunction
│   │   │   │   ├── mark_rotten_flesh.mcfunction
│   │   │   │   ├── setup.mcfunction
│   │   │   │   └── spawn_zombie.mcfunction
│   │   │   └── guidebook/
│   │   │       └── resurrecting_zombies.json
│   │   └── gm4_tipped_skeletons/
│   │       ├── function/
│   │       │   ├── event.mcfunction
│   │       │   ├── setup.mcfunction
│   │       │   └── tipp.mcfunction
│   │       ├── guidebook/
│   │       │   └── tipped_skeletons.json
│   │       └── loot_table/
│   │           └── tipped_type.json
│   ├── mod.mcdoc
│   └── translations.csv
├── gm4_note_block_interface/
│   ├── README.md
│   ├── beet.yaml
│   ├── data/
│   │   └── gm4_note_block_interface/
│   │       ├── advancement/
│   │       │   └── tune.json
│   │       ├── function/
│   │       │   ├── init.mcfunction
│   │       │   ├── interface/
│   │       │   │   ├── change.mcfunction
│   │       │   │   └── create.mcfunction
│   │       │   ├── play/
│   │       │   │   ├── loop.mcfunction
│   │       │   │   └── setup.mcfunction
│   │       │   ├── tick.mcfunction
│   │       │   ├── tune/
│   │       │   │   ├── loop.mcfunction
│   │       │   │   ├── setup.mcfunction
│   │       │   │   └── sneak_loop.mcfunction
│   │       │   └── tune.mcfunction
│   │       ├── guidebook/
│   │       │   └── note_block_interface.json
│   │       ├── predicate/
│   │       │   └── sneaking.json
│   │       └── test/
│   │           ├── play_note.mcfunction
│   │           ├── tune_down.mcfunction
│   │           └── tune_up.mcfunction
│   └── translations.csv
├── gm4_orb_of_ankou/
│   ├── README.md
│   ├── assets/
│   │   ├── gm4_orb_of_ankou/
│   │   │   └── optifine/
│   │   │       └── cit/
│   │   │           └── fire_sprite.properties
│   │   ├── minecraft/
│   │   │   └── optifine/
│   │   │       ├── anim/
│   │   │       │   ├── bat2.properties
│   │   │       │   ├── bat2_e.properties
│   │   │       │   ├── endermite2.properties
│   │   │       │   ├── endermite2_e.properties
│   │   │       │   ├── phantom2.properties
│   │   │       │   ├── silverfish3.properties
│   │   │       │   └── silverfish3_e.properties
│   │   │       ├── cem/
│   │   │       │   ├── bat.jem
│   │   │       │   ├── endermite.jem
│   │   │       │   └── silverfish.jem
│   │   │       └── mob/
│   │   │           ├── bat.properties
│   │   │           ├── endermite.properties
│   │   │           └── silverfish.properties
│   │   ├── model_data.yaml
│   │   └── translations.csv
│   ├── beet.yaml
│   ├── data/
│   │   ├── gm4/
│   │   │   └── advancement/
│   │   │       ├── all_pneumas.json
│   │   │       ├── create_soul_forge.json
│   │   │       ├── create_soul_shard.json
│   │   │       ├── max_orb_of_ankou.json
│   │   │       ├── obtain_soul_essence.json
│   │   │       └── soaring_pneuma.json
│   │   ├── gm4_animi_shamir/
│   │   │   └── function/
│   │   │       └── mark_orb_of_ankou.mcfunction
│   │   ├── gm4_corripio_shamir/
│   │   │   ├── function/
│   │   │   │   ├── check_item_validity.mcfunction
│   │   │   │   └── summon_band.mcfunction
│   │   │   ├── guidebook/
│   │   │   │   └── corripio_shamir.json
│   │   │   ├── loot_table/
│   │   │   │   └── band.json
│   │   │   └── tags/
│   │   │       └── item/
│   │   │           └── valid_items.json
│   │   ├── gm4_metallurgy/
│   │   │   └── tags/
│   │   │       └── function/
│   │   │           ├── check_item_validity.json
│   │   │           └── summon_band/
│   │   │               └── bismuth.json
│   │   └── gm4_orb_of_ankou/
│   │       ├── advancement/
│   │       │   ├── check_player/
│   │       │   │   ├── check_inventory.json
│   │       │   │   └── get_id.json
│   │       │   ├── recipes/
│   │       │   │   └── orb_of_ankou.json
│   │       │   └── triggers/
│   │       │       ├── damaged.json
│   │       │       ├── fire_damaged.json
│   │       │       ├── hunger_attack.json
│   │       │       ├── magic_damaged_1.json
│   │       │       ├── magic_damaged_2.json
│   │       │       ├── magic_evoker_fang.json
│   │       │       ├── poison_attack.json
│   │       │       ├── poison_effect.json
│   │       │       ├── shoot_crossbow.json
│   │       │       ├── traded.json
│   │       │       ├── wither_attack.json
│   │       │       └── wither_effect.json
│   │       ├── function/
│   │       │   ├── init.mcfunction
│   │       │   ├── main.mcfunction
│   │       │   ├── nether_main.mcfunction
│   │       │   ├── nether_tick.mcfunction
│   │       │   ├── player.mcfunction
│   │       │   ├── pneumas/
│   │       │   │   ├── advancement_triggers/
│   │       │   │   │   ├── affected_by_poison.mcfunction
│   │       │   │   │   ├── affected_by_wither.mcfunction
│   │       │   │   │   ├── hunger_attack.mcfunction
│   │       │   │   │   ├── magic_damaged_1.mcfunction
│   │       │   │   │   ├── magic_damaged_2.mcfunction
│   │       │   │   │   ├── magic_ignore.mcfunction
│   │       │   │   │   ├── player_damaged.mcfunction
│   │       │   │   │   ├── player_on_fire.mcfunction
│   │       │   │   │   ├── player_traded.mcfunction
│   │       │   │   │   ├── poison_attack.mcfunction
│   │       │   │   │   ├── shot_crossbow.mcfunction
│   │       │   │   │   └── wither_attack.mcfunction
│   │       │   │   ├── blasting.mcfunction
│   │       │   │   ├── bounding.mcfunction
│   │       │   │   ├── conjuring/
│   │       │   │   │   ├── prepare.mcfunction
│   │       │   │   │   ├── summon_fangs.mcfunction
│   │       │   │   │   ├── temp_tick.mcfunction
│   │       │   │   │   └── throw.mcfunction
│   │       │   │   ├── dashing/
│   │       │   │   │   ├── prepare.mcfunction
│   │       │   │   │   └── set_motion.mcfunction
│   │       │   │   ├── draining/
│   │       │   │   │   ├── apply_effect.mcfunction
│   │       │   │   │   └── search.mcfunction
│   │       │   │   ├── expeditious/
│   │       │   │   │   ├── attempt.mcfunction
│   │       │   │   │   ├── get_pos.mcfunction
│   │       │   │   │   ├── randomize.mcfunction
│   │       │   │   │   ├── set_ypos.mcfunction
│   │       │   │   │   └── tp_player.mcfunction
│   │       │   │   ├── feigning/
│   │       │   │   │   ├── apply.mcfunction
│   │       │   │   │   └── move_away.mcfunction
│   │       │   │   ├── magic_damaged/
│   │       │   │   │   ├── check.mcfunction
│   │       │   │   │   ├── magic_1.mcfunction
│   │       │   │   │   └── magic_2.mcfunction
│   │       │   │   ├── phasing/
│   │       │   │   │   ├── check_traversable.mcfunction
│   │       │   │   │   └── tp.mcfunction
│   │       │   │   ├── retreating.mcfunction
│   │       │   │   ├── revert_invulnerable_item.mcfunction
│   │       │   │   ├── rushing.mcfunction
│   │       │   │   ├── shrieking/
│   │       │   │   │   ├── boom.mcfunction
│   │       │   │   │   ├── boom_mob.mcfunction
│   │       │   │   │   ├── boom_player.mcfunction
│   │       │   │   │   ├── find_target.mcfunction
│   │       │   │   │   ├── player_death.mcfunction
│   │       │   │   │   └── release.mcfunction
│   │       │   │   ├── sneak/
│   │       │   │   │   ├── check.mcfunction
│   │       │   │   │   ├── sound.mcfunction
│   │       │   │   │   └── stopped.mcfunction
│   │       │   │   ├── sniffing.mcfunction
│   │       │   │   ├── soaring/
│   │       │   │   │   ├── apply.mcfunction
│   │       │   │   │   ├── ascend.mcfunction
│   │       │   │   │   ├── descend.mcfunction
│   │       │   │   │   ├── idle.mcfunction
│   │       │   │   │   ├── remove_fall_protection.mcfunction
│   │       │   │   │   └── toggle.mcfunction
│   │       │   │   ├── striding.mcfunction
│   │       │   │   ├── synergetic/
│   │       │   │   │   ├── apply.mcfunction
│   │       │   │   │   └── check_wolf.mcfunction
│   │       │   │   ├── temp_tick/
│   │       │   │   │   ├── debilitate.mcfunction
│   │       │   │   │   ├── feigning_revert.mcfunction
│   │       │   │   │   ├── freezing.mcfunction
│   │       │   │   │   ├── hawkeye.mcfunction
│   │       │   │   │   ├── magic_damaged.mcfunction
│   │       │   │   │   ├── striding.mcfunction
│   │       │   │   │   ├── striding_revert.mcfunction
│   │       │   │   │   └── tranquilizing.mcfunction
│   │       │   │   └── volatile.mcfunction
│   │       │   ├── soul_forge/
│   │       │   │   ├── create.mcfunction
│   │       │   │   ├── destroy.mcfunction
│   │       │   │   ├── entities/
│   │       │   │   │   ├── fire_sprite.mcfunction
│   │       │   │   │   ├── set_data/
│   │       │   │   │   │   ├── congealed_shard.mcfunction
│   │       │   │   │   │   ├── get_orb_pneuma.mcfunction
│   │       │   │   │   │   ├── living_orb.mcfunction
│   │       │   │   │   │   ├── loop_orb_pneumas.mcfunction
│   │       │   │   │   │   ├── randomize_motion.mcfunction
│   │       │   │   │   │   └── severed_soul.mcfunction
│   │       │   │   │   ├── summon_congealed_shard.mcfunction
│   │       │   │   │   ├── summon_extra_essence.mcfunction
│   │       │   │   │   ├── summon_extra_orb.mcfunction
│   │       │   │   │   ├── summon_extra_shard.mcfunction
│   │       │   │   │   ├── summon_failed_essence.mcfunction
│   │       │   │   │   ├── summon_glowstone_sprite.mcfunction
│   │       │   │   │   ├── summon_living_orb.mcfunction
│   │       │   │   │   ├── summon_powder_sprite.mcfunction
│   │       │   │   │   ├── summon_wandering_tear.mcfunction
│   │       │   │   │   └── withering_magic.mcfunction
│   │       │   │   ├── outputs/
│   │       │   │   │   ├── check_fuse.mcfunction
│   │       │   │   │   ├── create_shard.mcfunction
│   │       │   │   │   ├── fuse_pneuma.mcfunction
│   │       │   │   │   └── set_shard_loot.mcfunction
│   │       │   │   ├── process.mcfunction
│   │       │   │   ├── ray.mcfunction
│   │       │   │   ├── ray_backup.mcfunction
│   │       │   │   ├── recipes/
│   │       │   │   │   ├── add_blaze_powder.mcfunction
│   │       │   │   │   ├── add_first_soul_essence.mcfunction
│   │       │   │   │   ├── add_ghast_tear.mcfunction
│   │       │   │   │   ├── add_glowstone_dust.mcfunction
│   │       │   │   │   ├── add_orb.mcfunction
│   │       │   │   │   ├── add_shard.mcfunction
│   │       │   │   │   ├── add_soul_essence.mcfunction
│   │       │   │   │   ├── check_item.mcfunction
│   │       │   │   │   ├── check_orb.mcfunction
│   │       │   │   │   ├── check_shard.mcfunction
│   │       │   │   │   ├── check_soul_essence.mcfunction
│   │       │   │   │   └── initiate_recipe_amounts.mcfunction
│   │       │   │   ├── used_flint_and_steel.mcfunction
│   │       │   │   └── wither_roses/
│   │       │   │       ├── consume.mcfunction
│   │       │   │       ├── move_indicator.mcfunction
│   │       │   │       ├── particle.mcfunction
│   │       │   │       ├── steps.mcfunction
│   │       │   │       └── summon_indicator.mcfunction
│   │       │   ├── tick.mcfunction
│   │       │   └── update_tags/
│   │       │       ├── check_offhand.mcfunction
│   │       │       ├── check_pneuma.mcfunction
│   │       │       ├── player_id.mcfunction
│   │       │       └── remove_tags.mcfunction
│   │       ├── guidebook/
│   │       │   └── orb_of_ankou.json
│   │       ├── loot_table/
│   │       │   └── items/
│   │       │       ├── orb_of_ankou.json
│   │       │       └── soul_shard/
│   │       │           ├── aggressive.json
│   │       │           ├── agile.json
│   │       │           ├── anchoring.json
│   │       │           ├── bargaining.json
│   │       │           ├── bashing.json
│   │       │           ├── blasting.json
│   │       │           ├── blinding.json
│   │       │           ├── bounding.json
│   │       │           ├── bubbly.json
│   │       │           ├── conjuring.json
│   │       │           ├── dashing.json
│   │       │           ├── debilitate.json
│   │       │           ├── depriving.json
│   │       │           ├── draining.json
│   │       │           ├── enduring.json
│   │       │           ├── expeditious.json
│   │       │           ├── feathery.json
│   │       │           ├── feigning.json
│   │       │           ├── freezing.json
│   │       │           ├── gazing.json
│   │       │           ├── gliding.json
│   │       │           ├── hawkeye.json
│   │       │           ├── incombustible.json
│   │       │           ├── lifeless.json
│   │       │           ├── neutralizing.json
│   │       │           ├── phasing.json
│   │       │           ├── pricking.json
│   │       │           ├── retreating.json
│   │       │           ├── rushing.json
│   │       │           ├── scaling.json
│   │       │           ├── shrieking.json
│   │       │           ├── sniffing.json
│   │       │           ├── soaring.json
│   │       │           ├── striding.json
│   │       │           ├── synergetic.json
│   │       │           ├── tranquilizing.json
│   │       │           ├── vanishing.json
│   │       │           ├── venomous.json
│   │       │           ├── volatile.json
│   │       │           └── withering.json
│   │       ├── predicate/
│   │       │   ├── has_multiblock.json
│   │       │   ├── has_pneuma.json
│   │       │   ├── in_water.json
│   │       │   ├── matching_id.json
│   │       │   ├── on_ground.json
│   │       │   └── sniff_chance.json
│   │       ├── recipe/
│   │       │   └── orb_of_ankou.json
│   │       └── tags/
│   │           ├── entity_type/
│   │           │   ├── feigning_affected.json
│   │           │   ├── hostile.json
│   │           │   └── neutral.json
│   │           ├── function/
│   │           │   └── pneumas/
│   │           │       └── expeditious/
│   │           │           └── tp_player.json
│   │           └── item/
│   │               └── pneuma_container.json
│   ├── generate_pneumas.py
│   ├── mod.mcdoc
│   ├── pneuma_model_template.py
│   └── soul_essence.csv
├── gm4_particles_pack/
│   ├── README.md
│   ├── beet.yaml
│   ├── data/
│   │   ├── gm4_better_armour_stands/
│   │   │   └── tags/
│   │   │       └── function/
│   │   │           ├── apply_book.json
│   │   │           └── default.json
│   │   └── gm4_particles_pack/
│   │       ├── function/
│   │       │   ├── apply_book.mcfunction
│   │       │   ├── default.mcfunction
│   │       │   ├── init.mcfunction
│   │       │   ├── main.mcfunction
│   │       │   └── particle.mcfunction
│   │       └── guidebook/
│   │           └── particles_pack.json
│   └── translations.csv
├── gm4_percurro_shamir/
│   ├── README.md
│   ├── assets/
│   │   └── translations.csv
│   ├── beet.yaml
│   └── data/
│       ├── gm4_metallurgy/
│       │   └── tags/
│       │       └── function/
│       │           ├── check_item_validity.json
│       │           └── summon_band/
│       │               └── curies_bismium.json
│       └── gm4_percurro_shamir/
│           ├── advancement/
│           │   └── use.json
│           ├── function/
│           │   ├── check_item_validity.mcfunction
│           │   ├── check_teleport_destination/
│           │   │   ├── y_0.mcfunction
│           │   │   ├── y_1.mcfunction
│           │   │   ├── y_2.mcfunction
│           │   │   ├── y_3.mcfunction
│           │   │   ├── y_4.mcfunction
│           │   │   ├── y_n1.mcfunction
│           │   │   ├── y_n2.mcfunction
│           │   │   └── y_n3.mcfunction
│           │   ├── init.mcfunction
│           │   ├── search_destination.mcfunction
│           │   ├── summon_band.mcfunction
│           │   └── teleport.mcfunction
│           ├── guidebook/
│           │   └── percurro_shamir.json
│           ├── loot_table/
│           │   └── band.json
│           ├── tags/
│           │   ├── block/
│           │   │   └── valid_destination.json
│           │   └── item/
│           │       └── valid_items.json
│           └── test/
│               └── attack_player.mcfunction
├── gm4_phantom_scarecrows/
│   ├── README.md
│   ├── assets/
│   │   └── translations.csv
│   ├── beet.yaml
│   └── data/
│       ├── gm4/
│       │   └── advancement/
│       │       └── phantom_scarecrows.json
│       └── gm4_phantom_scarecrows/
│           ├── function/
│           │   ├── aim.mcfunction
│           │   ├── create.mcfunction
│           │   ├── explode.mcfunction
│           │   ├── init.mcfunction
│           │   ├── main.mcfunction
│           │   ├── propulsion.mcfunction
│           │   ├── shoot.mcfunction
│           │   └── tick.mcfunction
│           ├── guidebook/
│           │   └── phantom_scarecrows.json
│           ├── tags/
│           │   └── item/
│           │       └── skulls.json
│           └── test/
│               └── kill_phantom.mcfunction
├── gm4_pig_tractors/
│   ├── README.md
│   ├── assets/
│   │   └── translations.csv
│   ├── beet.yaml
│   └── data/
│       ├── gm4/
│       │   └── advancement/
│       │       └── pig_tractors.json
│       └── gm4_pig_tractors/
│           ├── advancement/
│           │   └── block_detection/
│           │       ├── air.json
│           │       ├── beetroots.json
│           │       ├── carrots.json
│           │       ├── empty_farmland.json
│           │       ├── potatoes.json
│           │       └── wheat.json
│           ├── function/
│           │   ├── harvest/
│           │   │   ├── beetroots.mcfunction
│           │   │   ├── block/
│           │   │   │   ├── beetroots.mcfunction
│           │   │   │   ├── carrots.mcfunction
│           │   │   │   ├── potatoes.mcfunction
│           │   │   │   └── wheat.mcfunction
│           │   │   ├── carrots.mcfunction
│           │   │   ├── empty_farmland.mcfunction
│           │   │   ├── potatoes.mcfunction
│           │   │   └── wheat.mcfunction
│           │   ├── init.mcfunction
│           │   ├── plant/
│           │   │   ├── block/
│           │   │   │   ├── beetroots.mcfunction
│           │   │   │   ├── carrots.mcfunction
│           │   │   │   ├── potatoes.mcfunction
│           │   │   │   └── wheat.mcfunction
│           │   │   ├── item/
│           │   │   │   ├── beetroot_seeds.mcfunction
│           │   │   │   ├── carrot.mcfunction
│           │   │   │   ├── potato.mcfunction
│           │   │   │   └── wheat_seeds.mcfunct

================================================
FILE CONTENTS
================================================

================================================
FILE: .github/FUNDING.yml
================================================
# These are supported funding model platforms

patreon: gamemode4


================================================
FILE: .github/ISSUE_TEMPLATE/bug_report.md
================================================
---
name: Bug report
about: Report broken or unintended behavior
title: ''
labels: bug, needs investigation
assignees: ''

---

**Describe the bug**
Tell us how this bug affects gameplay.

**To Reproduce**
Steps to reproduce the behavior:
1. Spawn a cat and '...'
2. Drop '....' onto the cat
3. Watch the cat eat '....'
4. cat.mcfunction stops working

**Expected behavior**
Describe what you expected to happen.

**Fix**
Outline how this bug could be fixed.

**Screenshots**
If applicable, add screenshots to help others understand your problem.

**Environment**
 - Minecraft version:
 - Server version:
 - Installed Datapacks:
 - Installed Mods:

**Additional context**
Add any other context about the problem here.


================================================
FILE: .github/ISSUE_TEMPLATE/feat_request.md
================================================
---
name: Feature Request
about: Request a feature / change to a data pack
title: ''
labels: feature-update
assignees: ''

---

**Describe the feature**
Give a headline summary of the feature.
- What is the motivation
- What data pack does it affect
- Does credit need to be given?
- Can you link to a discussion on Discord about it?


================================================
FILE: .github/workflows/main.yml
================================================
name: Build modules

on:
  push:
    branches: [ master, ver/* ]
  pull_request:
  workflow_dispatch:

env:
  VERSION: '26.1'
  COMMIT_MSG: ${{ github.event.head_commit.message }}

jobs:
  build:
    runs-on: ubuntu-24.04
    concurrency:
      group: ${{ github.event_name != 'pull_request' && 'release' || format('pr-{0}', github.event.number) }}
    steps:
      - uses: actions/checkout@v4

      - name: Checkout release branch
        if: github.event_name != 'pull_request'
        uses: actions/checkout@v4
        with:
          ref: release
          path: release

      - name: Fetch pull request base
        if: github.event_name == 'pull_request'
        run: git fetch origin ${{ github.base_ref }}

      - name: Set up uv
        uses: astral-sh/setup-uv@v7

      - name: Build and publish all modules
        if: github.event_name != 'pull_request'
        run: uv run beet -p beet-release.yaml -l ${{ env.LOG_LEVEL }} build
        env:
          BEET_MODRINTH_TOKEN: ${{ secrets.MODRINTH_TOKEN }}
          BEET_SMITHED_TOKEN: ${{ secrets.SMITHED_TOKEN }}
          LOG_LEVEL: ${{ runner.debug == 1 && 'DEBUG' || 'INFO'}}
          MASTER_BUILD: true

      - name: Build all modules for pull request
        if: github.event_name == 'pull_request'
        run: uv run beet -p beet-release.yaml -l ${{ env.LOG_LEVEL }} build
        env:
          LOG_LEVEL: ${{ runner.debug == 1 && 'DEBUG' || 'INFO'}}

      - name: Remove non-modules for artifact
        if: github.event_name == 'pull_request'
        run: |
          rm -r release/$VERSION/generated
          rm release/$VERSION/lib_*
          rm release/$VERSION/meta.json

      - name: Upload artifact
        if: github.event_name == 'pull_request'
        uses: actions/upload-artifact@v4
        with:
          name: 'Modules for pull request #${{ github.event.number }}'
          path: ${{ github.workspace }}/release/${{ env.VERSION }}/

      - name: Commit release
        if: github.event_name != 'pull_request'
        run: |
          git config --global user.email "${{ github.event.head_commit.author.email }}"
          git config --global user.name "${{ github.event.head_commit.author.username }}"
          cd release
          git add .
          git commit -m "🚀 ${{ github.event.after }} $COMMIT_MSG"

      - name: Push release
        if: github.event_name != 'pull_request'
        uses: ad-m/github-push-action@v0.8.0
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}
          directory: release
          branch: release

  test:
    strategy:
      fail-fast: false
      matrix:
        include:
          # https://fabricmc.net/use/server/
          # https://modrinth.com/mod/fabric-api/versions
          # https://modrinth.com/mod/packtest/versions
          - version: '26.1'
            fabric_server_url: https://meta.fabricmc.net/v2/versions/loader/26.1-snapshot-6/0.18.4/1.1.1/server/jar
            fabric_api_url: https://cdn.modrinth.com/data/P7dR8mSH/versions/WAZ95Yd8/fabric-api-0.143.2%2B26.1.jar
            packtest_url: https://cdn.modrinth.com/data/XsKUhp45/versions/eupLiv70/packtest-2.5.0-beta1.jar
            command_limit_tracer_url: https://cdn.modrinth.com/data/Ao12dSbt/versions/DxBN5h3K/commandlimittracer-0.2.0.jar
    name: 'test-${{ matrix.version }}'
    runs-on: ubuntu-24.04
    steps:
      - uses: actions/checkout@v4

      - name: Set up uv
        uses: astral-sh/setup-uv@v7

      - name: Build all modules for tests
        run: uv run beet -p beet-test.yaml -l ${{ env.LOG_LEVEL }} build
        env:
          LOG_LEVEL: ${{ runner.debug == 1 && 'DEBUG' || 'INFO'}}

      - name: Setup Java
        uses: actions/setup-java@v4
        with:
          distribution: 'temurin'
          java-version: '25'

      - name: Download server files
        run: |
          curl -o server.jar ${{ matrix.fabric_server_url }}
          mkdir mods
          curl -o mods/fabric-api.jar ${{ matrix.fabric_api_url }}
          curl -o mods/packtest.jar ${{ matrix.packtest_url }}
          curl -o mods/command_limit_tracer.jar ${{ matrix.command_limit_tracer_url }}

      - name: Copy packs to world
        run: |
          mkdir -p world/datapacks
          rm out/gm4_zauber_liquids.zip
          cp out/gm4_*.zip world/datapacks

      - name: Run test server
        id: run-tests
        run: |
          java -Xmx2G -Dpacktest.auto -Dpacktest.auto.annotations -jar server.jar nogui

      - name: Upload test world
        if: ${{ failure() && steps.run-tests.conclusion == 'failure' }}
        uses: actions/upload-artifact@v4
        with:
          name: 'Test world in ${{ matrix.version }} for ${{ github.sha }}'
          path: ${{ github.workspace }}/world/


================================================
FILE: .gitignore
================================================
### macOS ###
.DS_Store
.AppleDouble
.LSOverride

### Libre Office ###
.~lock.*

### Python ###
__pycache__/
*.py[cod]
*$py.class
*.egg-info/

### Beet ###
out/
release/
.beet_cache/


================================================
FILE: .python-version
================================================
3.14


================================================
FILE: .vscode/settings.json
================================================
{
	"files.insertFinalNewline": true,
	"files.trimFinalNewlines": true
}


================================================
FILE: .vscode/tasks.json
================================================
{
	// See https://go.microsoft.com/fwlink/?LinkId=733558
	// for the documentation about the tasks.json format
	"version": "2.0.0",
	"tasks": [
		{
			"label": "Develop module",
			"type": "shell",
			"command": "beet",
			"args": ["--set", "'meta.dev=${input:module}'", "watch", "--link", "'${input:world}'"],
			"group": "build",
			"presentation": {
				"reveal": "always",
				"panel": "shared"
			},
			"isBackground": true,
			"problemMatcher": {
				"pattern": {
					"regexp": "^dewrhfguyrwedjwgfw(.)(.)(.)(.)(.)$"
				},
				"background": {
					"activeOnStart": true,
					"beginsPattern": "(\\d+ changes detected|Edited '.*')",
					"endsPattern": "\\[GM4\\] Generated development pack"
				}
			}
		}
	],
	"inputs": [
		{
			"id": "world",
			"type": "promptString",
			"description": "What world save should it be linked to?",
		},
		{
			"id": "module",
			"type": "promptString",
			"description": "Which module should be watched?",
			"default": "bat_grenades",
		}
	]
}


================================================
FILE: LICENSE.md
================================================
                    GNU GENERAL PUBLIC LICENSE
                       Version 3, 29 June 2007

 Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
 Everyone is permitted to copy and distribute verbatim copies
 of this license document, but changing it is not allowed.

                            Preamble

  The GNU General Public License is a free, copyleft license for
software and other kinds of works.

  The licenses for most software and other practical works are designed
to take away your freedom to share and change the works.  By contrast,
the GNU General Public License is intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users.  We, the Free Software Foundation, use the
GNU General Public License for most of our software; it applies also to
any other work released this way by its authors.  You can apply it to
your programs, too.

  When we speak of free software, we are referring to freedom, not
price.  Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.

  To protect your rights, we need to prevent others from denying you
these rights or asking you to surrender the rights.  Therefore, you have
certain responsibilities if you distribute copies of the software, or if
you modify it: responsibilities to respect the freedom of others.

  For example, if you distribute copies of such a program, whether
gratis or for a fee, you must pass on to the recipients the same
freedoms that you received.  You must make sure that they, too, receive
or can get the source code.  And you must show them these terms so they
know their rights.

  Developers that use the GNU GPL protect your rights with two steps:
(1) assert copyright on the software, and (2) offer you this License
giving you legal permission to copy, distribute and/or modify it.

  For the developers' and authors' protection, the GPL clearly explains
that there is no warranty for this free software.  For both users' and
authors' sake, the GPL requires that modified versions be marked as
changed, so that their problems will not be attributed erroneously to
authors of previous versions.

  Some devices are designed to deny users access to install or run
modified versions of the software inside them, although the manufacturer
can do so.  This is fundamentally incompatible with the aim of
protecting users' freedom to change the software.  The systematic
pattern of such abuse occurs in the area of products for individuals to
use, which is precisely where it is most unacceptable.  Therefore, we
have designed this version of the GPL to prohibit the practice for those
products.  If such problems arise substantially in other domains, we
stand ready to extend this provision to those domains in future versions
of the GPL, as needed to protect the freedom of users.

  Finally, every program is threatened constantly by software patents.
States should not allow patents to restrict development and use of
software on general-purpose computers, but in those that do, we wish to
avoid the special danger that patents applied to a free program could
make it effectively proprietary.  To prevent this, the GPL assures that
patents cannot be used to render the program non-free.

  The precise terms and conditions for copying, distribution and
modification follow.

                       TERMS AND CONDITIONS

  0. Definitions.

  "This License" refers to version 3 of the GNU General Public License.

  "Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.

  "The Program" refers to any copyrightable work licensed under this
License.  Each licensee is addressed as "you".  "Licensees" and
"recipients" may be individuals or organizations.

  To "modify" a work means to copy from or adapt all or part of the work
in a fashion requiring copyright permission, other than the making of an
exact copy.  The resulting work is called a "modified version" of the
earlier work or a work "based on" the earlier work.

  A "covered work" means either the unmodified Program or a work based
on the Program.

  To "propagate" a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it on a
computer or modifying a private copy.  Propagation includes copying,
distribution (with or without modification), making available to the
public, and in some countries other activities as well.

  To "convey" a work means any kind of propagation that enables other
parties to make or receive copies.  Mere interaction with a user through
a computer network, with no transfer of a copy, is not conveying.

  An interactive user interface displays "Appropriate Legal Notices"
to the extent that it includes a convenient and prominently visible
feature that (1) displays an appropriate copyright notice, and (2)
tells the user that there is no warranty for the work (except to the
extent that warranties are provided), that licensees may convey the
work under this License, and how to view a copy of this License.  If
the interface presents a list of user commands or options, such as a
menu, a prominent item in the list meets this criterion.

  1. Source Code.

  The "source code" for a work means the preferred form of the work
for making modifications to it.  "Object code" means any non-source
form of a work.

  A "Standard Interface" means an interface that either is an official
standard defined by a recognized standards body, or, in the case of
interfaces specified for a particular programming language, one that
is widely used among developers working in that language.

  The "System Libraries" of an executable work include anything, other
than the work as a whole, that (a) is included in the normal form of
packaging a Major Component, but which is not part of that Major
Component, and (b) serves only to enable use of the work with that
Major Component, or to implement a Standard Interface for which an
implementation is available to the public in source code form.  A
"Major Component", in this context, means a major essential component
(kernel, window system, and so on) of the specific operating system
(if any) on which the executable work runs, or a compiler used to
produce the work, or an object code interpreter used to run it.

  The "Corresponding Source" for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts to
control those activities.  However, it does not include the work's
System Libraries, or general-purpose tools or generally available free
programs which are used unmodified in performing those activities but
which are not part of the work.  For example, Corresponding Source
includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require,
such as by intimate data communication or control flow between those
subprograms and other parts of the work.

  The Corresponding Source need not include anything that users
can regenerate automatically from other parts of the Corresponding
Source.

  The Corresponding Source for a work in source code form is that
same work.

  2. Basic Permissions.

  All rights granted under this License are granted for the term of
copyright on the Program, and are irrevocable provided the stated
conditions are met.  This License explicitly affirms your unlimited
permission to run the unmodified Program.  The output from running a
covered work is covered by this License only if the output, given its
content, constitutes a covered work.  This License acknowledges your
rights of fair use or other equivalent, as provided by copyright law.

  You may make, run and propagate covered works that you do not
convey, without conditions so long as your license otherwise remains
in force.  You may convey covered works to others for the sole purpose
of having them make modifications exclusively for you, or provide you
with facilities for running those works, provided that you comply with
the terms of this License in conveying all material for which you do
not control copyright.  Those thus making or running the covered works
for you must do so exclusively on your behalf, under your direction
and control, on terms that prohibit them from making any copies of
your copyrighted material outside their relationship with you.

  Conveying under any other circumstances is permitted solely under
the conditions stated below.  Sublicensing is not allowed; section 10
makes it unnecessary.

  3. Protecting Users' Legal Rights From Anti-Circumvention Law.

  No covered work shall be deemed part of an effective technological
measure under any applicable law fulfilling obligations under article
11 of the WIPO copyright treaty adopted on 20 December 1996, or
similar laws prohibiting or restricting circumvention of such
measures.

  When you convey a covered work, you waive any legal power to forbid
circumvention of technological measures to the extent such circumvention
is effected by exercising rights under this License with respect to
the covered work, and you disclaim any intention to limit operation or
modification of the work as a means of enforcing, against the work's
users, your or third parties' legal rights to forbid circumvention of
technological measures.

  4. Conveying Verbatim Copies.

  You may convey verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice;
keep intact all notices stating that this License and any
non-permissive terms added in accord with section 7 apply to the code;
keep intact all notices of the absence of any warranty; and give all
recipients a copy of this License along with the Program.

  You may charge any price or no price for each copy that you convey,
and you may offer support or warranty protection for a fee.

  5. Conveying Modified Source Versions.

  You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
terms of section 4, provided that you also meet all of these conditions:

    a) The work must carry prominent notices stating that you modified
    it, and giving a relevant date.

    b) The work must carry prominent notices stating that it is
    released under this License and any conditions added under section
    7.  This requirement modifies the requirement in section 4 to
    "keep intact all notices".

    c) You must license the entire work, as a whole, under this
    License to anyone who comes into possession of a copy.  This
    License will therefore apply, along with any applicable section 7
    additional terms, to the whole of the work, and all its parts,
    regardless of how they are packaged.  This License gives no
    permission to license the work in any other way, but it does not
    invalidate such permission if you have separately received it.

    d) If the work has interactive user interfaces, each must display
    Appropriate Legal Notices; however, if the Program has interactive
    interfaces that do not display Appropriate Legal Notices, your
    work need not make them do so.

  A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
"aggregate" if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation's users
beyond what the individual works permit.  Inclusion of a covered work
in an aggregate does not cause this License to apply to the other
parts of the aggregate.

  6. Conveying Non-Source Forms.

  You may convey a covered work in object code form under the terms
of sections 4 and 5, provided that you also convey the
machine-readable Corresponding Source under the terms of this License,
in one of these ways:

    a) Convey the object code in, or embodied in, a physical product
    (including a physical distribution medium), accompanied by the
    Corresponding Source fixed on a durable physical medium
    customarily used for software interchange.

    b) Convey the object code in, or embodied in, a physical product
    (including a physical distribution medium), accompanied by a
    written offer, valid for at least three years and valid for as
    long as you offer spare parts or customer support for that product
    model, to give anyone who possesses the object code either (1) a
    copy of the Corresponding Source for all the software in the
    product that is covered by this License, on a durable physical
    medium customarily used for software interchange, for a price no
    more than your reasonable cost of physically performing this
    conveying of source, or (2) access to copy the
    Corresponding Source from a network server at no charge.

    c) Convey individual copies of the object code with a copy of the
    written offer to provide the Corresponding Source.  This
    alternative is allowed only occasionally and noncommercially, and
    only if you received the object code with such an offer, in accord
    with subsection 6b.

    d) Convey the object code by offering access from a designated
    place (gratis or for a charge), and offer equivalent access to the
    Corresponding Source in the same way through the same place at no
    further charge.  You need not require recipients to copy the
    Corresponding Source along with the object code.  If the place to
    copy the object code is a network server, the Corresponding Source
    may be on a different server (operated by you or a third party)
    that supports equivalent copying facilities, provided you maintain
    clear directions next to the object code saying where to find the
    Corresponding Source.  Regardless of what server hosts the
    Corresponding Source, you remain obligated to ensure that it is
    available for as long as needed to satisfy these requirements.

    e) Convey the object code using peer-to-peer transmission, provided
    you inform other peers where the object code and Corresponding
    Source of the work are being offered to the general public at no
    charge under subsection 6d.

  A separable portion of the object code, whose source code is excluded
from the Corresponding Source as a System Library, need not be
included in conveying the object code work.

  A "User Product" is either (1) a "consumer product", which means any
tangible personal property which is normally used for personal, family,
or household purposes, or (2) anything designed or sold for incorporation
into a dwelling.  In determining whether a product is a consumer product,
doubtful cases shall be resolved in favor of coverage.  For a particular
product received by a particular user, "normally used" refers to a
typical or common use of that class of product, regardless of the status
of the particular user or of the way in which the particular user
actually uses, or expects or is expected to use, the product.  A product
is a consumer product regardless of whether the product has substantial
commercial, industrial or non-consumer uses, unless such uses represent
the only significant mode of use of the product.

  "Installation Information" for a User Product means any methods,
procedures, authorization keys, or other information required to install
and execute modified versions of a covered work in that User Product from
a modified version of its Corresponding Source.  The information must
suffice to ensure that the continued functioning of the modified object
code is in no case prevented or interfered with solely because
modification has been made.

  If you convey an object code work under this section in, or with, or
specifically for use in, a User Product, and the conveying occurs as
part of a transaction in which the right of possession and use of the
User Product is transferred to the recipient in perpetuity or for a
fixed term (regardless of how the transaction is characterized), the
Corresponding Source conveyed under this section must be accompanied
by the Installation Information.  But this requirement does not apply
if neither you nor any third party retains the ability to install
modified object code on the User Product (for example, the work has
been installed in ROM).

  The requirement to provide Installation Information does not include a
requirement to continue to provide support service, warranty, or updates
for a work that has been modified or installed by the recipient, or for
the User Product in which it has been modified or installed.  Access to a
network may be denied when the modification itself materially and
adversely affects the operation of the network or violates the rules and
protocols for communication across the network.

  Corresponding Source conveyed, and Installation Information provided,
in accord with this section must be in a format that is publicly
documented (and with an implementation available to the public in
source code form), and must require no special password or key for
unpacking, reading or copying.

  7. Additional Terms.

  "Additional permissions" are terms that supplement the terms of this
License by making exceptions from one or more of its conditions.
Additional permissions that are applicable to the entire Program shall
be treated as though they were included in this License, to the extent
that they are valid under applicable law.  If additional permissions
apply only to part of the Program, that part may be used separately
under those permissions, but the entire Program remains governed by
this License without regard to the additional permissions.

  When you convey a copy of a covered work, you may at your option
remove any additional permissions from that copy, or from any part of
it.  (Additional permissions may be written to require their own
removal in certain cases when you modify the work.)  You may place
additional permissions on material, added by you to a covered work,
for which you have or can give appropriate copyright permission.

  Notwithstanding any other provision of this License, for material you
add to a covered work, you may (if authorized by the copyright holders of
that material) supplement the terms of this License with terms:

    a) Disclaiming warranty or limiting liability differently from the
    terms of sections 15 and 16 of this License; or

    b) Requiring preservation of specified reasonable legal notices or
    author attributions in that material or in the Appropriate Legal
    Notices displayed by works containing it; or

    c) Prohibiting misrepresentation of the origin of that material, or
    requiring that modified versions of such material be marked in
    reasonable ways as different from the original version; or

    d) Limiting the use for publicity purposes of names of licensors or
    authors of the material; or

    e) Declining to grant rights under trademark law for use of some
    trade names, trademarks, or service marks; or

    f) Requiring indemnification of licensors and authors of that
    material by anyone who conveys the material (or modified versions of
    it) with contractual assumptions of liability to the recipient, for
    any liability that these contractual assumptions directly impose on
    those licensors and authors.

  All other non-permissive additional terms are considered "further
restrictions" within the meaning of section 10.  If the Program as you
received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further
restriction, you may remove that term.  If a license document contains
a further restriction but permits relicensing or conveying under this
License, you may add to a covered work material governed by the terms
of that license document, provided that the further restriction does
not survive such relicensing or conveying.

  If you add terms to a covered work in accord with this section, you
must place, in the relevant source files, a statement of the
additional terms that apply to those files, or a notice indicating
where to find the applicable terms.

  Additional terms, permissive or non-permissive, may be stated in the
form of a separately written license, or stated as exceptions;
the above requirements apply either way.

  8. Termination.

  You may not propagate or modify a covered work except as expressly
provided under this License.  Any attempt otherwise to propagate or
modify it is void, and will automatically terminate your rights under
this License (including any patent licenses granted under the third
paragraph of section 11).

  However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
provisionally, unless and until the copyright holder explicitly and
finally terminates your license, and (b) permanently, if the copyright
holder fails to notify you of the violation by some reasonable means
prior to 60 days after the cessation.

  Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.

  Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License.  If your rights have been terminated and not permanently
reinstated, you do not qualify to receive new licenses for the same
material under section 10.

  9. Acceptance Not Required for Having Copies.

  You are not required to accept this License in order to receive or
run a copy of the Program.  Ancillary propagation of a covered work
occurring solely as a consequence of using peer-to-peer transmission
to receive a copy likewise does not require acceptance.  However,
nothing other than this License grants you permission to propagate or
modify any covered work.  These actions infringe copyright if you do
not accept this License.  Therefore, by modifying or propagating a
covered work, you indicate your acceptance of this License to do so.

  10. Automatic Licensing of Downstream Recipients.

  Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License.  You are not responsible
for enforcing compliance by third parties with this License.

  An "entity transaction" is a transaction transferring control of an
organization, or substantially all assets of one, or subdividing an
organization, or merging organizations.  If propagation of a covered
work results from an entity transaction, each party to that
transaction who receives a copy of the work also receives whatever
licenses to the work the party's predecessor in interest had or could
give under the previous paragraph, plus a right to possession of the
Corresponding Source of the work from the predecessor in interest, if
the predecessor has it or can get it with reasonable efforts.

  You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License.  For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it.

  11. Patents.

  A "contributor" is a copyright holder who authorizes use under this
License of the Program or a work on which the Program is based.  The
work thus licensed is called the contributor's "contributor version".

  A contributor's "essential patent claims" are all patent claims
owned or controlled by the contributor, whether already acquired or
hereafter acquired, that would be infringed by some manner, permitted
by this License, of making, using, or selling its contributor version,
but do not include claims that would be infringed only as a
consequence of further modification of the contributor version.  For
purposes of this definition, "control" includes the right to grant
patent sublicenses in a manner consistent with the requirements of
this License.

  Each contributor grants you a non-exclusive, worldwide, royalty-free
patent license under the contributor's essential patent claims, to
make, use, sell, offer for sale, import and otherwise run, modify and
propagate the contents of its contributor version.

  In the following three paragraphs, a "patent license" is any express
agreement or commitment, however denominated, not to enforce a patent
(such as an express permission to practice a patent or covenant not to
sue for patent infringement).  To "grant" such a patent license to a
party means to make such an agreement or commitment not to enforce a
patent against the party.

  If you convey a covered work, knowingly relying on a patent license,
and the Corresponding Source of the work is not available for anyone
to copy, free of charge and under the terms of this License, through a
publicly available network server or other readily accessible means,
then you must either (1) cause the Corresponding Source to be so
available, or (2) arrange to deprive yourself of the benefit of the
patent license for this particular work, or (3) arrange, in a manner
consistent with the requirements of this License, to extend the patent
license to downstream recipients.  "Knowingly relying" means you have
actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient's use of the covered work
in a country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid.

  If, pursuant to or in connection with a single transaction or
arrangement, you convey, or propagate by procuring conveyance of, a
covered work, and grant a patent license to some of the parties
receiving the covered work authorizing them to use, propagate, modify
or convey a specific copy of the covered work, then the patent license
you grant is automatically extended to all recipients of the covered
work and works based on it.

  A patent license is "discriminatory" if it does not include within
the scope of its coverage, prohibits the exercise of, or is
conditioned on the non-exercise of one or more of the rights that are
specifically granted under this License.  You may not convey a covered
work if you are a party to an arrangement with a third party that is
in the business of distributing software, under which you make payment
to the third party based on the extent of your activity of conveying
the work, and under which the third party grants, to any of the
parties who would receive the covered work from you, a discriminatory
patent license (a) in connection with copies of the covered work
conveyed by you (or copies made from those copies), or (b) primarily
for and in connection with specific products or compilations that
contain the covered work, unless you entered into that arrangement,
or that patent license was granted, prior to 28 March 2007.

  Nothing in this License shall be construed as excluding or limiting
any implied license or other defenses to infringement that may
otherwise be available to you under applicable patent law.

  12. No Surrender of Others' Freedom.

  If conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License.  If you cannot convey a
covered work so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you may
not convey it at all.  For example, if you agree to terms that obligate you
to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.

  13. Use with the GNU Affero General Public License.

  Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU Affero General Public License into a single
combined work, and to convey the resulting work.  The terms of this
License will continue to apply to the part which is the covered work,
but the special requirements of the GNU Affero General Public License,
section 13, concerning interaction through a network will apply to the
combination as such.

  14. Revised Versions of this License.

  The Free Software Foundation may publish revised and/or new versions of
the GNU General Public License from time to time.  Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.

  Each version is given a distinguishing version number.  If the
Program specifies that a certain numbered version of the GNU General
Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation.  If the Program does not specify a version number of the
GNU General Public License, you may choose any version ever published
by the Free Software Foundation.

  If the Program specifies that a proxy can decide which future
versions of the GNU General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.

  Later license versions may give you additional or different
permissions.  However, no additional obligations are imposed on any
author or copyright holder as a result of your choosing to follow a
later version.

  15. Disclaimer of Warranty.

  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.

  16. Limitation of Liability.

  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.

  17. Interpretation of Sections 15 and 16.

  If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
reviewing courts shall apply local law that most closely approximates
an absolute waiver of all civil liability in connection with the
Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee.

                     END OF TERMS AND CONDITIONS

            How to Apply These Terms to Your New Programs

  If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.

  To do so, attach the following notices to the program.  It is safest
to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.

    <one line to give the program's name and a brief idea of what it does.>
    Copyright (C) <year>  <name of author>

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <https://www.gnu.org/licenses/>.

Also add information on how to contact you by electronic and paper mail.

  If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:

    <program>  Copyright (C) <year>  <name of author>
    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
    This is free software, and you are welcome to redistribute it
    under certain conditions; type `show c' for details.

The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License.  Of course, your program's commands
might be different; for a GUI interface, you would use an "about box".

  You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
<https://www.gnu.org/licenses/>.

  The GNU General Public License does not permit incorporating your program
into proprietary programs.  If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library.  If this is what you want to do, use the GNU Lesser General
Public License instead of this License.  But first, please read
<https://www.gnu.org/licenses/why-not-lgpl.html>.


================================================
FILE: README.md
================================================
# Gamemode 4 Data Packs
> Gamemode 4 is an open-source data pack collection designed to augment the vanilla survival experience.

[![Download our Data Packs](./docs/images/badges/gm4-website.svg)](https://gm4.co/modules)
[![Available on Modrinth](https://cdn.jsdelivr.net/npm/@intergrav/devins-badges@3/assets/cozy/available/modrinth_vector.svg)](https://modrinth.com/organization/gamemode4/)
[![Chat with us on Discord](https://cdn.jsdelivr.net/npm/@intergrav/devins-badges@3/assets/cozy/social/discord-plural_vector.svg)](https://gm4.co/discord)
[![Read our Wiki](./docs/images/badges/gm4-wiki.svg)](https://wiki.gm4.co/Main_Page)

## Contributing
Contributions are welcome! We use [Beet](https://mcbeet.dev) to build our modules. See [our documentation on how to get started](./docs/getting-started.md).

Found a bug with one of our modules? You can [create an issue on GitHub](https://github.com/Gamemode4Dev/GM4_Datapacks/issues)!


================================================
FILE: base/assets/gm4/font/container_gui.json
================================================
{
    "providers": [
        {
            "type": "space",
            "advances": {
                "\uf824": 5,
                "\uf808": -8
            }
        }
    ]
}


================================================
FILE: base/assets/gm4/font/default.json
================================================
{
    "providers": [
        {
            "type": "reference",
            "id": "minecraft:default"
        }
    ]
}


================================================
FILE: base/assets/gm4/font/half_invert.json
================================================
{
    "providers": [
        {
            "type": "space",
            "advances": {
                "0": -3,
                "1": -3,
                "2": -3,
                "3": -3,
                "4": -3,
                "5": -3,
                "6": -3,
                "7": -3,
                "8": -3,
                "9": -3,
                "\u0000": -4.5,
                "\u0001": -4.5,
                "\u0002": -4.5,
                "\u0003": -4.5,
                "\u0004": -4.5,
                "\u0005": -4.5,
                "\u0006": -4.5,
                "\u0007": -4.5,
                "\b": -4.5,
                "\t": -4.5,
                "\n": -4.5,
                "\u000b": -4.5,
                "\f": -4.5,
                "\r": -4.5,
                "\u000e": -4.5,
                "\u000f": -4.5,
                "\u0010": -4.5,
                "\u0011": -4.5,
                "\u0012": -4.5,
                "\u0013": -4.5,
                "\u0014": -4.5,
                "\u0015": -4.5,
                "\u0016": -4.5,
                "\u0017": -4.5,
                "\u0018": -4.5,
                "\u0019": -4.5,
                "\u001a": -4.5,
                "\u001b": -4.5,
                "\u001c": -4.5,
                "\u001d": -4.5,
                "\u001e": -4.5,
                "\u001f": -4.5,
                " ": -2,
                "!": -1,
                "\"": -2,
                "#": -3,
                "$": -3,
                "%": -3,
                "&": -3,
                "'": -1,
                "(": -2,
                ")": -2,
                "*": -2,
                "+": -3,
                ",": -1,
                "-": -3,
                ".": -1,
                "/": -3,
                ":": -1,
                ";": -1,
                "<": -2.5,
                "=": -3,
                ">": -2.5,
                "?": -3,
                "@": -3.5,
                "A": -3,
                "B": -3,
                "C": -3,
                "D": -3,
                "E": -3,
                "F": -3,
                "G": -3,
                "H": -3,
                "I": -2,
                "J": -3,
                "K": -3,
                "L": -3,
                "M": -3,
                "N": -3,
                "O": -3,
                "P": -3,
                "Q": -3,
                "R": -3,
                "S": -3,
                "T": -3,
                "U": -3,
                "V": -3,
                "W": -3,
                "X": -3,
                "Y": -3,
                "Z": -3,
                "[": -2,
                "\\": -3,
                "]": -2,
                "^": -3,
                "_": -3,
                "`": -1.5,
                "a": -3,
                "b": -3,
                "c": -3,
                "d": -3,
                "e": -3,
                "f": -2.5,
                "g": -3,
                "h": -3,
                "i": -1,
                "j": -3,
                "k": -2.5,
                "l": -1.5,
                "m": -3,
                "n": -3,
                "o": -3,
                "p": -3,
                "q": -3,
                "r": -3,
                "s": -3,
                "t": -2,
                "u": -3,
                "v": -3,
                "w": -3,
                "x": -3,
                "y": -3,
                "z": -3,
                "{": -2,
                "|": -1,
                "}": -2,
                "~": -3.5,
                "\u007f": -4.5,
                "\u0080": -4.5,
                "\u0081": -4.5,
                "\u0082": -4.5,
                "\u0083": -4.5,
                "\u0084": -4.5,
                "\u0085": -4.5,
                "\u0086": -4.5,
                "\u0087": -4.5,
                "\u0088": -4.5,
                "\u0089": -4.5,
                "\u008a": -4.5,
                "\u008b": -4.5,
                "\u008c": -4.5,
                "\u008d": -4.5,
                "\u008e": -4.5,
                "\u008f": -4.5,
                "\u0090": -4.5,
                "\u0091": -4.5,
                "\u0092": -4.5,
                "\u0093": -4.5,
                "\u0094": -4.5,
                "\u0095": -4.5,
                "\u0096": -4.5,
                "\u0097": -4.5,
                "\u0098": -4.5,
                "\u0099": -4.5,
                "\u009a": -4.5,
                "\u009b": -4.5,
                "\u009c": -4.5,
                "\u009d": -4.5,
                "\u009e": -4.5,
                "\u009f": -4.5,
                "\u00a0": -4.5,
                "\u00a1": -1,
                "\u00a2": -3,
                "\u00a3": -3,
                "\u00a4": -4,
                "\u00a5": -3,
                "\u00a6": -1,
                "\u00a7": -3,
                "\u00a8": -2,
                "\u00a9": -4,
                "\u00aa": -2.5,
                "\u00ab": -3.5,
                "\u00ac": -3,
                "\u00ad": -2,
                "\u00ae": -4,
                "\u00af": -3,
                "\u00b0": -2.5,
                "\u00b1": -3,
                "\u00b2": -2.5,
                "\u00b3": -2.5,
                "\u00b4": -1.5,
                "\u00b5": -3,
                "\u00b6": -3.5,
                "\u00b7": -1,
                "\u00b8": -1,
                "\u00b9": -2,
                "\u00ba": -2.5,
                "\u00bb": -3.5,
                "\u00bc": -4,
                "\u00bd": -4,
                "\u00be": -4,
                "\u00bf": -3,
                "\u00c0": -3,
                "\u00c1": -3,
                "\u00c2": -3,
                "\u00c3": -3,
                "\u00c4": -3,
                "\u00c5": -3,
                "\u00c6": -5,
                "\u00c7": -3,
                "\u00c8": -3,
                "\u00c9": -3,
                "\u00ca": -3,
                "\u00cb": -3,
                "\u00cc": -2,
                "\u00cd": -2,
                "\u00ce": -2,
                "\u00cf": -2,
                "\u00d0": -3.5,
                "\u00d1": -3,
                "\u00d2": -3,
                "\u00d3": -3,
                "\u00d4": -3,
                "\u00d5": -3,
                "\u00d6": -3,
                "\u00d7": -3,
                "\u00d8": -3,
                "\u00d9": -3,
                "\u00da": -3,
                "\u00db": -3,
                "\u00dc": -3,
                "\u00dd": -3,
                "\u00de": -3,
                "\u00df": -3,
                "\u00e0": -3,
                "\u00e1": -3,
                "\u00e2": -3,
                "\u00e3": -3,
                "\u00e4": -3,
                "\u00e5": -3,
                "\u00e6": -5,
                "\u00e7": -3,
                "\u00e8": -3,
                "\u00e9": -3,
                "\u00ea": -3,
                "\u00eb": -3,
                "\u00ec": -1.5,
                "\u00ed": -1.5,
                "\u00ee": -2,
                "\u00ef": -2,
                "\u00f0": -3,
                "\u00f1": -3,
                "\u00f2": -3,
                "\u00f3": -3,
                "\u00f4": -3,
                "\u00f5": -3,
                "\u00f6": -3,
                "\u00f7": -3,
                "\u00f8": -3,
                "\u00f9": -3,
                "\u00fa": -3,
                "\u00fb": -3,
                "\u00fc": -3,
                "\u00fd": -3,
                "\u00fe": -3,
                "\u00ff": -3,
                "\u0192": -3,
                "\u2591": -4,
                "\u2592": -4.5,
                "\u2593": -4.5,
                "\u2502": -3,
                "\u2524": -3,
                "\u2561": -3,
                "\u2562": -4,
                "\u2556": -4,
                "\u2555": -3,
                "\u2563": -4,
                "\u2551": -4,
                "\u2557": -4,
                "\u255d": -4,
                "\u255c": -4,
                "\u255b": -3,
                "\u2510": -3,
                "\u2514": -4.5,
                "\u2534": -4.5,
                "\u252c": -4.5,
                "\u251c": -4.5,
                "\u2500": -4.5,
                "\u253c": -4.5,
                "\u255e": -4.5,
                "\u255f": -4.5,
                "\u255a": -4.5,
                "\u2554": -4.5,
                "\u2569": -4.5,
                "\u2566": -4.5,
                "\u2560": -4.5,
                "\u2550": -4.5,
                "\u256c": -4.5,
                "\u2567": -4.5,
                "\u2568": -4.5,
                "\u2564": -4.5,
                "\u2565": -4.5,
                "\u2559": -4.5,
                "\u2558": -4.5,
                "\u2552": -4.5,
                "\u2553": -4.5,
                "\u256b": -4.5,
                "\u256a": -4.5,
                "\u2518": -3,
                "\u250c": -4.5,
                "\u2588": -4.5,
                "\u2584": -4.5,
                "\u258c": -2.5,
                "\u2590": -4.5,
                "\u2580": -4.5,
                "\u2205": -4,
                "\u2208": -3,
                "\u2261": -3.5,
                "\u2265": -3,
                "\u2264": -3,
                "\u2320": -4,
                "\u2321": -2.5,
                "\u2248": -3.5,
                "\u2219": -3,
                "\u221a": -3.5,
                "\u207f": -2.5,
                "\u25a0": -3,
                "\u0100": -3,
                "\u0101": -3,
                "\u0102": -3,
                "\u0103": -3,
                "\u0104": -3,
                "\u0105": -3,
                "\u0106": -3,
                "\u0107": -3,
                "\u0108": -3,
                "\u0109": -3,
                "\u010a": -3,
                "\u010b": -3,
                "\u010c": -3,
                "\u010d": -3,
                "\u010e": -3,
                "\u010f": -4,
                "\u0110": -3.5,
                "\u0111": -3.5,
                "\u0112": -3,
                "\u0113": -3,
                "\u0114": -3,
                "\u0115": -3,
                "\u0116": -3,
                "\u0117": -3,
                "\u0118": -3,
                "\u0119": -3,
                "\u011a": -3,
                "\u011b": -3,
                "\u011c": -3,
                "\u011d": -3,
                "\u1e20": -3,
                "\u1e21": -3,
                "\u011e": -3,
                "\u011f": -3,
                "\u0120": -3,
                "\u0121": -3,
                "\u0122": -3,
                "\u0123": -3,
                "\u0124": -3,
                "\u0125": -3,
                "\u0126": -4,
                "\u0127": -3.5,
                "\u0128": -2.5,
                "\u0129": -2.5,
                "\u012a": -2,
                "\u012b": -2,
                "\u012c": -2.5,
                "\u012d": -2.5,
                "\u012e": -2,
                "\u012f": -1.5,
                "\u0130": -2,
                "\u0131": -1,
                "\u0134": -3,
                "\u0135": -3,
                "\u0136": -3,
                "\u0137": -2.5,
                "\u0139": -3,
                "\u013a": -1.5,
                "\u013b": -3,
                "\u013c": -1.5,
                "\u013d": -3,
                "\u013e": -2,
                "\u013f": -3,
                "\u0140": -2,
                "\u0141": -3.5,
                "\u0142": -2.5,
                "\u0143": -3,
                "\u0144": -3,
                "\u0145": -3,
                "\u0146": -3,
                "\u0147": -3,
                "\u0148": -3,
                "\u014a": -3,
                "\u014b": -3,
                "\u014c": -3,
                "\u014d": -3,
                "\u014e": -3,
                "\u014f": -3,
                "\u0150": -3,
                "\u0151": -3,
                "\u0152": -5,
                "\u0153": -5,
                "\u0154": -3,
                "\u0155": -3,
                "\u0156": -3,
                "\u0157": -3,
                "\u0158": -3,
                "\u0159": -3,
                "\u015a": -3,
                "\u015b": -3,
                "\u015c": -3,
                "\u015d": -3,
                "\u015e": -3,
                "\u015f": -3,
                "\u0160": -3,
                "\u0161": -3,
                "\u0162": -3,
                "\u0163": -2,
                "\u0164": -3,
                "\u0165": -2.5,
                "\u0166": -3,
                "\u0167": -2,
                "\u0168": -3,
                "\u0169": -3,
                "\u016a": -3,
                "\u016b": -3,
                "\u016c": -3,
                "\u016d": -3,
                "\u016e": -3,
                "\u016f": -3,
                "\u0170": -3,
                "\u0171": -3,
                "\u0172": -3,
                "\u0173": -3,
                "\u0174": -3,
                "\u0175": -3,
                "\u0176": -3,
                "\u0177": -3,
                "\u0178": -3,
                "\u0179": -3,
                "\u017a": -3,
                "\u017b": -3,
                "\u017c": -3,
                "\u017d": -3,
                "\u017e": -3,
                "\u01fc": -5,
                "\u01fd": -5,
                "\u01fe": -3,
                "\u01ff": -3,
                "\u0218": -3,
                "\u0219": -3,
                "\u021a": -3,
                "\u021b": -2,
                "\u0386": -4,
                "\u0388": -4,
                "\u0389": -4,
                "\u038a": -3,
                "\u038c": -4,
                "\u038e": -4,
                "\u038f": -4,
                "\u0390": -3,
                "\u03aa": -2,
                "\u03ab": -3,
                "\u03ac": -3,
                "\u03ad": -3,
                "\u03ae": -3,
                "\u03af": -1.5,
                "\u03b0": -3,
                "\u03ca": -2,
                "\u03cb": -3,
                "\u03cc": -3,
                "\u03cd": -3,
                "\u03ce": -4,
                "\u0400": -3,
                "\u0401": -3,
                "\u0403": -3,
                "\u0407": -2,
                "\u040c": -3,
                "\u040d": -3,
                "\u040e": -3,
                "\u0419": -3,
                "\u0439": -3,
                "\u0450": -3,
                "\u0451": -3,
                "\u0452": -3.5,
                "\u0453": -2.5,
                "\u0457": -2,
                "\u045b": -3.5,
                "\u045c": -2.5,
                "\u045d": -3,
                "\u045e": -3,
                "\u045f": -3,
                "\u0490": -3,
                "\u0491": -3,
                "\u1e02": -3,
                "\u1e03": -3,
                "\u1e0a": -3,
                "\u1e0b": -3,
                "\u1e1e": -3,
                "\u1e1f": -2.5,
                "\u1e22": -3,
                "\u1e23": -3,
                "\u1e30": -3,
                "\u1e31": -2.5,
                "\u1e40": -3,
                "\u1e41": -3,
                "\u1e56": -3,
                "\u1e57": -3,
                "\u1e60": -3,
                "\u1e61": -3,
                "\u1e6a": -3,
                "\u1e6b": -2,
                "\u1e80": -3,
                "\u1e81": -3,
                "\u1e82": -3,
                "\u1e83": -3,
                "\u1e84": -3,
                "\u1e85": -3,
                "\u1ef2": -3,
                "\u1ef3": -3,
                "\u0149": -4,
                "\u01e7": -3,
                "\u01eb": -3,
                "\u040f": -3,
                "\u1e0d": -3,
                "\u1e25": -3,
                "\u1e5b": -3,
                "\u1e6d": -2,
                "\u1e92": -3,
                "\u1eca": -2,
                "\u1ecb": -1,
                "\u1ecc": -3,
                "\u1ecd": -3,
                "\u1ee4": -3,
                "\u1ee5": -3,
                "\u2116": -5,
                "\u0207": -3,
                "\u0194": -3,
                "\u0263": -3,
                "\u0283": -3,
                "\u2047": -5,
                "\u01f1": -5,
                "\u01f2": -5,
                "\u01f3": -5,
                "\u01c4": -5,
                "\u01c5": -5,
                "\u01c6": -5,
                "\u01c7": -5,
                "\u01c8": -5,
                "\u01ca": -5,
                "\u01cb": -5,
                "\u01cc": -5,
                "\u2139": -5,
                "\u1d6b": -5,
                "\ua732": -5,
                "\ua733": -5,
                "\ua734": -5,
                "\ua735": -5,
                "\ua736": -5,
                "\ua737": -5,
                "\ua738": -5,
                "\ua73a": -5,
                "\ua73c": -5,
                "\ua73d": -4.5,
                "\ua74e": -5,
                "\ua74f": -5,
                "\ua760": -3,
                "\ua761": -3,
                "\ufb04": -5,
                "\ufb06": -5,
                "\u16a1": -2.5,
                "\u16b5": -2.5,
                "\u01a0": -4,
                "\u01a1": -4,
                "\u01af": -4,
                "\u01b0": -4,
                "\u1eae": -3,
                "\u1eaf": -3,
                "\u1ea4": -3,
                "\u1ea5": -3,
                "\u1ebe": -3,
                "\u1ebf": -3,
                "\u1ed1": -3,
                "\u1eda": -4,
                "\u1edb": -4,
                "\u1ee8": -4,
                "\u1ee9": -4,
                "\u1eb0": -3,
                "\u1eb1": -3,
                "\u1ea6": -3,
                "\u1ea7": -3,
                "\u1ec0": -3,
                "\u1ec1": -3,
                "\u1ed3": -3,
                "\u1edc": -4,
                "\u1edd": -4,
                "\u1eea": -4,
                "\u1eeb": -4,
                "\u1ea2": -3,
                "\u1ea3": -3,
                "\u1eb2": -3,
                "\u1eb3": -3,
                "\u1ea8": -3,
                "\u1ea9": -3,
                "\u1eba": -3,
                "\u1ebb": -3,
                "\u1ed5": -3,
                "\u1ede": -4,
                "\u1ec2": -3,
                "\u1ec3": -3,
                "\u1ec8": -2,
                "\u1ec9": -2,
                "\u1ece": -3,
                "\u1ecf": -3,
                "\u1ed4": -3,
                "\u1edf": -4,
                "\u1ee6": -3,
                "\u1ee7": -3,
                "\u1eec": -4,
                "\u1eed": -4,
                "\u1ef6": -3,
                "\u1ef7": -3,
                "\u1ea0": -3,
                "\u1ea1": -3,
                "\u1eb6": -3,
                "\u1eb7": -3,
                "\u1eac": -3,
                "\u1ead": -3,
                "\u1eb8": -3,
                "\u1eb9": -3,
                "\u1ec6": -3,
                "\u1ec7": -3,
                "\u1ed8": -3,
                "\u1ed9": -3,
                "\u1ee2": -4,
                "\u1ee3": -4,
                "\u1ef0": -4,
                "\u1ef1": -4,
                "\u1ef4": -3,
                "\u1ef5": -3,
                "\u1ed0": -3,
                "\u0195": -4.5,
                "\u1eaa": -3,
                "\u1eab": -3,
                "\u1ed6": -3,
                "\u1ed7": -3,
                "\u1eef": -4,
                "\u261e": -5,
                "\u261c": -5,
                "\u262e": -5,
                "\u1eb4": -3,
                "\u1eb5": -3,
                "\u1ebc": -3,
                "\u1ebd": -3,
                "\u1ec4": -3,
                "\u1ec5": -3,
                "\u1ed2": -3,
                "\u1ee0": -4,
                "\u1ee1": -4,
                "\u1eee": -4,
                "\u1ef8": -3,
                "\u1ef9": -3,
                "\u0498": -3,
                "\u0499": -3,
                "\u04a0": -3.5,
                "\u04a1": -3,
                "\u04aa": -3,
                "\u04ab": -3,
                "\u01f6": -4.5,
                "\u26a0": -5,
                "\u24ea": -5,
                "\u2460": -5,
                "\u2461": -5,
                "\u2462": -5,
                "\u2463": -5,
                "\u2464": -5,
                "\u2465": -5,
                "\u2466": -5,
                "\u2467": -5,
                "\u2468": -5,
                "\u2469": -5,
                "\u246a": -5,
                "\u246b": -5,
                "\u246c": -5,
                "\u246d": -5,
                "\u246e": -5,
                "\u246f": -5,
                "\u2470": -5,
                "\u2471": -5,
                "\u2472": -5,
                "\u2473": -5,
                "\u24b6": -5,
                "\u24b7": -5,
                "\u24b8": -5,
                "\u24b9": -5,
                "\u24ba": -5,
                "\u24bb": -5,
                "\u24bc": -5,
                "\u24bd": -5,
                "\u24be": -5,
                "\u24bf": -5,
                "\u24c0": -5,
                "\u24c1": -5,
                "\u24c2": -5,
                "\u24c3": -5,
                "\u24c4": -5,
                "\u24c5": -5,
                "\u24c6": -5,
                "\u24c7": -5,
                "\u24c8": -5,
                "\u24c9": -5,
                "\u24ca": -5,
                "\u24cb": -5,
                "\u24cc": -5,
                "\u24cd": -5,
                "\u24ce": -5,
                "\u24cf": -5,
                "\u24d0": -5,
                "\u24d1": -5,
                "\u24d2": -5,
                "\u24d3": -5,
                "\u24d4": -5,
                "\u24d5": -5,
                "\u24d6": -5,
                "\u24d7": -5,
                "\u24d8": -5,
                "\u24d9": -5,
                "\u24da": -5,
                "\u24db": -5,
                "\u24dc": -5,
                "\u24dd": -5,
                "\u24de": -5,
                "\u24df": -5,
                "\u24e0": -5,
                "\u24e1": -5,
                "\u24e2": -5,
                "\u24e3": -5,
                "\u24e4": -5,
                "\u24e5": -5,
                "\u24e6": -5,
                "\u24e7": -5,
                "\u24e8": -5,
                "\u24e9": -5,
                "\u0327": -1.5,
                "\u0282": -3,
                "\u0290": -3.5,
                "\u0276": -5,
                "\u01cd": -3,
                "\u01ce": -3,
                "\u01de": -3,
                "\u01df": -3,
                "\u01fa": -3,
                "\u01fb": -3,
                "\u0202": -3,
                "\u0203": -3,
                "\u0226": -3,
                "\u0227": -3,
                "\u01e0": -3,
                "\u01e1": -3,
                "\u1e00": -3,
                "\u1e01": -3,
                "\u0200": -3,
                "\u0201": -3,
                "\u1e06": -3,
                "\u1e07": -3,
                "\u1e04": -3,
                "\u1e05": -3,
                "\u1d6c": -4,
                "\u1e08": -3,
                "\u1e09": -3,
                "\u1e10": -3,
                "\u1e11": -3,
                "\u1e12": -3,
                "\u1e13": -3,
                "\u1e0e": -3,
                "\u1e0f": -3,
                "\u1e0c": -3,
                "\u1d6d": -4,
                "\u1e14": -3,
                "\u1e15": -3,
                "\u1e16": -3,
                "\u1e17": -3,
                "\u1e18": -3,
                "\u1e19": -3,
                "\u1e1c": -3,
                "\u1e1d": -3,
                "\u0228": -3,
                "\u0229": -3,
                "\u1e1a": -3,
                "\u1e1b": -3,
                "\u0204": -3,
                "\u0205": -3,
                "\u0206": -3,
                "\u1d6e": -3,
                "\u01f4": -3,
                "\u01f5": -3,
                "\u01e6": -3,
                "\u1e26": -3,
                "\u1e27": -3,
                "\u1e28": -3,
                "\u1e29": -3,
                "\u1e2a": -3,
                "\u1e2b": -3,
                "\u021e": -3,
                "\u021f": -3,
                "\u1e24": -3,
                "\u1e96": -3,
                "\u1e2e": -2,
                "\u1e2f": -2,
                "\u020a": -2.5,
                "\u020b": -2.5,
                "\u01cf": -2,
                "\u01d0": -2,
                "\u0208": -3,
                "\u0209": -3,
                "\u1e2c": -2.5,
                "\u1e2d": -2.5,
                "\u01f0": -3,
                "\u0237": -3,
                "\u01e8": -3,
                "\u01e9": -2.5,
                "\u1e32": -3,
                "\u1e33": -2.5,
                "\u1e34": -3,
                "\u1e35": -2.5,
                "\u1e3a": -3,
                "\u1e3b": -2,
                "\u1e3c": -3,
                "\u1e3d": -2,
                "\u1e36": -3,
                "\u1e37": -1.5,
                "\u1e38": -3,
                "\u1e39": -2,
                "\u2c62": -4,
                "\u1e3e": -3,
                "\u1e3f": -3,
                "\u1e42": -3,
                "\u1e43": -3,
                "\u1d6f": -4,
                "\u1e44": -3,
                "\u1e45": -3,
                "\u1e46": -3,
                "\u1e47": -3,
                "\u1e4a": -3,
                "\u1e4b": -3,
                "\u01f8": -3,
                "\u01f9": -3,
                "\u1e48": -3,
                "\u1e49": -3,
                "\u1d70": -4,
                "\u01ec": -3,
                "\u01ed": -3,
                "\u022c": -3,
                "\u022d": -3,
                "\u1e4c": -3,
                "\u1e4d": -3,
                "\u1e4e": -3,
                "\u1e4f": -3,
                "\u1e50": -3,
                "\u1e51": -3,
                "\u1e52": -3,
                "\u1e53": -3,
                "\u020e": -3,
                "\u020f": -3,
                "\u022a": -3,
                "\u022b": -3,
                "\u01d1": -3,
                "\u01d2": -3,
                "\u022e": -3,
                "\u022f": -3,
                "\u0230": -3,
                "\u0231": -3,
                "\u020c": -3,
                "\u020d": -3,
                "\u01ea": -3,
                "\u1e54": -3,
                "\u1e55": -3,
                "\u1d71": -4,
                "\u0212": -3,
                "\u0213": -3,
                "\u1e58": -3,
                "\u1e59": -3,
                "\u1e5c": -3,
                "\u1e5d": -3,
                "\u1e5e": -3,
                "\u1e5f": -3,
                "\u0210": -3,
                "\u0211": -3,
                "\u1e5a": -3,
                "\u1d73": -4,
                "\u1d72": -4,
                "\u1e64": -3,
                "\u1e65": -3,
                "\u1e66": -3,
                "\u1e67": -3,
                "\u1e62": -3,
                "\u1e63": -3,
                "\u1e68": -3,
                "\u1e69": -3,
                "\u1d74": -4,
                "\u1e70": -3,
                "\u1e71": -2,
                "\u1e6e": -3,
                "\u1e6f": -2,
                "\u1e6c": -3,
                "\u1e97": -2,
                "\u1d75": -3,
                "\u1e72": -3,
                "\u1e73": -3,
                "\u1e76": -3,
                "\u1e77": -3,
                "\u1e78": -3,
                "\u1e79": -3,
                "\u1e7a": -3,
                "\u1e7b": -3,
                "\u01d3": -3,
                "\u01d4": -3,
                "\u01d5": -3,
                "\u01d6": -3,
                "\u01d7": -3,
                "\u01d8": -3,
                "\u01d9": -3,
                "\u01da": -3,
                "\u01db": -3,
                "\u01dc": -3,
                "\u1e74": -3,
                "\u1e75": -3,
                "\u0214": -3,
                "\u0215": -3,
                "\u0216": -3,
                "\u1e7e": -3,
                "\u1e7f": -3,
                "\u1e7c": -3,
                "\u1e7d": -3,
                "\u1e86": -3,
                "\u1e87": -3,
                "\u1e88": -3,
                "\u1e89": -3,
                "\u1e98": -3,
                "\u1e8c": -3,
                "\u1e8d": -3,
                "\u1e8a": -3,
                "\u1e8b": -3,
                "\u0232": -3,
                "\u0233": -3,
                "\u1e8e": -3,
                "\u1e8f": -3,
                "\u1e99": -3,
                "\u1e94": -3,
                "\u1e95": -3,
                "\u1e90": -3,
                "\u1e91": -3,
                "\u1e93": -3,
                "\u1d76": -3,
                "\u01ee": -3,
                "\u01ef": -3,
                "\u1e9b": -2,
                "\ua73e": -3,
                "\ua73f": -3,
                "\u01e2": -5,
                "\u01e3": -5,
                "\u1d7a": -4.5,
                "\u1efb": -3.5,
                "\u1d02": -5,
                "\u1d14": -5,
                "\uab63": -5,
                "\u0238": -5,
                "\u02a3": -5,
                "\u02a5": -5,
                "\u02a4": -5,
                "\u02a9": -5,
                "\u02aa": -4,
                "\u02ab": -4,
                "\u0239": -5,
                "\u02a8": -4.5,
                "\u02a6": -4.5,
                "\u02a7": -4,
                "\uab50": -3,
                "\uab51": -3,
                "\u20a7": -5,
                "\u1efa": -4,
                "\ufb2e": -3,
                "\ufb2f": -3,
                "\u0180": -3.5,
                "\u0182": -3,
                "\u0183": -3,
                "\u0187": -3.5,
                "\u0188": -3.5,
                "\u018a": -4,
                "\u018b": -3,
                "\u018c": -3,
                "\u0193": -3.5,
                "\u01e4": -3.5,
                "\u01e5": -3.5,
                "\u0197": -2,
                "\u0196": -2,
                "\u0269": -1.5,
                "\u0198": -3,
                "\u0199": -2.5,
                "\u019d": -3.5,
                "\u01a4": -4,
                "\u01a5": -3,
                "\u027d": -3,
                "\u01a6": -3,
                "\u01ac": -3.5,
                "\u01ad": -2,
                "\u01ab": -2,
                "\u01ae": -3,
                "\u0217": -3,
                "\u01b1": -3,
                "\u019c": -3,
                "\u01b3": -3.5,
                "\u01b4": -4,
                "\u01b5": -3,
                "\u01b6": -3,
                "\u01a2": -4,
                "\u01a3": -4,
                "\u0222": -3,
                "\u0223": -3,
                "\u02ad": -3,
                "\u02ae": -3.5,
                "\u02af": -4,
                "\ufb14": -5,
                "\ufb15": -5,
                "\ufb17": -5,
                "\ufb16": -5,
                "\ufb13": -5,
                "\u04d0": -3,
                "\u04d1": -3,
                "\u04d2": -3,
                "\u04d3": -3,
                "\u04f6": -3,
                "\u04f7": -2.5,
                "\u0494": -3,
                "\u0495": -2.5,
                "\u04d6": -3,
                "\u04d7": -3,
                "\u04bc": -4,
                "\u04bd": -4,
                "\u04be": -4,
                "\u04bf": -4,
                "\u04da": -3,
                "\u04db": -3,
                "\u04dc": -4,
                "\u04dd": -3,
                "\u04c1": -4,
                "\u04c2": -3,
                "\u04de": -3,
                "\u04df": -3,
                "\u04e2": -3,
                "\u04e3": -3,
                "\u04e4": -3,
                "\u04e5": -3,
                "\u04e6": -3,
                "\u04e7": -3,
                "\u04ea": -3,
                "\u04eb": -3,
                "\u04f0": -3,
                "\u04f1": -3,
                "\u04ee": -3,
                "\u04ef": -3,
                "\u04f2": -3,
                "\u04f3": -3,
                "\u04f4": -3,
                "\u04f5": -3,
                "\u04f8": -4,
                "\u04f9": -3.5,
                "\u04ec": -3,
                "\u04ed": -3,
                "\u0476": -3.5,
                "\u0477": -3.5,
                "\u04d4": -5,
                "\u04fa": -3.5,
                "\u0502": -4.5,
                "\ua682": -3,
                "\ua680": -3.5,
                "\ua688": -3.5,
                "\u052a": -5,
                "\u052c": -3.5,
                "\ua684": -5,
                "\u0504": -4,
                "\u0510": -3,
                "\u04e0": -3,
                "\u0506": -3.5,
                "\u048a": -3.5,
                "\u04c3": -3,
                "\u049e": -3.5,
                "\u049c": -3,
                "\u051e": -3,
                "\u051a": -3,
                "\u04c5": -3.5,
                "\u052e": -3.5,
                "\u0512": -3,
                "\u0520": -4.5,
                "\u0508": -4.5,
                "\u0514": -4.5,
                "\u04cd": -3.5,
                "\u04c9": -3.5,
                "\u0528": -3.5,
                "\u04c7": -3,
                "\u04a4": -3.5,
                "\u0522": -4.5,
                "\u050a": -4.5,
                "\u04a8": -3.5,
                "\u0524": -3.5,
                "\u04a6": -4.5,
                "\u048e": -3,
                "\u0516": -4.5,
                "\u050c": -3,
                "\ua690": -3,
                "\u04ac": -3,
                "\ua68a": -3.5,
                "\ua68c": -3,
                "\u050e": -3.5,
                "\u04b2": -3.5,
                "\u04fc": -3,
                "\u04fe": -3,
                "\u0526": -3.5,
                "\ua694": -3,
                "\u04b4": -4,
                "\ua68e": -3.5,
                "\u04b6": -3.5,
                "\u04cb": -3,
                "\u04b8": -3,
                "\ua692": -3.5,
                "\ua696": -4.5,
                "\ua686": -3,
                "\u048c": -3.5,
                "\u0518": -5,
                "\u051c": -3,
                "\u04d5": -5,
                "\u04fb": -3,
                "\u0503": -4.5,
                "\ua683": -3,
                "\ua681": -3.5,
                "\ua689": -3.5,
                "\u052b": -5,
                "\u052d": -3.5,
                "\ua685": -4.5,
                "\u0505": -4,
                "\u0511": -3,
                "\u04e1": -3,
                "\u0507": -3.5,
                "\u048b": -3.5,
                "\u04c4": -2.5,
                "\u049f": -3,
                "\u049d": -3,
                "\u051f": -3,
                "\u051b": -3,
                "\u04c6": -3.5,
                "\u052f": -3.5,
                "\u0513": -3,
                "\u0521": -4.5,
                "\u0509": -4.5,
                "\u0515": -4.5,
                "\u04ce": -3.5,
                "\u04ca": -3.5,
                "\u0529": -3.5,
                "\u04c8": -3,
                "\u04a5": -3.5,
                "\u0523": -4.5,
                "\u050b": -4.5,
                "\u04a9": -3.5,
                "\u0525": -3.5,
                "\u04a7": -4.5,
                "\u048f": -3,
                "\u0517": -4.5,
                "\u050d": -3,
                "\ua691": -3,
                "\u04ad": -3,
                "\ua68b": -3.5,
                "\ua68d": -3,
                "\u050f": -3.5,
                "\u04b3": -3.5,
                "\u04fd": -3,
                "\u04ff": -3,
                "\u0527": -3.5,
                "\ua695": -3,
                "\u04b5": -3.5,
                "\ua68f": -3,
                "\u04b7": -3.5,
                "\u04cc": -3,
                "\u04b9": -3,
                "\ua693": -3.5,
                "\ua697": -3.5,
                "\ua687": -3,
                "\u048d": -3.5,
                "\u0519": -5,
                "\u051d": -3,
                "\u1f08": -4.5,
                "\u1f00": -3,
                "\u1f09": -4.5,
                "\u1f01": -3,
                "\u1f0a": -5,
                "\u1f02": -3,
                "\u1f0b": -5,
                "\u1f03": -3,
                "\u1f0c": -5,
                "\u1f04": -3,
                "\u1f0d": -5,
                "\u1f05": -3.5,
                "\u1f0e": -4.5,
                "\u1f06": -3,
                "\u1f0f": -4.5,
                "\u1f07": -3,
                "\u1fba": -4.5,
                "\u1f70": -3,
                "\u1fb8": -3,
                "\u1fb0": -3,
                "\u1fb9": -3,
                "\u1fb1": -3,
                "\u1fbb": -4.5,
                "\u1f71": -3,
                "\u1f88": -4.5,
                "\u1f80": -3,
                "\u1f89": -4.5,
                "\u1f81": -3,
                "\u1f8a": -5,
                "\u1f82": -3,
                "\u1f8b": -5,
                "\u1f83": -3,
                "\u1f8c": -5,
                "\u1f84": -3,
                "\u1f8d": -5,
                "\u1f85": -3,
                "\u1f8e": -4.5,
                "\u1f86": -3,
                "\u1f8f": -4.5,
                "\u1f87": -3,
                "\u1fbc": -3,
                "\u1fb4": -3,
                "\u1fb6": -3,
                "\u1fb7": -3,
                "\u1fb2": -3,
                "\u1fb3": -3,
                "\u1f18": -4.5,
                "\u1f10": -3,
                "\u1f19": -4.5,
                "\u1f11": -3,
                "\u1f1a": -5,
                "\u1f12": -3,
                "\u1f1b": -5,
                "\u1f13": -3,
                "\u1f1c": -5,
                "\u1f14": -3,
                "\u1f1d": -5,
                "\u1f15": -3,
                "\u1fc8": -4.5,
                "\u1fc9": -4.5,
                "\u1f72": -3,
                "\u1f73": -3,
                "\u1f28": -4.5,
                "\u1f20": -3,
                "\u1fca": -4.5,
                "\u1f74": -3,
                "\u1f29": -4.5,
                "\u1f21": -3,
                "\u1f2a": -5,
                "\u1f22": -3,
                "\u1f2b": -5,
                "\u1f23": -3,
                "\u1f2c": -5,
                "\u1f24": -3,
                "\u1f2d": -5,
                "\u1f25": -3,
                "\u1f2e": -4.5,
                "\u1f26": -3,
                "\u1f2f": -4.5,
                "\u1f27": -3,
                "\u1f98": -4.5,
                "\u1f90": -3,
                "\u1f99": -4.5,
                "\u1f91": -3,
                "\u1f9a": -5,
                "\u1f92": -3,
                "\u1f9b": -5,
                "\u1f93": -3,
                "\u1f9c": -5,
                "\u1f94": -3,
                "\u1f9d": -5,
                "\u1f95": -3,
                "\u1f9e": -4.5,
                "\u1f96": -3,
                "\u1f9f": -4.5,
                "\u1f97": -3,
                "\u1fcb": -4.5,
                "\u1f75": -3,
                "\u1fcc": -3,
                "\u1fc3": -3,
                "\u1fc2": -3,
                "\u1fc4": -3,
                "\u1fc6": -3,
                "\u1fc7": -3,
                "\u1fda": -3.5,
                "\u1f76": -2,
                "\u1fdb": -3.5,
                "\u1f77": -1.5,
                "\u1f38": -3.5,
                "\u1f30": -2,
                "\u1f39": -5,
                "\u1f31": -1.5,
                "\u1f3a": -4.5,
                "\u1f32": -3,
                "\u1f3b": -4,
                "\u1f33": -3,
                "\u1f3c": -4.5,
                "\u1f34": -3,
                "\u1f3d": -4,
                "\u1f35": -3,
                "\u1f3e": -3.5,
                "\u1f36": -2.5,
                "\u1f3f": -3.5,
                "\u1f37": -2.5,
                "\u1fd8": -2.5,
                "\u1fd0": -2.5,
                "\u1fd9": -2,
                "\u1fd1": -2,
                "\u1fd2": -2,
                "\u1fd3": -2,
                "\u1fd6": -2.5,
                "\u1fd7": -2.5,
                "\u1ff8": -4.5,
                "\u1f78": -3,
                "\u1ff9": -4.5,
                "\u1f79": -3,
                "\u1f48": -4.5,
                "\u1f40": -3,
                "\u1f49": -4.5,
                "\u1f41": -3,
                "\u1f4a": -5,
                "\u1f42": -3,
                "\u1f4b": -5,
                "\u1f43": -3,
                "\u1f4c": -5,
                "\u1f44": -3,
                "\u1f4d": -5,
                "\u1f45": -3,
                "\u1fec": -4.5,
                "\u1fe4": -3,
                "\u1fe5": -3,
                "\u1fea": -4.5,
                "\u1f7a": -3,
                "\u1feb": -4.5,
                "\u1f7b": -3,
                "\u1f59": -4.5,
                "\u1f51": -3,
                "\u1f5b": -5,
                "\u1f53": -3,
                "\u1f5d": -5,
                "\u1f55": -3,
                "\u1f5f": -4.5,
                "\u1f57": -3,
                "\u1fe8": -3,
                "\u1fe0": -3,
                "\u1fe9": -3,
                "\u1fe1": -3,
                "\u03d3": -5,
                "\u03d4": -3.5,
                "\u1fe2": -3,
                "\u1fe3": -3,
                "\u1fe7": -3,
                "\u1f50": -3,
                "\u1f52": -3,
                "\u1f54": -3,
                "\u1fe6": -3,
                "\u1f56": -3,
                "\u1ffa": -4.5,
                "\u1f7c": -4,
                "\u1ffb": -4.5,
                "\u1f7d": -4,
                "\u1f68": -4.5,
                "\u1f60": -4,
                "\u1f69": -4.5,
                "\u1f61": -4,
                "\u1f6a": -5,
                "\u1f62": -4,
                "\u1f6b": -5,
                "\u1f63": -4,
                "\u1f6c": -5,
                "\u1f64": -4,
                "\u1f6d": -5,
                "\u1f65": -4,
                "\u1f6e": -4.5,
                "\u1f66": -4,
                "\u1f6f": -5,
                "\u1f67": -4,
                "\u1fa8": -4.5,
                "\u1fa0": -4,
                "\u1fa9": -4.5,
                "\u1fa1": -4,
                "\u1faa": -5,
                "\u1fa2": -4,
                "\u1fab": -5,
                "\u1fa3": -4,
                "\u1fac": -5,
                "\u1fa4": -4,
                "\u1fad": -5,
                "\u1fa5": -4,
                "\u1fae": -4.5,
                "\u1fa6": -4,
                "\u1faf": -5,
                "\u1fa7": -4,
                "\u1ffc": -3,
                "\u1ff3": -4,
                "\u1ff2": -4,
                "\u1ff4": -4,
                "\u1ff6": -4,
                "\u1ff7": -4,
                "\u262f": -5,
                "\u2610": -5,
                "\u2611": -5,
                "\u2612": -5,
                "\u018d": -3,
                "\u01ba": -3,
                "\u2c7e": -3,
                "\u023f": -3,
                "\u2c7f": -3,
                "\u0240": -3,
                "\u1d80": -3,
                "\ua7c4": -3,
                "\ua794": -3,
                "\u1d81": -3.5,
                "\u1d82": -2.5,
                "\u1d83": -3.5,
                "\ua795": -3.5,
                "\u1d84": -3,
                "\u1d85": -1.5,
                "\u1d86": -3.5,
                "\u1d87": -3.5,
                "\u1d88": -3,
                "\u1d89": -3,
                "\u1d8a": -3,
                "\u1d8b": -3,
                "\u1d8c": -3,
                "\u1d8d": -3.5,
                "\ua7c6": -3.5,
                "\u1d8e": -3.5,
                "\u1d8f": -3.5,
                "\u1d90": -3.5,
                "\u1d92": -3.5,
                "\u1d93": -3.5,
                "\u1d94": -3,
                "\u1d95": -3.5,
                "\u1d96": -1.5,
                "\u1d97": -3.5,
                "\u1d98": -3,
                "\u1d99": -3.5,
                "\u1d9a": -3,
                "\u1e9a": -3,
                "\u2152": -5,
                "\u2158": -5,
                "\u20a8": -5,
                "\u20af": -5,
                "\u2030": -4,
                "\u20b4": -4,
                "\u2260": -3,
                "\u04bb": -3,
                "\u0391": -3,
                "\u0392": -3,
                "\u0393": -3,
                "\u0394": -3,
                "\u0395": -3,
                "\u0396": -3,
                "\u0397": -3,
                "\u0398": -3,
                "\u0399": -2,
                "\u039a": -3,
                "\u039b": -3,
                "\u039c": -3,
                "\u039d": -3,
                "\u039e": -3,
                "\u039f": -3,
                "\u03a0": -3,
                "\u03a1": -3,
                "\u03a3": -3,
                "\u03a4": -3,
                "\u03a5": -3,
                "\u03a6": -3,
                "\u03a7": -3,
                "\u03a8": -3,
                "\u03a9": -3,
                "\u03b1": -3,
                "\u03b2": -3,
                "\u03b3": -3,
                "\u03b4": -3,
                "\u03b5": -3,
                "\u03b6": -3,
                "\u03b7": -3,
                "\u03b8": -3,
                "\u03b9": -1.5,
                "\u03ba": -2.5,
                "\u03bb": -3,
                "\u03bc": -3,
                "\u03bd": -3,
                "\u03be": -3,
                "\u03bf": -3,
                "\u03c0": -3,
                "\u03c1": -3,
                "\u03c2": -3,
                "\u03c3": -3.5,
                "\u03c4": -3,
                "\u03c5": -3,
                "\u03c6": -3,
                "\u03c7": -3,
                "\u03c8": -3,
                "\u03c9": -4,
                "\u0402": -4,
                "\u0405": -3,
                "\u0406": -2,
                "\u0408": -3,
                "\u0409": -4,
                "\u040a": -3.5,
                "\u040b": -3.5,
                "\u0410": -3,
                "\u0411": -3,
                "\u0412": -3,
                "\u0413": -3,
                "\u0414": -3.5,
                "\u0415": -3,
                "\u0416": -4,
                "\u0417": -3,
                "\u0418": -3,
                "\u041a": -3,
                "\u041b": -3,
                "\u041c": -3,
                "\u041d": -3,
                "\u041e": -3,
                "\u041f": -3,
                "\u0420": -3,
                "\u0421": -3,
                "\u0422": -3,
                "\u0423": -3,
                "\u0424": -4,
                "\u0425": -3,
                "\u0426": -3.5,
                "\u0427": -3,
                "\u0428": -4,
                "\u0429": -4.5,
                "\u042a": -3.5,
                "\u042b": -4,
                "\u042c": -3,
                "\u042d": -3,
                "\u042e": -4,
                "\u042f": -3,
                "\u0430": -3,
                "\u0431": -3,
                "\u0432": -3,
                "\u0433": -2.5,
                "\u0434": -3.5,
                "\u0435": -3,
                "\u0436": -3,
                "\u0437": -3,
                "\u0438": -3,
                "\u043a": -2.5,
                "\u043b": -3,
                "\u043c": -3,
                "\u043d": -3,
                "\u043e": -3,
                "\u043f": -3,
                "\u0440": -3,
                "\u0441": -3,
                "\u0442": -3,
                "\u0443": -3,
                "\u0444": -3,
                "\u0445": -3,
                "\u0446": -3,
                "\u0447": -3,
                "\u0448": -3,
                "\u0449": -3.5,
                "\u044a": -3.5,
                "\u044b": -3.5,
                "\u044c": -3,
                "\u044d": -3,
                "\u044e": -4,
                "\u044f": -3,
                "\u0454": -3,
                "\u0455": -3,
                "\u0456": -1,
                "\u0458": -3,
                "\u0459": -4,
                "\u045a": -3.5,
                "\u2013": -3.5,
                "\u2014": -4.5,
                "\u2018": -1.5,
                "\u2019": -1.5,
                "\u201c": -2.5,
                "\u201d": -2.5,
                "\u201e": -2.5,
                "\u2026": -4,
                "\u204a": -2.5,
                "\u2190": -4,
                "\u2191": -3,
                "\u2192": -4,
                "\u2193": -3,
                "\u21c4": -4,
                "\uff0b": -3,
                "\u018f": -3,
                "\u0259": -3,
                "\u025b": -3,
                "\u026a": -2,
                "\u04ae": -3,
                "\u04af": -3,
                "\u04e8": -3,
                "\u04e9": -3,
                "\u02bb": -1,
                "\u02cc": -1,
                "\u037e": -1,
                "\u0138": -2.5,
                "\u1e9e": -3,
                "\u20bd": -3.5,
                "\u20ac": -3.5,
                "\u0462": -3.5,
                "\u0463": -3.5,
                "\u0474": -3.5,
                "\u0475": -3.5,
                "\u04c0": -2,
                "\u0472": -3,
                "\u0473": -3,
                "\u2070": -2.5,
                "\u2074": -2.5,
                "\u2075": -2.5,
                "\u2076": -2.5,
                "\u2077": -2.5,
                "\u2078": -2.5,
                "\u2079": -2.5,
                "\u207a": -2,
                "\u207b": -2,
                "\u207c": -2,
                "\u207d": -1.5,
                "\u207e": -1.5,
                "\u2071": -1,
                "\u2122": -4.5,
                "\u0294": -3,
                "\u0295": -3,
                "\u29c8": -4,
                "\u2694": -4,
                "\u2620": -4,
                "\u049a": -3.5,
                "\u049b": -3,
                "\u0492": -3.5,
                "\u0493": -3,
                "\u04b0": -3,
                "\u04b1": -3,
                "\u04d8": -3,
                "\u04d9": -3,
                "\u0496": -4.5,
                "\u0497": -3.5,
                "\u04a2": -3.5,
                "\u04a3": -3.5,
                "\u04ba": -3,
                "\u05d0": -3,
                "\u05d1": -3,
                "\u05d2": -2.5,
                "\u05d3": -3,
                "\u05d4": -3,
                "\u05d5": -1,
                "\u05d6": -2,
                "\u05d7": -3,
                "\u05d8": -3,
                "\u05d9": -1,
                "\u05db": -3,
                "\u05dc": -3,
                "\u05de": -3,
                "\u05dd": -3,
                "\u05e0": -2,
                "\u05df": -1,
                "\u05e1": -3,
                "\u05e2": -3,
                "\u05e4": -3,
                "\u05e3": -3,
                "\u05e6": -3,
                "\u05e5": -3,
                "\u05e7": -3,
                "\u05e8": -3,
                "\u0387": -1,
                "\u2010": -2,
                "\u201a": -1.5,
                "\u2020": -3,
                "\u2021": -3,
                "\u2022": -1.5,
                "\u2031": -4.5,
                "\u2032": -1.5,
                "\u2033": -2.5,
                "\u2034": -3.5,
                "\u2035": -1.5,
                "\u2036": -2.5,
                "\u2037": -3.5,
                "\u2039": -2,
                "\u203a": -2,
                "\u203b": -4,
                "\u203c": -2,
                "\u203d": -3,
                "\u2042": -4,
                "\u2048": -4,
                "\u2049": -4,
                "\u204b": -3.5,
                "\u204e": -2,
                "\u204f": -1,
                "\u2051": -2,
                "\u2052": -2,
                "\u2057": -4.5,
                "\u2117": -4,
                "\u2212": -3,
                "\u2213": -3,
                "\u221e": -4,
                "\u2600": -4.5,
                "\u2601": -4.5,
                "\u2608": -4,
                "\u0404": -3,
                "\u2632": -3,
                "\u2635": -3,
                "\u263d": -4.5,
                "\u2640": -2,
                "\u2642": -3,
                "\u26a5": -3,
                "\u2660": -3,
                "\u2663": -3,
                "\u2665": -3,
                "\u2666": -3,
                "\u2669": -2,
                "\u266a": -3,
                "\u266b": -4,
                "\u266c": -4,
                "\u266d": -2,
                "\u266e": -2,
                "\u266f": -3,
                "\u2680": -4,
                "\u2681": -4,
                "\u2682": -4,
                "\u2683": -4,
                "\u2684": -4,
                "\u2685": -4,
                "\u02ac": -3,
                "\u26a1": -3,
                "\u26cf": -4.5,
                "\u2714": -3.5,
                "\u2744": -4,
                "\u274c": -3.5,
                "\u2764": -4,
                "\u2b50": -4,
                "\u2e18": -3,
                "\u2e2e": -3,
                "\u2e35": -1,
                "\u2e38": -3,
                "\u2e41": -1,
                "\u2e4b": -3,
                "\u295d": -3,
                "\u1614": -3,
                "\u0190": -3,
                "\u07c8": -3,
                "\u03db": -3,
                "\u3125": -3,
                "\u2c6f": -3,
                "\u15fa": -3,
                "\u0186": -3,
                "\u15e1": -3,
                "\u018e": -3,
                "\u2132": -3,
                "\u2141": -3,
                "\ua7b0": -3,
                "\ua780": -3,
                "\u0500": -3,
                "\ua779": -3,
                "\u1d1a": -3,
                "\u27d8": -3,
                "\u2229": -3,
                "\u0245": -3,
                "\u2144": -3,
                "\u0250": -3,
                "\u0254": -3,
                "\u01dd": -3,
                "\u025f": -2.5,
                "\u1d77": -3,
                "\u0265": -3,
                "\u1d09": -1,
                "\u027e": -3,
                "\u029e": -2.5,
                "\ua781": -1.5,
                "\u026f": -3,
                "\u0279": -3,
                "\u0287": -2,
                "\u028c": -3,
                "\u028d": -3,
                "\u028e": -3,
                "\u0531": -3,
                "\u0532": -3,
                "\u0533": -3.5,
                "\u0534": -3.5,
                "\u0536": -3,
                "\u0537": -3,
                "\u0539": -3.5,
                "\u053a": -3.5,
                "\u053b": -3,
                "\u053c": -2.5,
                "\u053d": -3.5,
                "\u053e": -3,
                "\u053f": -3,
                "\u0540": -3,
                "\u0541": -3,
                "\u0542": -3.5,
                "\u0543": -3,
                "\u0544": -3.5,
                "\u0545": -3,
                "\u0546": -3,
                "\u0547": -3,
                "\u0548": -3,
                "\u0549": -3,
                "\u054b": -3,
                "\u054c": -3.5,
                "\u054d": -3,
                "\u054e": -3,
                "\u054f": -3,
                "\u0550": -3,
                "\u0551": -3,
                "\u0552": -2.5,
                "\u0553": -3,
                "\u0554": -3,
                "\u0555": -3,
                "\u0556": -3,
                "\u0559": -1.5,
                "\u0561": -3,
                "\u0562": -3,
                "\u0563": -3.5,
                "\u0564": -3.5,
                "\u0565": -3,
                "\u0566": -3.5,
                "\u0567": -2.5,
                "\u0568": -3,
                "\u0569": -3,
                "\u056a": -3.5,
                "\u056b": -3,
                "\u056c": -1.5,
                "\u056d": -3.5,
                "\u056e": -3,
                "\u056f": -3,
                "\u0570": -3,
                "\u0571": -3,
                "\u0572": -3.5,
                "\u0573": -3,
                "\u0574": -3.5,
                "\u0575": -3,
                "\u0576": -3.5,
                "\u0577": -3,
                "\u0578": -3,
                "\u0579": -3,
                "\u057a": -3,
                "\u057b": -3,
                "\u057c": -3,
                "\u057d": -3,
                "\u057e": -3.5,
                "\u057f": -4,
                "\u0580": -3,
                "\u0581": -3,
                "\u0582": -2.5,
                "\u0583": -4,
                "\u0584": -3.5,
                "\u0585": -3,
                "\u0586": -3,
                "\u0587": -3.5,
                "\u05e9": -3,
                "\u05ea": -3,
                "\u0538": -3,
                "\u055a": -1.5,
                "\u055b": -1.5,
                "\u055c": -2,
                "\u055d": -1.5,
                "\u055e": -2,
                "\u055f": -3,
                "\u0560": -3,
                "\u0588": -3.5,
                "\u058f": -3,
                "\u017f": -2,
                "\u01b7": -3,
                "\u0292": -3,
                "\u01f7": -3,
                "\u01bf": -3,
                "\u021c": -3,
                "\u021d": -3,
                "\u0224": -3,
                "\u0225": -3,
                "\u02d9": -1,
                "\ua75a": -3,
                "\ua75b": -2.5,
                "\u2011": -2,
                "\u214b": -3,
                "\u23cf": -3,
                "\u23e9": -3.5,
                "\u23ea": -3.5,
                "\u23ed": -4,
                "\u23ee": -4,
                "\u23ef": -3.5,
                "\u23f4": -2,
                "\u23f5": -2,
                "\u23f6": -3,
                "\u23f7": -3,
                "\u23f8": -2,
                "\u23f9": -3,
                "\u23fa": -3,
                "\u23fb": -4,
                "\u23fc": -4,
                "\u23fd": -1,
                "\u2b58": -4,
                "\u25b2": -3,
                "\u25b6": -3.5,
                "\u25bc": -3,
                "\u25c0": -3.5,
                "\u25cf": -2.5,
                "\u25e6": -2,
                "\u25d8": -2,
                "\u2693": -4,
                "\u26e8": -4,
                "\u0132": -3,
                "\u0133": -2.5,
                "\u01c9": -4,
                "\ua728": -4,
                "\ua729": -3.5,
                "\ua739": -4.5,
                "\ua73b": -4.5,
                "\ufb00": -4,
                "\ufb01": -3,
                "\ufb02": -3.5,
                "\ufb03": -4.5,
                "\ufb05": -3,
                "\ufffd": -4,
                "\u0535": -3,
                "\u054a": -3,
                "\u16a0": -2.5,
                "\u16a2": -3,
                "\u16a3": -3,
                "\u16a4": -3,
                "\u16a5": -3,
                "\u16a6": -2.5,
                "\u16a7": -2.5,
                "\u16a8": -2,
                "\u16a9": -2.5,
                "\u16aa": -2.5,
                "\u16ab": -2.5,
                "\u16ac": -3,
                "\u16ad": -2,
                "\u16ae": -2,
                "\u16af": -3,
                "\u16b0": -3,
                "\u16b1": -2.5,
                "\u16b2": -2,
                "\u16b3": -2.5,
                "\u16b4": -2.5,
                "\u16b6": -3,
                "\u16b7": -3,
                "\u16b8": -3,
                "\u16b9": -2.5,
                "\u16ba": -3,
                "\u16bb": -3,
                "\u16bc": -3,
                "\u16bd": -2,
                "\u16be": -3,
                "\u16bf": -2,
                "\u16c0": -3,
                "\u16c1": -1,
                "\u16c2": -2,
                "\u16c3": -3.5,
                "\u16c4": -3,
                "\u16c5": -3,
                "\u16c6": -2,
                "\u16c7": -3,
                "\u16c8": -2.5,
                "\u16c9": -3,
                "\u16ca": -2,
                "\u16cb": -3,
                "\u16cc": -1,
                "\u16cd": -2,
                "\u16ce": -3,
                "\u16cf": -3,
                "\u16d0": -2,
                "\u16d1": -2.5,
                "\u16d2": -2.5,
                "\u16d3": -2,
                "\u16d4": -2.5,
                "\u16d5": -2.5,
                "\u16d6": -3,
                "\u16d7": -3,
                "\u16d8": -3,
                "\u16d9": -2,
                "\u16da": -2,
                "\u16db": -2.5,
                "\u16dc": -3,
                "\u16dd": -3,
                "\u16de": -3,
                "\u16df": -3.5,
                "\u16e0": -4,
                "\u16e1": -3,
                "\u16e2": -4,
                "\u16e3": -3,
                "\u16e4": -3,
                "\u16e5": -3,
                "\u16e6": -3,
                "\u16e7": -1,
                "\u16e8": -3,
                "\u16e9": -2.5,
                "\u16ea": -4,
                "\u16eb": -1.5,
                "\u16ec": -1,
                "\u16ed": -3,
                "\u16ee": -3,
                "\u16ef": -3,
                "\u16f0": -3,
                "\u16f1": -3,
                "\u16f2": -3,
                "\u16f3": -4,
                "\u16f4": -2.5,
                "\u16f5": -1.5,
                "\u16f6": -3,
                "\u16f7": -3,
                "\u16f8": -3,
                "\u263a": -3,
                "\u263b": -4,
                "\u2639": -3,
                "\u05da": -3,
                "\u05f3": -1.5,
                "\u05f4": -2.5,
                "\u05f0": -2,
                "\u05f1": -2,
                "\u05f2": -2,
                "\u05be": -3,
                "\u05c3": -1,
                "\u05c6": -2,
                "\u1d00": -3,
                "\u0299": -3,
                "\u1d04": -3,
                "\u1d05": -3,
                "\u1d07": -3,
                "\ua730": -3,
                "\u0262": -3,
                "\u029c": -3,
                "\u1d0a": -3,
                "\u1d0b": -3,
                "\u029f": -3,
                "\u1d0d": -3,
                "\u0274": -3,
                "\u1d0f": -3,
                "\u1d18": -3,
                "\ua7af": -3,
                "\u0280": -3,
                "\ua731": -3,
                "\u1d1b": -3,
                "\u1d1c": -3,
                "\u1d20": -3,
                "\u1d21": -3,
                "\u028f": -3,
                "\u1d22": -3,
                "\u0271": -3,
                "\u0273": -3.5,
                "\u0272": -3.5,
                "\u0288": -2,
                "\u0256": -3.5,
                "\u0261": -3,
                "\u02a1": -3,
                "\u0255": -3,
                "\u0291": -3,
                "\u0278": -3,
                "\u029d": -3,
                "\u02a2": -3,
                "\u027b": -3.5,
                "\u0281": -3,
                "\u0266": -3,
                "\u028b": -3,
                "\u0270": -3,
                "\u026c": -2.5,
                "\u026e": -3,
                "\u0298": -3,
                "\u01c0": -1,
                "\u01c3": -1,
                "\u01c2": -3,
                "\u01c1": -2,
                "\u0253": -3,
                "\u0257": -3.5,
                "\u1d91": -3.5,
                "\u0284": -3.5,
                "\u0260": -3.5,
                "\u029b": -3.5,
                "\u0267": -3,
                "\u026b": -3,
                "\u0268": -2,
                "\u0289": -4,
                "\u028a": -3,
                "\u0258": -3,
                "\u0275": -3,
                "\u0264": -3,
                "\u025c": -3,
                "\u025e": -3,
                "\u0251": -3,
                "\u0252": -3,
                "\u025a": -4,
                "\u025d": -4,
                "\u0181": -4,
                "\u0189": -3.5,
                "\u0191": -3.5,
                "\u01a9": -3,
                "\u01b2": -3,
                "\u10a0": -3,
                "\u10a1": -4,
                "\u10a2": -4,
                "\u10a3": -3,
                "\u10a4": -3,
                "\u10a5": -4,
                "\u10a6": -4,
                "\u10a7": -4,
                "\u10a8": -3,
                "\u10a9": -3,
                "\u10aa": -4,
                "\u10ab": -3.5,
                "\u10ac": -3,
                "\u10ad": -4,
                "\u10ae": -4,
                "\u10af": -3.5,
                "\u10b0": -4,
                "\u10b1": -3,
                "\u10b2": -3,
                "\u10b3": -4,
                "\u10b4": -3,
                "\u10b5": -3,
                "\u10b6": -3,
                "\u10b7": -3,
                "\u10b8": -3,
                "\u10b9": -3,
                "\u10ba": -3,
                "\u10bb": -4,
                "\u10bc": -3,
                "\u10bd": -3,
                "\u10be": -3,
                "\u10bf": -3,
                "\u10c0": -4,
                "\u10c1": -3,
                "\u10c2": -3,
                "\u10c3": -3,
                "\u10c4": -3,
                "\u10c5": -4,
                "\u10c7": -3,
                "\u10cd": -3,
                "\u10d0": -3,
                "\u10d1": -3,
                "\u10d2": -3,
                "\u10d3": -3,
                "\u10d4": -3,
                "\u10d5": -3,
                "\u10d6": -3,
                "\u10d7": -3,
                "\u10d8": -3,
                "\u10d9": -3,
                "\u10da": -4,
                "\u10db": -3,
                "\u10dc": -3,
                "\u10dd": -3,
                "\u10de": -3,
                "\u10df": -3,
                "\u10e0": -3,
                "\u10e1": -3,
                "\u10e2": -3,
                "\u10e3": -3,
                "\u10e4": -3,
                "\u10e5": -3,
                "\u10e6": -3,
                "\u10e7": -3,
                "\u10e8": -3,
                "\u10e9": -3,
                "\u10ea": -3,
                "\u10eb": -3,
                "\u10ec": -3,
                "\u10ed": -3,
                "\u10ee": -3,
                "\u10ef": -2.5,
                "\u10f0": -3,
                "\u10f1": -3.5,
                "\u10f2": -3,
                "\u10f3": -3,
                "\u10f4": -3,
                "\u10f5": -3,
                "\u10f6": -3,
                "\u10f7": -3,
                "\u10f8": -3,
                "\u10f9": -3,
                "\u10fa": -3,
                "\u10fb": -2,
                "\u10fc": -2,
                "\u10fd": -3,
                "\u10fe": -3,
                "\u10ff": -3,
                "\ufb4a": -3,
                "\ufb2b": -3,
                "\ufb4e": -3,
                "\ufb44": -3,
                "\ufb3b": -2.5,
                "\ufb1f": -2,
                "\ufb1d": -1,
                "\ufb4b": -1.5,
                "\ufb35": -2,
                "\ufb4c": -3,
                "\ufb31": -3,
                "\ua727": -3,
                "\ua726": -3,
                "\u027a": -3,
                "\u2c71": -4,
                "\u02a0": -3.5,
                "\u0297": -3,
                "\u0296": -3,
                "\u026d": -1.5,
                "\u0277": -4,
                "\u027f": -3,
                "\u0285": -3,
                "\u0286": -3.5,
                "\u0293": -3,
                "\u029a": -3,
                "\u20aa": -4,
                "\u20be": -3.5,
                "\u058a": -3,
                "\u2d00": -3,
                "\u2d01": -3.5,
                "\u2d02": -3.5,
                "\u2d03": -3,
                "\u2d04": -3,
                "\u2d05": -3,
                "\u2d06": -3.5,
                "\u2d21": -3,
                "\u2d07": -3,
                "\u2d08": -3,
                "\u2d09": -3,
                "\u2d0a": -3,
                "\u2d0b": -3,
                "\u2d0c": -3,
                "\u2d22": -3,
                "\u2d0d": -3,
                "\u2d0e": -3.5,
                "\u2d0f": -3.5,
                "\u2d10": -3,
                "\u2d11": -3,
                "\u2d12": -3,
                "\u2d23": -3,
                "\u2d13": -3,
                "\u2d14": -3,
                "\u2d15": -3,
                "\u2d16": -3,
                "\u2d17": -3,
                "\u2d18": -3,
                "\u2d19": -3,
                "\u2d1a": -3,
                "\u2d1b": -3,
                "\u2d1c": -3,
                "\u2d1d": -3.5,
                "\u2d1e": -3,
                "\u2d24": -3,
                "\u2d1f": -3,
                "\u2d20": -3,
                "\u2d25": -3,
                "\u215b": -4.5,
                "\u215c": -4.5,
                "\u215d": -4.5,
                "\u215e": -4.5,
                "\u2153": -4.5,
                "\u2154": -4.5,
                "\u2709": -4,
                "\u2602": -4,
                "\u2614": -4,
                "\u2604": -4,
                "\u26c4": -3.5,
                "\u2603": -4,
                "\u231b": -4,
                "\u231a": -4,
                "\u2690": -4,
                "\u270e": -4,
                "\u2763": -3,
                "\u2664": -3,
                "\u2667": -3,
                "\u2661": -3,
                "\u2662": -3,
                "\u26c8": -4.5,
                "\u2630": -3,
                "\u2631": -3,
                "\u2633": -3,
                "\u2634": -3,
                "\u2636": -3,
                "\u2637": -3,
                "\u2194": -4.5,
                "\u21d2": -4.5,
                "\u21cf": -4.5,
                "\u21d4": -4.5,
                "\u21f5": -3.5,
                "\u2200": -4,
                "\u2203": -3,
                "\u2204": -3,
                "\u2209": -3,
                "\u220b": -3,
                "\u220c": -3,
                "\u2282": -3,
                "\u2283": -3,
                "\u2284": -3,
                "\u2285": -3,
                "\u2227": -3,
                "\u2228": -3,
                "\u22bb": -3,
                "\u22bc": -3,
                "\u22bd": -3,
                "\u2225": -2,
                "\u2262": -3.5,
                "\u22c6": -2,
                "\u2211": -3,
                "\u22a4": -3,
                "\u22a5": -3,
                "\u22a2": -3,
                "\u22a8": -3,
                "\u2254": -4,
                "\u2201": -2.5,
                "\u2234": -3,
                "\u2235": -3,
                "\u221b": -4,
                "\u221c": -4,
                "\u2202": -3,
                "\u22c3": -3,
                "\u2286": -3,
                "\u2287": -3,
                "\u25a1": -3,
                "\u25b3": -3,
                "\u25b7": -3.5,
                "\u25bd": -3,
                "\u25c1": -3.5,
                "\u25c6": -3,
                "\u25c7": -3,
                "\u25cb": -3,
                "\u25ce": -4,
                "\u2606": -4,
                "\u2605": -4,
                "\u2718": -3.5,
                "\u2080": -2.5,
                "\u2081": -2,
                "\u2082": -2.5,
                "\u2083": -2.5,
                "\u2084": -2.5,
                "\u2085": -2.5,
                "\u2086": -2.5,
                "\u2087": -2.5,
                "\u2088": -2.5,
                "\u2089": -2.5,
                "\u208a": -2,
                "\u208b": -2,
                "\u208c": -2,
                "\u208d": -1.5,
                "\u208e": -1.5,
                "\u222b": -3,
                "\u222e": -3,
                "\u221d": -3.5,
                "\u2300": -4,
                "\u2302": -4,
                "\u2318": -4,
                "\u3012": -3,
                "\u027c": -3,
                "\u0184": -3.5,
                "\u0185": -3.5,
                "\u1e9f": -3,
                "\u023d": -3.5,
                "\u019a": -2,
                "\u019b": -3,
                "\u0220": -3,
                "\u019e": -3,
                "\u019f": -3,
                "\u01a7": -3,
                "\u01a8": -3,
                "\u01aa": -3,
                "\u01b8": -3,
                "\u01b9": -3,
                "\u01bb": -3,
                "\u01bc": -3,
                "\u01bd": -3,
                "\u01be": -3,
                "\u0221": -4,
                "\u0234": -2,
                "\u0235": -4,
                "\u0236": -2.5,
                "\u023a": -3,
                "\u2c65": -3.5,
                "\u023b": -3,
                "\u023c": -3,
                "\u0246": -3,
                "\u0247": -3.5,
                "\u023e": -3,
                "\u2c66": -3,
                "\u0241": -3,
                "\u0242": -3,
                "\u0243": -3.5,
                "\u0244": -4,
                "\u0248": -3.5,
                "\u0249": -3.5,
                "\u024a": -3.5,
                "\u024b": -3.5,
                "\u024c": -3.5,
                "\u024d": -3.5,
                "\u024e": -4,
                "\u024f": -4,
                "\u1e9c": -2.5,
                "\u1e9d": -2.5,
                "\u1efc": -3,
                "\u1efd": -2.5,
                "\u1efe": -3,
                "\u1eff": -3.5,
                "\ua7a8": -3.5,
                "\ua7a9": -3,
                "\ud800\udf30": -3,
                "\ud800\udf31": -3,
                "\ud800\udf32": -3,
                "\ud800\udf33": -3,
                "\ud800\udf34": -3,
                "\ud800\udf35": -3,
                "\ud800\udf36": -3,
                "\ud800\udf37": -3,
                "\ud800\udf38": -3,
                "\ud800\udf39": -1,
                "\ud800\udf3a": -3,
                "\ud800\udf3b": -3,
                "\ud800\udf3c": -3,
                "\ud800\udf3d": -3,
                "\ud800\udf3e": -3,
                "\ud800\udf3f": -3,
                "\ud800\udf40": -3,
                "\ud800\udf41": -3,
                "\ud800\udf42": -3,
                "\ud800\udf43": -3,
                "\ud800\udf44": -3,
                "\ud800\udf45": -3,
                "\ud800\udf46": -3,
                "\ud800\udf47": -3,
                "\ud800\udf48": -3,
                "\ud800\udf49": -3,
                "\ud800\udf4a": -3,
                "\ud83c\udf27": -4.5,
                "\ud83d\udd25": -3.5,
                "\ud83c\udf0a": -4.5,
                "\u2150": -4.5,
                "\u2151": -4.5,
                "\u2155": -4.5,
                "\u2156": -4.5,
                "\u2157": -4.5,
                "\u2159": -4,
                "\u215a": -4,
                "\u215f": -3.5,
                "\u2189": -4.5,
                "\ud83d\udde1": -4.5,
                "\ud83c\udff9": -4.5,
                "\ud83e\ude93": -3.5,
                "\ud83d\udd31": -4.5,
                "\ud83c\udfa3": -4.5,
                "\ud83e\uddea": -4,
                "\u2697": -4,
                "\u2bea": -4,
                "\u2beb": -4,
                "\u2c6d": -3,
                "\ud83d\udee1": -4,
                "\u2702": -4,
                "\ud83c\udf56": -4.5,
                "\ud83e\udea3": -4,
                "\ud83d\udd14": -4,
                "\u23f3": -4,
                "\u2691": -4,
                "\u20a0": -3,
                "\u20a1": -3,
                "\u20a2": -3,
                "\u20a3": -3.5,
                "\u20a4": -3,
                "\u20a5": -3,
                "\u20a6": -4,
                "\u20a9": -4,
                "\u20ab": -3.5,
                "\u20ad": -3.5,
                "\u20ae": -3,
                "\u20b0": -3,
                "\u20b1": -4,
                "\u20b2": -3,
                "\u20b3": -4,
                "\u20b5": -3,
                "\u20b6": -3,
                "\u20b7": -4,
                "\u20b8": -3,
                "\u20b9": -3,
                "\u20ba": -3.5,
                "\u20bb": -4,
                "\u20bc": -3,
                "\u20bf": -3
            }
        }
    ]
}


================================================
FILE: base/assets/gm4/font/offscreen.json
================================================
{
    "providers": [
        {
            "type": "space",
            "advances": {
                "0": 6,
                "1": 6,
                "2": 6,
                "3": 6,
                "4": 6,
                "5": 6,
                "6": 6,
                "7": 6,
                "8": 6,
                "9": 6,
                "\u0000": 9,
                "\u0001": 9,
                "\u0002": 9,
                "\u0003": 9,
                "\u0004": 9,
                "\u0005": 9,
                "\u0006": 9,
                "\u0007": 9,
                "\b": 9,
                "\t": 9,
                "\n": 9,
                "\u000b": 9,
                "\f": 9,
                "\r": 9,
                "\u000e": 9,
                "\u000f": 9,
                "\u0010": 9,
                "\u0011": 9,
                "\u0012": 9,
                "\u0013": 9,
                "\u0014": 9,
                "\u0015": 9,
                "\u0016": 9,
                "\u0017": 9,
                "\u0018": 9,
                "\u0019": 9,
                "\u001a": 9,
                "\u001b": 9,
                "\u001c": 9,
                "\u001d": 9,
                "\u001e": 9,
                "\u001f": 9,
                " ": 4,
                "!": 2,
                "\"": 4,
                "#": 6,
                "$": 6,
                "%": 6,
                "&": 6,
                "'": 2,
                "(": 4,
                ")": 4,
                "*": 4,
                "+": 6,
                ",": 2,
                "-": 6,
                ".": 2,
                "/": 6,
                ":": 2,
                ";": 2,
                "<": 5,
                "=": 6,
                ">": 5,
                "?": 6,
                "@": 7,
                "A": 6,
                "B": 6,
                "C": 6,
                "D": 6,
                "E": 6,
                "F": 6,
                "G": 6,
                "H": 6,
                "I": 4,
                "J": 6,
                "K": 6,
                "L": 6,
                "M": 6,
                "N": 6,
                "O": 6,
                "P": 6,
                "Q": 6,
                "R": 6,
                "S": 6,
                "T": 6,
                "U": 6,
                "V": 6,
                "W": 6,
                "X": 6,
                "Y": 6,
                "Z": 6,
                "[": 4,
                "\\": 6,
                "]": 4,
                "^": 6,
                "_": 6,
                "`": 3,
                "a": 6,
                "b": 6,
                "c": 6,
                "d": 6,
                "e": 6,
                "f": 5,
                "g": 6,
                "h": 6,
                "i": 2,
                "j": 6,
                "k": 5,
                "l": 3,
                "m": 6,
                "n": 6,
                "o": 6,
                "p": 6,
                "q": 6,
                "r": 6,
                "s": 6,
                "t": 4,
                "u": 6,
                "v": 6,
                "w": 6,
                "x": 6,
                "y": 6,
                "z": 6,
                "{": 4,
                "|": 2,
                "}": 4,
                "~": 7,
                "\u007f": 9,
                "\u0080": 9,
                "\u0081": 9,
                "\u0082": 9,
                "\u0083": 9,
                "\u0084": 9,
                "\u0085": 9,
                "\u0086": 9,
                "\u0087": 9,
                "\u0088": 9,
                "\u0089": 9,
                "\u008a": 9,
                "\u008b": 9,
                "\u008c": 9,
                "\u008d": 9,
                "\u008e": 9,
                "\u008f": 9,
                "\u0090": 9,
                "\u0091": 9,
                "\u0092": 9,
                "\u0093": 9,
                "\u0094": 9,
                "\u0095": 9,
                "\u0096": 9,
                "\u0097": 9,
                "\u0098": 9,
                "\u0099": 9,
                "\u009a": 9,
                "\u009b": 9,
                "\u009c": 9,
                "\u009d": 9,
                "\u009e": 9,
                "\u009f": 9,
                "\u00a0": 9,
                "\u00a1": 2,
                "\u00a2": 6,
                "\u00a3": 6,
                "\u00a4": 8,
                "\u00a5": 6,
                "\u00a6": 2,
                "\u00a7": 6,
                "\u00a8": 4,
                "\u00a9": 8,
                "\u00aa": 5,
                "\u00ab": 7,
                "\u00ac": 6,
                "\u00ad": 4,
                "\u00ae": 8,
                "\u00af": 6,
                "\u00b0": 5,
                "\u00b1": 6,
                "\u00b2": 5,
                "\u00b3": 5,
                "\u00b4": 3,
                "\u00b5": 6,
                "\u00b6": 7,
                "\u00b7": 2,
                "\u00b8": 2,
                "\u00b9": 4,
                "\u00ba": 5,
                "\u00bb": 7,
                "\u00bc": 8,
                "\u00bd": 8,
                "\u00be": 8,
                "\u00bf": 6,
                "\u00c0": 6,
                "\u00c1": 6,
                "\u00c2": 6,
                "\u00c3": 6,
                "\u00c4": 6,
                "\u00c5": 6,
                "\u00c6": 10,
                "\u00c7": 6,
                "\u00c8": 6,
                "\u00c9": 6,
                "\u00ca": 6,
                "\u00cb": 6,
                "\u00cc": 4,
                "\u00cd": 4,
                "\u00ce": 4,
                "\u00cf": 4,
                "\u00d0": 7,
                "\u00d1": 6,
                "\u00d2": 6,
                "\u00d3": 6,
                "\u00d4": 6,
                "\u00d5": 6,
                "\u00d6": 6,
                "\u00d7": 6,
                "\u00d8": 6,
                "\u00d9": 6,
                "\u00da": 6,
                "\u00db": 6,
                "\u00dc": 6,
                "\u00dd": 6,
                "\u00de": 6,
                "\u00df": 6,
                "\u00e0": 6,
                "\u00e1": 6,
                "\u00e2": 6,
                "\u00e3": 6,
                "\u00e4": 6,
                "\u00e5": 6,
                "\u00e6": 10,
                "\u00e7": 6,
                "\u00e8": 6,
                "\u00e9": 6,
                "\u00ea": 6,
                "\u00eb": 6,
                "\u00ec": 3,
                "\u00ed": 3,
                "\u00ee": 4,
                "\u00ef": 4,
                "\u00f0": 6,
                "\u00f1": 6,
                "\u00f2": 6,
                "\u00f3": 6,
                "\u00f4": 6,
                "\u00f5": 6,
                "\u00f6": 6,
                "\u00f7": 6,
                "\u00f8": 6,
                "\u00f9": 6,
                "\u00fa": 6,
                "\u00fb": 6,
                "\u00fc": 6,
                "\u00fd": 6,
                "\u00fe": 6,
                "\u00ff": 6,
                "\u0192": 6,
                "\u2591": 8,
                "\u2592": 9,
                "\u2593": 9,
                "\u2502": 6,
                "\u2524": 6,
                "\u2561": 6,
                "\u2562": 8,
                "\u2556": 8,
                "\u2555": 6,
                "\u2563": 8,
                "\u2551": 8,
                "\u2557": 8,
                "\u255d": 8,
                "\u255c": 8,
                "\u255b": 6,
                "\u2510": 6,
                "\u2514": 9,
                "\u2534": 9,
                "\u252c": 9,
                "\u251c": 9,
                "\u2500": 9,
                "\u253c": 9,
                "\u255e": 9,
                "\u255f": 9,
                "\u255a": 9,
                "\u2554": 9,
                "\u2569": 9,
                "\u2566": 9,
                "\u2560": 9,
                "\u2550": 9,
                "\u256c": 9,
                "\u2567": 9,
                "\u2568": 9,
                "\u2564": 9,
                "\u2565": 9,
                "\u2559": 9,
                "\u2558": 9,
                "\u2552": 9,
                "\u2553": 9,
                "\u256b": 9,
                "\u256a": 9,
                "\u2518": 6,
                "\u250c": 9,
                "\u2588": 9,
                "\u2584": 9,
                "\u258c": 5,
                "\u2590": 9,
                "\u2580": 9,
                "\u2205": 8,
                "\u2208": 6,
                "\u2261": 7,
                "\u2265": 6,
                "\u2264": 6,
                "\u2320": 8,
                "\u2321": 5,
                "\u2248": 7,
                "\u2219": 6,
                "\u221a": 7,
                "\u207f": 5,
                "\u25a0": 6,
                "\u0100": 6,
                "\u0101": 6,
                "\u0102": 6,
                "\u0103": 6,
                "\u0104": 6,
                "\u0105": 6,
                "\u0106": 6,
                "\u0107": 6,
                "\u0108": 6,
                "\u0109": 6,
                "\u010a": 6,
                "\u010b": 6,
                "\u010c": 6,
                "\u010d": 6,
                "\u010e": 6,
                "\u010f": 8,
                "\u0110": 7,
                "\u0111": 7,
                "\u0112": 6,
                "\u0113": 6,
                "\u0114": 6,
                "\u0115": 6,
                "\u0116": 6,
                "\u0117": 6,
                "\u0118": 6,
                "\u0119": 6,
                "\u011a": 6,
                "\u011b": 6,
                "\u011c": 6,
                "\u011d": 6,
                "\u1e20": 6,
                "\u1e21": 6,
                "\u011e": 6,
                "\u011f": 6,
                "\u0120": 6,
                "\u0121": 6,
                "\u0122": 6,
                "\u0123": 6,
                "\u0124": 6,
                "\u0125": 6,
                "\u0126": 8,
                "\u0127": 7,
                "\u0128": 5,
                "\u0129": 5,
                "\u012a": 4,
                "\u012b": 4,
                "\u012c": 5,
                "\u012d": 5,
                "\u012e": 4,
                "\u012f": 3,
                "\u0130": 4,
                "\u0131": 2,
                "\u0134": 6,
                "\u0135": 6,
                "\u0136": 6,
                "\u0137": 5,
                "\u0139": 6,
                "\u013a": 3,
                "\u013b": 6,
                "\u013c": 3,
                "\u013d": 6,
                "\u013e": 4,
                "\u013f": 6,
                "\u0140": 4,
                "\u0141": 7,
                "\u0142": 5,
                "\u0143": 6,
                "\u0144": 6,
                "\u0145": 6,
                "\u0146": 6,
                "\u0147": 6,
                "\u0148": 6,
                "\u014a": 6,
                "\u014b": 6,
                "\u014c": 6,
                "\u014d": 6,
                "\u014e": 6,
                "\u014f": 6,
                "\u0150": 6,
                "\u0151": 6,
                "\u0152": 10,
                "\u0153": 10,
                "\u0154": 6,
                "\u0155": 6,
                "\u0156": 6,
                "\u0157": 6,
                "\u0158": 6,
                "\u0159": 6,
                "\u015a": 6,
                "\u015b": 6,
                "\u015c": 6,
                "\u015d": 6,
                "\u015e": 6,
                "\u015f": 6,
                "\u0160": 6,
                "\u0161": 6,
                "\u0162": 6,
                "\u0163": 4,
                "\u0164": 6,
                "\u0165": 5,
                "\u0166": 6,
                "\u0167": 4,
                "\u0168": 6,
                "\u0169": 6,
                "\u016a": 6,
                "\u016b": 6,
                "\u016c": 6,
                "\u016d": 6,
                "\u016e": 6,
                "\u016f": 6,
                "\u0170": 6,
                "\u0171": 6,
                "\u0172": 6,
                "\u0173": 6,
                "\u0174": 6,
                "\u0175": 6,
                "\u0176": 6,
                "\u0177": 6,
                "\u0178": 6,
                "\u0179": 6,
                "\u017a": 6,
                "\u017b": 6,
                "\u017c": 6,
                "\u017d": 6,
                "\u017e": 6,
                "\u01fc": 10,
                "\u01fd": 10,
                "\u01fe": 6,
                "\u01ff": 6,
                "\u0218": 6,
                "\u0219": 6,
                "\u021a": 6,
                "\u021b": 4,
                "\u0386": 8,
                "\u0388": 8,
                "\u0389": 8,
                "\u038a": 6,
                "\u038c": 8,
                "\u038e": 8,
                "\u038f": 8,
                "\u0390": 6,
                "\u03aa": 4,
                "\u03ab": 6,
                "\u03ac": 6,
                "\u03ad": 6,
                "\u03ae": 6,
                "\u03af": 3,
                "\u03b0": 6,
                "\u03ca": 4,
                "\u03cb": 6,
                "\u03cc": 6,
                "\u03cd": 6,
                "\u03ce": 8,
                "\u0400": 6,
                "\u0401": 6,
                "\u0403": 6,
                "\u0407": 4,
                "\u040c": 6,
                "\u040d": 6,
                "\u040e": 6,
                "\u0419": 6,
                "\u0439": 6,
                "\u0450": 6,
                "\u0451": 6,
                "\u0452": 7,
                "\u0453": 5,
                "\u0457": 4,
                "\u045b": 7,
                "\u045c": 5,
                "\u045d": 6,
                "\u045e": 6,
                "\u045f": 6,
                "\u0490": 6,
                "\u0491": 6,
                "\u1e02": 6,
                "\u1e03": 6,
                "\u1e0a": 6,
                "\u1e0b": 6,
                "\u1e1e": 6,
                "\u1e1f": 5,
                "\u1e22": 6,
                "\u1e23": 6,
                "\u1e30": 6,
                "\u1e31": 5,
                "\u1e40": 6,
                "\u1e41": 6,
                "\u1e56": 6,
                "\u1e57": 6,
                "\u1e60": 6,
                "\u1e61": 6,
                "\u1e6a": 6,
                "\u1e6b": 4,
                "\u1e80": 6,
                "\u1e81": 6,
                "\u1e82": 6,
                "\u1e83": 6,
                "\u1e84": 6,
                "\u1e85": 6,
                "\u1ef2": 6,
                "\u1ef3": 6,
                "\u0149": 8,
                "\u01e7": 6,
                "\u01eb": 6,
                "\u040f": 6,
                "\u1e0d": 6,
                "\u1e25": 6,
                "\u1e5b": 6,
                "\u1e6d": 4,
                "\u1e92": 6,
                "\u1eca": 4,
                "\u1ecb": 2,
                "\u1ecc": 6,
                "\u1ecd": 6,
                "\u1ee4": 6,
                "\u1ee5": 6,
                "\u2116": 10,
                "\u0207": 6,
                "\u0194": 6,
                "\u0263": 6,
                "\u0283": 6,
                "\u2047": 10,
                "\u01f1": 10,
                "\u01f2": 10,
                "\u01f3": 10,
                "\u01c4": 10,
                "\u01c5": 10,
                "\u01c6": 10,
                "\u01c7": 10,
                "\u01c8": 10,
                "\u01ca": 10,
                "\u01cb": 10,
                "\u01cc": 10,
                "\u2139": 10,
                "\u1d6b": 10,
                "\ua732": 10,
                "\ua733": 10,
                "\ua734": 10,
                "\ua735": 10,
                "\ua736": 10,
                "\ua737": 10,
                "\ua738": 10,
                "\ua73a": 10,
                "\ua73c": 10,
                "\ua73d": 9,
                "\ua74e": 10,
                "\ua74f": 10,
                "\ua760": 6,
                "\ua761": 6,
                "\ufb04": 10,
                "\ufb06": 10,
                "\u16a1": 5,
                "\u16b5": 5,
                "\u01a0": 8,
                "\u01a1": 8,
                "\u01af": 8,
                "\u01b0": 8,
                "\u1eae": 6,
                "\u1eaf": 6,
                "\u1ea4": 6,
                "\u1ea5": 6,
                "\u1ebe": 6,
                "\u1ebf": 6,
                "\u1ed1": 6,
                "\u1eda": 8,
                "\u1edb": 8,
                "\u1ee8": 8,
                "\u1ee9": 8,
                "\u1eb0": 6,
                "\u1eb1": 6,
                "\u1ea6": 6,
                "\u1ea7": 6,
                "\u1ec0": 6,
                "\u1ec1": 6,
                "\u1ed3": 6,
                "\u1edc": 8,
                "\u1edd": 8,
                "\u1eea": 8,
                "\u1eeb": 8,
                "\u1ea2": 6,
                "\u1ea3": 6,
                "\u1eb2": 6,
                "\u1eb3": 6,
                "\u1ea8": 6,
                "\u1ea9": 6,
                "\u1eba": 6,
                "\u1ebb": 6,
                "\u1ed5": 6,
                "\u1ede": 8,
                "\u1ec2": 6,
                "\u1ec3": 6,
                "\u1ec8": 4,
                "\u1ec9": 4,
                "\u1ece": 6,
                "\u1ecf": 6,
                "\u1ed4": 6,
                "\u1edf": 8,
                "\u1ee6": 6,
                "\u1ee7": 6,
                "\u1eec": 8,
                "\u1eed": 8,
                "\u1ef6": 6,
                "\u1ef7": 6,
                "\u1ea0": 6,
                "\u1ea1": 6,
                "\u1eb6": 6,
                "\u1eb7": 6,
                "\u1eac": 6,
                "\u1ead": 6,
                "\u1eb8": 6,
                "\u1eb9": 6,
                "\u1ec6": 6,
                "\u1ec7": 6,
                "\u1ed8": 6,
                "\u1ed9": 6,
                "\u1ee2": 8,
                "\u1ee3": 8,
                "\u1ef0": 8,
                "\u1ef1": 8,
                "\u1ef4": 6,
                "\u1ef5": 6,
                "\u1ed0": 6,
                "\u0195": 9,
                "\u1eaa": 6,
                "\u1eab": 6,
                "\u1ed6": 6,
                "\u1ed7": 6,
                "\u1eef": 8,
                "\u261e": 10,
                "\u261c": 10,
                "\u262e": 10,
                "\u1eb4": 6,
                "\u1eb5": 6,
                "\u1ebc": 6,
                "\u1ebd": 6,
                "\u1ec4": 6,
                "\u1ec5": 6,
                "\u1ed2": 6,
                "\u1ee0": 8,
                "\u1ee1": 8,
                "\u1eee": 8,
                "\u1ef8": 6,
                "\u1ef9": 6,
                "\u0498": 6,
                "\u0499": 6,
                "\u04a0": 7,
                "\u04a1": 6,
                "\u04aa": 6,
                "\u04ab": 6,
                "\u01f6": 9,
                "\u26a0": 10,
                "\u24ea": 10,
                "\u2460": 10,
                "\u2461": 10,
                "\u2462": 10,
                "\u2463": 10,
                "\u2464": 10,
                "\u2465": 10,
                "\u2466": 10,
                "\u2467": 10,
                "\u2468": 10,
                "\u2469": 10,
                "\u246a": 10,
                "\u246b": 10,
                "\u246c": 10,
                "\u246d": 10,
                "\u246e": 10,
                "\u246f": 10,
                "\u2470": 10,
                "\u2471": 10,
                "\u2472": 10,
                "\u2473": 10,
                "\u24b6": 10,
                "\u24b7": 10,
                "\u24b8": 10,
                "\u24b9": 10,
                "\u24ba": 10,
                "\u24bb": 10,
                "\u24bc": 10,
                "\u24bd": 10,
                "\u24be": 10,
                "\u24bf": 10,
                "\u24c0": 10,
                "\u24c1": 10,
                "\u24c2": 10,
                "\u24c3": 10,
                "\u24c4": 10,
                "\u24c5": 10,
                "\u24c6": 10,
                "\u24c7": 10,
                "\u24c8": 10,
                "\u24c9": 10,
                "\u24ca": 10,
                "\u24cb": 10,
                "\u24cc": 10,
                "\u24cd": 10,
                "\u24ce": 10,
                "\u24cf": 10,
                "\u24d0": 10,
                "\u24d1": 10,
                "\u24d2": 10,
                "\u24d3": 10,
                "\u24d4": 10,
                "\u24d5": 10,
                "\u24d6": 10,
                "\u24d7": 10,
                "\u24d8": 10,
                "\u24d9": 10,
                "\u24da": 10,
                "\u24db": 10,
                "\u24dc": 10,
                "\u24dd": 10,
                "\u24de": 10,
                "\u24df": 10,
                "\u24e0": 10,
                "\u24e1": 10,
                "\u24e2": 10,
                "\u24e3": 10,
                "\u24e4": 10,
                "\u24e5": 10,
                "\u24e6": 10,
                "\u24e7": 10,
                "\u24e8": 10,
                "\u24e9": 10,
                "\u0327": 3,
                "\u0282": 6,
                "\u0290": 7,
                "\u0276": 10,
                "\u01cd": 6,
                "\u01ce": 6,
                "\u01de": 6,
                "\u01df": 6,
                "\u01fa": 6,
                "\u01fb": 6,
                "\u0202": 6,
                "\u0203": 6,
                "\u0226": 6,
                "\u0227": 6,
                "\u01e0": 6,
                "\u01e1": 6,
                "\u1e00": 6,
                "\u1e01": 6,
                "\u0200": 6,
                "\u0201": 6,
                "\u1e06": 6,
                "\u1e07": 6,
                "\u1e04": 6,
                "\u1e05": 6,
                "\u1d6c": 8,
                "\u1e08": 6,
                "\u1e09": 6,
                "\u1e10": 6,
                "\u1e11": 6,
                "\u1e12": 6,
                "\u1e13": 6,
                "\u1e0e": 6,
                "\u1e0f": 6,
                "\u1e0c": 6,
                "\u1d6d": 8,
                "\u1e14": 6,
                "\u1e15": 6,
                "\u1e16": 6,
                "\u1e17": 6,
                "\u1e18": 6,
                "\u1e19": 6,
                "\u1e1c": 6,
                "\u1e1d": 6,
                "\u0228": 6,
                "\u0229": 6,
                "\u1e1a": 6,
                "\u1e1b": 6,
                "\u0204": 6,
                "\u0205": 6,
                "\u0206": 6,
                "\u1d6e": 6,
                "\u01f4": 6,
                "\u01f5": 6,
                "\u01e6": 6,
                "\u1e26": 6,
                "\u1e27": 6,
                "\u1e28": 6,
                "\u1e29": 6,
                "\u1e2a": 6,
                "\u1e2b": 6,
                "\u021e": 6,
                "\u021f": 6,
                "\u1e24": 6,
                "\u1e96": 6,
                "\u1e2e": 4,
                "\u1e2f": 4,
                "\u020a": 5,
                "\u020b": 5,
                "\u01cf": 4,
                "\u01d0": 4,
                "\u0208": 6,
                "\u0209": 6,
                "\u1e2c": 5,
                "\u1e2d": 5,
                "\u01f0": 6,
                "\u0237": 6,
                "\u01e8": 6,
                "\u01e9": 5,
                "\u1e32": 6,
                "\u1e33": 5,
                "\u1e34": 6,
                "\u1e35": 5,
                "\u1e3a": 6,
                "\u1e3b": 4,
                "\u1e3c": 6,
                "\u1e3d": 4,
                "\u1e36": 6,
                "\u1e37": 3,
                "\u1e38": 6,
                "\u1e39": 4,
                "\u2c62": 8,
                "\u1e3e": 6,
                "\u1e3f": 6,
                "\u1e42": 6,
                "\u1e43": 6,
                "\u1d6f": 8,
                "\u1e44": 6,
                "\u1e45": 6,
                "\u1e46": 6,
                "\u1e47": 6,
                "\u1e4a": 6,
                "\u1e4b": 6,
                "\u01f8": 6,
                "\u01f9": 6,
                "\u1e48": 6,
                "\u1e49": 6,
                "\u1d70": 8,
                "\u01ec": 6,
                "\u01ed": 6,
                "\u022c": 6,
                "\u022d": 6,
                "\u1e4c": 6,
                "\u1e4d": 6,
                "\u1e4e": 6,
                "\u1e4f": 6,
                "\u1e50": 6,
                "\u1e51": 6,
                "\u1e52": 6,
                "\u1e53": 6,
                "\u020e": 6,
                "\u020f": 6,
                "\u022a": 6,
                "\u022b": 6,
                "\u01d1": 6,
                "\u01d2": 6,
                "\u022e": 6,
                "\u022f": 6,
                "\u0230": 6,
                "\u0231": 6,
                "\u020c": 6,
                "\u020d": 6,
                "\u01ea": 6,
                "\u1e54": 6,
                "\u1e55": 6,
                "\u1d71": 8,
                "\u0212": 6,
                "\u0213": 6,
                "\u1e58": 6,
                "\u1e59": 6,
                "\u1e5c": 6,
                "\u1e5d": 6,
                "\u1e5e": 6,
                "\u1e5f": 6,
                "\u0210": 6,
                "\u0211": 6,
                "\u1e5a": 6,
                "\u1d73": 8,
                "\u1d72": 8,
                "\u1e64": 6,
                "\u1e65": 6,
                "\u1e66": 6,
                "\u1e67": 6,
                "\u1e62": 6,
                "\u1e63": 6,
                "\u1e68": 6,
                "\u1e69": 6,
                "\u1d74": 8,
                "\u1e70": 6,
                "\u1e71": 4,
                "\u1e6e": 6,
                "\u1e6f": 4,
                "\u1e6c": 6,
                "\u1e97": 4,
                "\u1d75": 6,
                "\u1e72": 6,
                "\u1e73": 6,
                "\u1e76": 6,
                "\u1e77": 6,
                "\u1e78": 6,
                "\u1e79": 6,
                "\u1e7a": 6,
                "\u1e7b": 6,
                "\u01d3": 6,
                "\u01d4": 6,
                "\u01d5": 6,
                "\u01d6": 6,
                "\u01d7": 6,
                "\u01d8": 6,
                "\u01d9": 6,
                "\u01da": 6,
                "\u01db": 6,
                "\u01dc": 6,
                "\u1e74": 6,
                "\u1e75": 6,
                "\u0214": 6,
                "\u0215": 6,
                "\u0216": 6,
                "\u1e7e": 6,
                "\u1e7f": 6,
                "\u1e7c": 6,
                "\u1e7d": 6,
                "\u1e86": 6,
                "\u1e87": 6,
                "\u1e88": 6,
                "\u1e89": 6,
                "\u1e98": 6,
                "\u1e8c": 6,
                "\u1e8d": 6,
                "\u1e8a": 6,
                "\u1e8b": 6,
                "\u0232": 6,
                "\u0233": 6,
                "\u1e8e": 6,
                "\u1e8f": 6,
                "\u1e99": 6,
                "\u1e94": 6,
                "\u1e95": 6,
                "\u1e90": 6,
                "\u1e91": 6,
                "\u1e93": 6,
                "\u1d76": 6,
                "\u01ee": 6,
                "\u01ef": 6,
                "\u1e9b": 4,
                "\ua73e": 6,
                "\ua73f": 6,
                "\u01e2": 10,
                "\u01e3": 10,
                "\u1d7a": 9,
                "\u1efb": 7,
                "\u1d02": 10,
                "\u1d14": 10,
                "\uab63": 10,
                "\u0238": 10,
                "\u02a3": 10,
                "\u02a5": 10,
                "\u02a4": 10,
                "\u02a9": 10,
                "\u02aa": 8,
                "\u02ab": 8,
                "\u0239": 10,
                "\u02a8": 9,
                "\u02a6": 9,
                "\u02a7": 8,
                "\uab50": 6,
                "\uab51": 6,
                "\u20a7": 10,
                "\u1efa": 8,
                "\ufb2e": 6,
                "\ufb2f": 6,
                "\u0180": 7,
                "\u0182": 6,
                "\u0183": 6,
                "\u0187": 7,
                "\u0188": 7,
                "\u018a": 8,
                "\u018b": 6,
                "\u018c": 6,
                "\u0193": 7,
                "\u01e4": 7,
                "\u01e5": 7,
                "\u0197": 4,
                "\u0196": 4,
                "\u0269": 3,
                "\u0198": 6,
                "\u0199": 5,
                "\u019d": 7,
                "\u01a4": 8,
                "\u01a5": 6,
                "\u027d": 6,
                "\u01a6": 6,
                "\u01ac": 7,
                "\u01ad": 4,
                "\u01ab": 4,
                "\u01ae": 6,
                "\u0217": 6,
                "\u01b1": 6,
                "\u019c": 6,
                "\u01b3": 7,
                "\u01b4": 8,
                "\u01b5": 6,
                "\u01b6": 6,
                "\u01a2": 8,
                "\u01a3": 8,
                "\u0222": 6,
                "\u0223": 6,
                "\u02ad": 6,
                "\u02ae": 7,
                "\u02af": 8,
                "\ufb14": 10,
                "\ufb15": 10,
                "\ufb17": 10,
                "\ufb16": 10,
                "\ufb13": 10,
                "\u04d0": 6,
                "\u04d1": 6,
                "\u04d2": 6,
                "\u04d3": 6,
                "\u04f6": 6,
                "\u04f7": 5,
                "\u0494": 6,
                "\u0495": 5,
                "\u04d6": 6,
                "\u04d7": 6,
                "\u04bc": 8,
                "\u04bd": 8,
                "\u04be": 8,
                "\u04bf": 8,
                "\u04da": 6,
                "\u04db": 6,
                "\u04dc": 8,
                "\u04dd": 6,
                "\u04c1": 8,
                "\u04c2": 6,
                "\u04de": 6,
                "\u04df": 6,
                "\u04e2": 6,
                "\u04e3": 6,
                "\u04e4": 6,
                "\u04e5": 6,
                "\u04e6": 6,
                "\u04e7": 6,
                "\u04ea": 6,
                "\u04eb": 6,
                "\u04f0": 6,
                "\u04f1": 6,
                "\u04ee": 6,
                "\u04ef": 6,
                "\u04f2": 6,
                "\u04f3": 6,
                "\u04f4": 6,
                "\u04f5": 6,
                "\u04f8": 8,
                "\u04f9": 7,
                "\u04ec": 6,
                "\u04ed": 6,
                "\u0476": 7,
                "\u0477": 7,
                "\u04d4": 10,
                "\u04fa": 7,
                "\u0502": 9,
                "\ua682": 6,
                "\ua680": 7,
                "\ua688": 7,
                "\u052a": 10,
                "\u052c": 7,
                "\ua684": 10,
                "\u0504": 8,
                "\u0510": 6,
                "\u04e0": 6,
                "\u0506": 7,
                "\u048a": 7,
                "\u04c3": 6,
                "\u049e": 7,
                "\u049c": 6,
                "\u051e": 6,
                "\u051a": 6,
                "\u04c5": 7,
                "\u052e": 7,
                "\u0512": 6,
                "\u0520": 9,
                "\u0508": 9,
                "\u0514": 9,
                "\u04cd": 7,
                "\u04c9": 7,
                "\u0528": 7,
                "\u04c7": 6,
                "\u04a4": 7,
                "\u0522": 9,
                "\u050a": 9,
                "\u04a8": 7,
                "\u0524": 7,
                "\u04a6": 9,
                "\u048e": 6,
                "\u0516": 9,
                "\u050c": 6,
                "\ua690": 6,
                "\u04ac": 6,
                "\ua68a": 7,
                "\ua68c": 6,
                "\u050e": 7,
                "\u04b2": 7,
                "\u04fc": 6,
                "\u04fe": 6,
                "\u0526": 7,
                "\ua694": 6,
                "\u04b4": 8,
                "\ua68e": 7,
                "\u04b6": 7,
                "\u04cb": 6,
                "\u04b8": 6,
                "\ua692": 7,
                "\ua696": 9,
                "\ua686": 6,
                "\u048c": 7,
                "\u0518": 10,
                "\u051c": 6,
                "\u04d5": 10,
                "\u04fb": 6,
                "\u0503": 9,
                "\ua683": 6,
                "\ua681": 7,
                "\ua689": 7,
                "\u052b": 10,
                "\u052d": 7,
                "\ua685": 9,
                "\u0505": 8,
                "\u0511": 6,
                "\u04e1": 6,
                "\u0507": 7,
                "\u048b": 7,
                "\u04c4": 5,
                "\u049f": 6,
                "\u049d": 6,
                "\u051f": 6,
                "\u051b": 6,
                "\u04c6": 7,
                "\u052f": 7,
                "\u0513": 6,
                "\u0521": 9,
                "\u0509": 9,
                "\u0515": 9,
                "\u04ce": 7,
                "\u04ca": 7,
                "\u0529": 7,
                "\u04c8": 6,
                "\u04a5": 7,
                "\u0523": 9,
                "\u050b": 9,
                "\u04a9": 7,
                "\u0525": 7,
                "\u04a7": 9,
                "\u048f": 6,
                "\u0517": 9,
                "\u050d": 6,
                "\ua691": 6,
                "\u04ad": 6,
                "\ua68b": 7,
                "\ua68d": 6,
                "\u050f": 7,
                "\u04b3": 7,
                "\u04fd": 6,
                "\u04ff": 6,
                "\u0527": 7,
                "\ua695": 6,
                "\u04b5": 7,
                "\ua68f": 6,
                "\u04b7": 7,
                "\u04cc": 6,
                "\u04b9": 6,
                "\ua693": 7,
                "\ua697": 7,
                "\ua687": 6,
                "\u048d": 7,
                "\u0519": 10,
                "\u051d": 6,
                "\u1f08": 9,
                "\u1f00": 6,
                "\u1f09": 9,
                "\u1f01": 6,
                "\u1f0a": 10,
                "\u1f02": 6,
                "\u1f0b": 10,
                "\u1f03": 6,
                "\u1f0c": 10,
                "\u1f04": 6,
                "\u1f0d": 10,
                "\u1f05": 7,
                "\u1f0e": 9,
                "\u1f06": 6,
                "\u1f0f": 9,
                "\u1f07": 6,
                "\u1fba": 9,
                "\u1f70": 6,
                "\u1fb8": 6,
                "\u1fb0": 6,
                "\u1fb9": 6,
                "\u1fb1": 6,
                "\u1fbb": 9,
                "\u1f71": 6,
                "\u1f88": 9,
                "\u1f80": 6,
                "\u1f89": 9,
                "\u1f81": 6,
                "\u1f8a": 10,
                "\u1f82": 6,
                "\u1f8b": 10,
                "\u1f83": 6,
                "\u1f8c": 10,
                "\u1f84": 6,
                "\u1f8d": 10,
                "\u1f85": 6,
                "\u1f8e": 9,
                "\u1f86": 6,
                "\u1f8f": 9,
                "\u1f87": 6,
                "\u1fbc": 6,
                "\u1fb4": 6,
                "\u1fb6": 6,
                "\u1fb7": 6,
                "\u1fb2": 6,
                "\u1fb3": 6,
                "\u1f18": 9,
                "\u1f10": 6,
                "\u1f19": 9,
                "\u1f11": 6,
                "\u1f1a": 10,
                "\u1f12": 6,
                "\u1f1b": 10,
                "\u1f13": 6,
                "\u1f1c": 10,
                "\u1f14": 6,
                "\u1f1d": 10,
                "\u1f15": 6,
                "\u1fc8": 9,
                "\u1fc9": 9,
                "\u1f72": 6,
                "\u1f73": 6,
                "\u1f28": 9,
                "\u1f20": 6,
                "\u1fca": 9,
                "\u1f74": 6,
                "\u1f29": 9,
                "\u1f21": 6,
                "\u1f2a": 10,
                "\u1f22": 6,
                "\u1f2b": 10,
                "\u1f23": 6,
                "\u1f2c": 10,
                "\u1f24": 6,
                "\u1f2d": 10,
                "\u1f25": 6,
                "\u1f2e": 9,
                "\u1f26": 6,
                "\u1f2f": 9,
                "\u1f27": 6,
                "\u1f98": 9,
                "\u1f90": 6,
                "\u1f99": 9,
                "\u1f91": 6,
                "\u1f9a": 10,
                "\u1f92": 6,
                "\u1f9b": 10,
                "\u1f93": 6,
                "\u1f9c": 10,
                "\u1f94": 6,
                "\u1f9d": 10,
                "\u1f95": 6,
                "\u1f9e": 9,
                "\u1f96": 6,
                "\u1f9f": 9,
                "\u1f97": 6,
                "\u1fcb": 9,
                "\u1f75": 6,
                "\u1fcc": 6,
                "\u1fc3": 6,
                "\u1fc2": 6,
                "\u1fc4": 6,
                "\u1fc6": 6,
                "\u1fc7": 6,
                "\u1fda": 7,
                "\u1f76": 4,
                "\u1fdb": 7,
                "\u1f77": 3,
                "\u1f38": 7,
                "\u1f30": 4,
                "\u1f39": 10,
                "\u1f31": 3,
                "\u1f3a": 9,
                "\u1f32": 6,
                "\u1f3b": 8,
                "\u1f33": 6,
                "\u1f3c": 9,
                "\u1f34": 6,
                "\u1f3d": 8,
                "\u1f35": 6,
                "\u1f3e": 7,
                "\u1f36": 5,
                "\u1f3f": 7,
                "\u1f37": 5,
                "\u1fd8": 5,
                "\u1fd0": 5,
                "\u1fd9": 4,
                "\u1fd1": 4,
                "\u1fd2": 4,
                "\u1fd3": 4,
                "\u1fd6": 5,
                "\u1fd7": 5,
                "\u1ff8": 9,
                "\u1f78": 6,
                "\u1ff9": 9,
                "\u1f79": 6,
                "\u1f48": 9,
                "\u1f40": 6,
                "\u1f49": 9,
                "\u1f41": 6,
                "\u1f4a": 10,
                "\u1f42": 6,
                "\u1f4b": 10,
                "\u1f43": 6,
                "\u1f4c": 10,
                "\u1f44": 6,
                "\u1f4d": 10,
                "\u1f45": 6,
                "\u1fec": 9,
                "\u1fe4": 6,
                "\u1fe5": 6,
                "\u1fea": 9,
                "\u1f7a": 6,
                "\u1feb": 9,
                "\u1f7b": 6,
                "\u1f59": 9,
                "\u1f51": 6,
                "\u1f5b": 10,
                "\u1f53": 6,
                "\u1f5d": 10,
                "\u1f55": 6,
                "\u1f5f": 9,
                "\u1f57": 6,
                "\u1fe8": 6,
                "\u1fe0": 6,
                "\u1fe9": 6,
                "\u1fe1": 6,
                "\u03d3": 10,
                "\u03d4": 7,
                "\u1fe2": 6,
                "\u1fe3": 6,
                "\u1fe7": 6,
                "\u1f50": 6,
                "\u1f52": 6,
                "\u1f54": 6,
                "\u1fe6": 6,
                "\u1f56": 6,
                "\u1ffa": 9,
                "\u1f7c": 8,
                "\u1ffb": 9,
                "\u1f7d": 8,
                "\u1f68": 9,
                "\u1f60": 8,
                "\u1f69": 9,
                "\u1f61": 8,
                "\u1f6a": 10,
                "\u1f62": 8,
                "\u1f6b": 10,
                "\u1f63": 8,
                "\u1f6c": 10,
                "\u1f64": 8,
                "\u1f6d": 10,
                "\u1f65": 8,
                "\u1f6e": 9,
                "\u1f66": 8,
                "\u1f6f": 10,
                "\u1f67": 8,
                "\u1fa8": 9,
                "\u1fa0": 8,
                "\u1fa9": 9,
                "\u1fa1": 8,
                "\u1faa": 10,
                "\u1fa2": 8,
                "\u1fab": 10,
                "\u1fa3": 8,
                "\u1fac": 10,
                "\u1fa4": 8,
                "\u1fad": 10,
                "\u1fa5": 8,
                "\u1fae": 9,
                "\u1fa6": 8,
                "\u1faf": 10,
                "\u1fa7": 8,
                "\u1ffc": 6,
                "\u1ff3": 8,
                "\u1ff2": 8,
                "\u1ff4": 8,
                "\u1ff6": 8,
                "\u1ff7": 8,
                "\u262f": 10,
                "\u2610": 10,
                "\u2611": 10,
                "\u2612": 10,
                "\u018d": 6,
                "\u01ba": 6,
                "\u2c7e": 6,
                "\u023f": 6,
                "\u2c7f": 6,
                "\u0240": 6,
                "\u1d80": 6,
                "\ua7c4": 6,
                "\ua794": 6,
                "\u1d81": 7,
                "\u1d82": 5,
                "\u1d83": 7,
                "\ua795": 7,
                "\u1d84": 6,
                "\u1d85": 3,
                "\u1d86": 7,
                "\u1d87": 7,
                "\u1d88": 6,
                "\u1d89": 6,
                "\u1d8a": 6,
                "\u1d8b": 6,
                "\u1d8c": 6,
                "\u1d8d": 7,
                "\ua7c6": 7,
                "\u1d8e": 7,
                "\u1d8f": 7,
                "\u1d90": 7,
                "\u1d92": 7,
                "\u1d93": 7,
                "\u1d94": 6,
                "\u1d95": 7,
                "\u1d96": 3,
                "\u1d97": 7,
                "\u1d98": 6,
                "\u1d99": 7,
                "\u1d9a": 6,
                "\u1e9a": 6,
                "\u2152": 10,
                "\u2158": 10,
                "\u20a8": 10,
                "\u20af": 10,
                "\u2030": 8,
                "\u20b4": 8,
                "\u2260": 6,
                "\u04bb": 6,
                "\u0391": 6,
                "\u0392": 6,
                "\u0393": 6,
                "\u0394": 6,
                "\u0395": 6,
                "\u0396": 6,
                "\u0397": 6,
                "\u0398": 6,
                "\u0399": 4,
                "\u039a": 6,
                "\u039b": 6,
                "\u039c": 6,
                "\u039d": 6,
                "\u039e": 6,
                "\u039f": 6,
                "\u03a0": 6,
                "\u03a1": 6,
                "\u03a3": 6,
                "\u03a4": 6,
                "\u03a5": 6,
                "\u03a6": 6,
                "\u03a7": 6,
                "\u03a8": 6,
                "\u03a9": 6,
                "\u03b1": 6,
                "\u03b2": 6,
                "\u03b3": 6,
                "\u03b4": 6,
                "\u03b5": 6,
                "\u03b6": 6,
                "\u03b7": 6,
                "\u03b8": 6,
                "\u03b9": 3,
                "\u03ba": 5,
                "\u03bb": 6,
                "\u03bc": 6,
                "\u03bd": 6,
                "\u03be": 6,
                "\u03bf": 6,
                "\u03c0": 6,
                "\u03c1": 6,
                "\u03c2": 6,
                "\u03c3": 7,
                "\u03c4": 6,
                "\u03c5": 6,
                "\u03c6": 6,
                "\u03c7": 6,
                "\u03c8": 6,
                "\u03c9": 8,
                "\u0402": 8,
                "\u0405": 6,
                "\u0406": 4,
                "\u0408": 6,
                "\u0409": 8,
                "\u040a": 7,
                "\u040b": 7,
                "\u0410": 6,
                "\u0411": 6,
                "\u0412": 6,
                "\u0413": 6,
                "\u0414": 7,
                "\u0415": 6,
                "\u0416": 8,
                "\u0417": 6,
                "\u0418": 6,
                "\u041a": 6,
                "\u041b": 6,
                "\u041c": 6,
                "\u041d": 6,
                "\u041e": 6,
                "\u041f": 6,
                "\u0420": 6,
                "\u0421": 6,
                "\u0422": 6,
                "\u0423": 6,
                "\u0424": 8,
                "\u0425": 6,
                "\u0426": 7,
                "\u0427": 6,
                "\u0428": 8,
                "\u0429": 9,
                "\u042a": 7,
                "\u042b": 8,
                "\u042c": 6,
                "\u042d": 6,
                "\u042e": 8,
                "\u042f": 6,
                "\u0430": 6,
                "\u0431": 6,
                "\u0432": 6,
                "\u0433": 5,
                "\u0434": 7,
                "\u0435": 6,
                "\u0436": 6,
                "\u0437": 6,
                "\u0438": 6,
                "\u043a": 5,
                "\u043b": 6,
                "\u043c": 6,
                "\u043d": 6,
                "\u043e": 6,
                "\u043f": 6,
                "\u0440": 6,
                "\u0441": 6,
                "\u0442": 6,
                "\u0443": 6,
                "\u0444": 6,
                "\u0445": 6,
                "\u0446": 6,
                "\u0447": 6,
                "\u0448": 6,
                "\u0449": 7,
                "\u044a": 7,
                "\u044b": 7,
                "\u044c": 6,
                "\u044d": 6,
                "\u044e": 8,
                "\u044f": 6,
                "\u0454": 6,
                "\u0455": 6,
                "\u0456": 2,
                "\u0458": 6,
                "\u0459": 8,
                "\u045a": 7,
                "\u2013": 7,
                "\u2014": 9,
                "\u2018": 3,
                "\u2019": 3,
                "\u201c": 5,
                "\u201d": 5,
                "\u201e": 5,
                "\u2026": 8,
                "\u204a": 5,
                "\u2190": 8,
                "\u2191": 6,
                "\u2192": 8,
                "\u2193": 6,
                "\u21c4": 8,
                "\uff0b": 6,
                "\u018f": 6,
                "\u0259": 6,
                "\u025b": 6,
                "\u026a": 4,
                "\u04ae": 6,
                "\u04af": 6,
                "\u04e8": 6,
                "\u04e9": 6,
                "\u02bb": 2,
                "\u02cc": 2,
                "\u037e": 2,
                "\u0138": 5,
                "\u1e9e": 6,
                "\u20bd": 7,
                "\u20ac": 7,
                "\u0462": 7,
                "\u0463": 7,
                "\u0474": 7,
                "\u0475": 7,
                "\u04c0": 4,
                "\u0472": 6,
                "\u0473": 6,
                "\u2070": 5,
                "\u2074": 5,
                "\u2075": 5,
                "\u2076": 5,
                "\u2077": 5,
                "\u2078": 5,
                "\u2079": 5,
                "\u207a": 4,
                "\u207b": 4,
                "\u207c": 4,
                "\u207d": 3,
                "\u207e": 3,
                "\u2071": 2,
                "\u2122": 9,
                "\u0294": 6,
                "\u0295": 6,
                "\u29c8": 8,
                "\u2694": 8,
                "\u2620": 8,
                "\u049a": 7,
                "\u049b": 6,
                "\u0492": 7,
                "\u0493": 6,
                "\u04b0": 6,
                "\u04b1": 6,
                "\u04d8": 6,
                "\u04d9": 6,
                "\u0496": 9,
                "\u0497": 7,
                "\u04a2": 7,
                "\u04a3": 7,
                "\u04ba": 6,
                "\u05d0": 6,
                "\u05d1": 6,
                "\u05d2": 5,
                "\u05d3": 6,
                "\u05d4": 6,
                "\u05d5": 2,
                "\u05d6": 4,
                "\u05d7": 6,
                "\u05d8": 6,
                "\u05d9": 2,
                "\u05db": 6,
                "\u05dc": 6,
                "\u05de": 6,
                "\u05dd": 6,
                "\u05e0": 4,
                "\u05df": 2,
                "\u05e1": 6,
                "\u05e2": 6,
                "\u05e4": 6,
                "\u05e3": 6,
                "\u05e6": 6,
                "\u05e5": 6,
                "\u05e7": 6,
                "\u05e8": 6,
                "\u0387": 2,
                "\u2010": 4,
                "\u201a": 3,
                "\u2020": 6,
                "\u2021": 6,
                "\u2022": 3,
                "\u2031": 9,
                "\u2032": 3,
                "\u2033": 5,
                "\u2034": 7,
                "\u2035": 3,
                "\u2036": 5,
                "\u2037": 7,
                "\u2039": 4,
                "\u203a": 4,
                "\u203b": 8,
                "\u203c": 4,
                "\u203d": 6,
                "\u2042": 8,
                "\u2048": 8,
                "\u2049": 8,
                "\u204b": 7,
                "\u204e": 4,
                "\u204f": 2,
                "\u2051": 4,
                "\u2052": 4,
                "\u2057": 9,
                "\u2117": 8,
                "\u2212": 6,
                "\u2213": 6,
                "\u221e": 8,
                "\u2600": 9,
                "\u2601": 9,
                "\u2608": 8,
                "\u0404": 6,
                "\u2632": 6,
                "\u2635": 6,
                "\u263d": 9,
                "\u2640": 4,
                "\u2642": 6,
                "\u26a5": 6,
                "\u2660": 6,
                "\u2663": 6,
                "\u2665": 6,
                "\u2666": 6,
                "\u2669": 4,
                "\u266a": 6,
                "\u266b": 8,
                "\u266c": 8,
                "\u266d": 4,
                "\u266e": 4,
                "\u266f": 6,
                "\u2680": 8,
                "\u2681": 8,
                "\u2682": 8,
                "\u2683": 8,
                "\u2684": 8,
                "\u2685": 8,
                "\u02ac": 6,
                "\u26a1": 6,
                "\u26cf": 9,
                "\u2714": 7,
                "\u2744": 8,
                "\u274c": 7,
                "\u2764": 8,
                "\u2b50": 8,
                "\u2e18": 6,
                "\u2e2e": 6,
                "\u2e35": 2,
                "\u2e38": 6,
                "\u2e41": 2,
                "\u2e4b": 6,
                "\u295d": 6,
                "\u1614": 6,
                "\u0190": 6,
                "\u07c8": 6,
                "\u03db": 6,
                "\u3125": 6,
                "\u2c6f": 6,
                "\u15fa": 6,
                "\u0186": 6,
                "\u15e1": 6,
                "\u018e": 6,
                "\u2132": 6,
                "\u2141": 6,
                "\ua7b0": 6,
                "\ua780": 6,
                "\u0500": 6,
                "\ua779": 6,
                "\u1d1a": 6,
                "\u27d8": 6,
                "\u2229": 6,
                "\u0245": 6,
                "\u2144": 6,
                "\u0250": 6,
                "\u0254": 6,
                "\u01dd": 6,
                "\u025f": 5,
                "\u1d77": 6,
                "\u0265": 6,
                "\u1d09": 2,
                "\u027e": 6,
                "\u029e": 5,
                "\ua781": 3,
                "\u026f": 6,
                "\u0279": 6,
                "\u0287": 4,
                "\u028c": 6,
                "\u028d": 6,
                "\u028e": 6,
                "\u0531": 6,
                "\u0532": 6,
                "\u0533": 7,
                "\u0534": 7,
                "\u0536": 6,
                "\u0537": 6,
                "\u0539": 7,
                "\u053a": 7,
                "\u053b": 6,
                "\u053c": 5,
                "\u053d": 7,
                "\u053e": 6,
                "\u053f": 6,
                "\u0540": 6,
                "\u0541": 6,
                "\u0542": 7,
                "\u0543": 6,
                "\u0544": 7,
                "\u0545": 6,
                "\u0546": 6,
                "\u0547": 6,
                "\u0548": 6,
                "\u0549": 6,
                "\u054b": 6,
                "\u054c": 7,
                "\u054d": 6,
                "\u054e": 6,
                "\u054f": 6,
                "\u0550": 6,
                "\u0551": 6,
                "\u0552": 5,
                "\u0553": 6,
                "\u0554": 6,
                "\u0555": 6,
                "\u0556": 6,
                "\u0559": 3,
                "\u0561": 6,
                "\u0562": 6,
                "\u0563": 7,
                "\u0564": 7,
                "\u0565": 6,
                "\u0566": 7,
                "\u0567": 5,
                "\u0568": 6,
                "\u0569": 6,
                "\u056a": 7,
                "\u056b": 6,
                "\u056c": 3,
                "\u056d": 7,
                "\u056e": 6,
                "\u056f": 6,
                "\u0570": 6,
                "\u0571": 6,
                "\u0572": 7,
                "\u0573": 6,
                "\u0574": 7,
                "\u0575": 6,
                "\u0576": 7,
                "\u0577": 6,
                "\u0578": 6,
                "\u0579": 6,
                "\u057a": 6,
                "\u057b": 6,
                "\u057c": 6,
                "\u057d": 6,
                "\u057e": 7,
                "\u057f": 8,
                "\u0580": 6,
                "\u0581": 6,
                "\u0582": 5,
                "\u0583": 8,
                "\u0584": 7,
                "\u0585": 6,
                "\u0586": 6,
                "\u0587": 7,
                "\u05e9": 6,
                "\u05ea": 6,
                "\u0538": 6,
                "\u055a": 3,
                "\u055b": 3,
                "\u055c": 4,
                "\u055d": 3,
                "\u055e": 4,
                "\u055f": 6,
                "\u0560": 6,
                "\u0588": 7,
                "\u058f": 6,
                "\u017f": 4,
                "\u01b7": 6,
                "\u0292": 6,
                "\u01f7": 6,
                "\u01bf": 6,
                "\u021c": 6,
                "\u021d": 6,
                "\u0224": 6,
                "\u0225": 6,
                "\u02d9": 2,
                "\ua75a": 6,
                "\ua75b": 5,
                "\u2011": 4,
                "\u214b": 6,
                "\u23cf": 6,
                "\u23e9": 7,
                "\u23ea": 7,
                "\u23ed": 8,
                "\u23ee": 8,
                "\u23ef": 7,
                "\u23f4": 4,
                "\u23f5": 4,
                "\u23f6": 6,
                "\u23f7": 6,
                "\u23f8": 4,
                "\u23f9": 6,
                "\u23fa": 6,
                "\u23fb": 8,
                "\u23fc": 8,
                "\u23fd": 2,
                "\u2b58": 8,
                "\u25b2": 6,
                "\u25b6": 7,
                "\u25bc": 6,
                "\u25c0": 7,
                "\u25cf": 5,
                "\u25e6": 4,
                "\u25d8": 4,
                "\u2693": 8,
                "\u26e8": 8,
                "\u0132": 6,
                "\u0133": 5,
                "\u01c9": 8,
                "\ua728": 8,
                "\ua729": 7,
                "\ua739": 9,
                "\ua73b": 9,
                "\ufb00": 8,
                "\ufb01": 6,
                "\ufb02": 7,
                "\ufb03": 9,
                "\ufb05": 6,
                "\ufffd": 8,
                "\u0535": 6,
                "\u054a": 6,
                "\u16a0": 5,
                "\u16a2": 6,
                "\u16a3": 6,
                "\u16a4": 6,
                "\u16a5": 6,
                "\u16a6": 5,
                "\u16a7": 5,
                "\u16a8": 4,
                "\u16a9": 5,
                "\u16aa": 5,
                "\u16ab": 5,
                "\u16ac": 6,
                "\u16ad": 4,
                "\u16ae": 4,
                "\u16af": 6,
                "\u16b0": 6,
                "\u16b1": 5,
                "\u16b2": 4,
                "\u16b3": 5,
                "\u16b4": 5,
                "\u16b6": 6,
                "\u16b7": 6,
                "\u16b8": 6,
                "\u16b9": 5,
                "\u16ba": 6,
                "\u16bb": 6,
                "\u16bc": 6,
                "\u16bd": 4,
                "\u16be": 6,
                "\u16bf": 4,
                "\u16c0": 6,
                "\u16c1": 2,
                "\u16c2": 4,
                "\u16c3": 7,
                "\u16c4": 6,
                "\u16c5": 6,
                "\u16c6": 4,
                "\u16c7": 6,
                "\u16c8": 5,
                "\u16c9": 6,
                "\u16ca": 4,
                "\u16cb": 6,
                "\u16cc": 2,
                "\u16cd": 4,
                "\u16ce": 6,
                "\u16cf": 6,
                "\u16d0": 4,
                "\u16d1": 5,
                "\u16d2": 5,
                "\u16d3": 4,
                "\u16d4": 5,
                "\u16d5": 5,
                "\u16d6": 6,
                "\u16d7": 6,
                "\u16d8": 6,
                "\u16d9": 4,
                "\u16da": 4,
                "\u16db": 5,
                "\u16dc": 6,
                "\u16dd": 6,
                "\u16de": 6,
                "\u16df": 7,
                "\u16e0": 8,
                "\u16e1": 6,
                "\u16e2": 8,
                "\u16e3": 6,
                "\u16e4": 6,
                "\u16e5": 6,
                "\u16e6": 6,
                "\u16e7": 2,
                "\u16e8": 6,
                "\u16e9": 5,
                "\u16ea": 8,
                "\u16eb": 3,
                "\u16ec": 2,
                "\u16ed": 6,
                "\u16ee": 6,
                "\u16ef": 6,
                "\u16f0": 6,
                "\u16f1": 6,
                "\u16f2": 6,
                "\u16f3": 8,
                "\u16f4": 5,
                "\u16f5": 3,
                "\u16f6": 6,
                "\u16f7": 6,
                "\u16f8": 6,
                "\u263a": 6,
                "\u263b": 8,
                "\u2639": 6,
                "\u05da": 6,
                "\u05f3": 3,
                "\u05f4": 5,
                "\u05f0": 4,
                "\u05f1": 4,
                "\u05f2": 4,
                "\u05be": 6,
                "\u05c3": 2,
                "\u05c6": 4,
                "\u1d00": 6,
                "\u0299": 6,
                "\u1d04": 6,
                "\u1d05": 6,
                "\u1d07": 6,
                "\ua730": 6,
                "\u0262": 6,
                "\u029c": 6,
                "\u1d0a": 6,
                "\u1d0b": 6,
                "\u029f": 6,
                "\u1d0d": 6,
                "\u0274": 6,
                "\u1d0f": 6,
                "\u1d18": 6,
                "\ua7af": 6,
                "\u0280": 6,
                "\ua731": 6,
                "\u1d1b": 6,
                "\u1d1c": 6,
                "\u1d20": 6,
                "\u1d21": 6,
                "\u028f": 6,
                "\u1d22": 6,
                "\u0271": 6,
                "\u0273": 7,
                "\u0272": 7,
                "\u0288": 4,
                "\u0256": 7,
                "\u0261": 6,
                "\u02a1": 6,
                "\u0255": 6,
                "\u0291": 6,
                "\u0278": 6,
                "\u029d": 6,
                "\u02a2": 6,
                "\u027b": 7,
                "\u0281": 6,
                "\u0266": 6,
                "\u028b": 6,
                "\u0270": 6,
                "\u026c": 5,
                "\u026e": 6,
                "\u0298": 6,
                "\u01c0": 2,
                "\u01c3": 2,
                "\u01c2": 6,
                "\u01c1": 4,
                "\u0253": 6,
                "\u0257": 7,
                "\u1d91": 7,
                "\u0284": 7,
                "\u0260": 7,
                "\u029b": 7,
                "\u0267": 6,
                "\u026b": 6,
                "\u0268": 4,
                "\u0289": 8,
                "\u028a": 6,
                "\u0258": 6,
                "\u0275": 6,
                "\u0264": 6,
                "\u025c": 6,
                "\u025e": 6,
                "\u0251": 6,
                "\u0252": 6,
                "\u025a": 8,
                "\u025d": 8,
                "\u0181": 8,
                "\u0189": 7,
                "\u0191": 7,
                "\u01a9": 6,
                "\u01b2": 6,
                "\u10a0": 6,
                "\u10a1": 8,
                "\u10a2": 8,
                "\u10a3": 6,
                "\u10a4": 6,
                "\u10a5": 8,
                "\u10a6": 8,
                "\u10a7": 8,
                "\u10a8": 6,
                "\u10a9": 6,
                "\u10aa": 8,
                "\u10ab": 7,
                "\u10ac": 6,
                "\u10ad": 8,
                "\u10ae": 8,
                "\u10af": 7,
                "\u10b0": 8,
                "\u10b1": 6,
                "\u10b2": 6,
                "\u10b3": 8,
                "\u10b4": 6,
                "\u10b5": 6,
                "\u10b6": 6,
                "\u10b7": 6,
                "\u10b8": 6,
                "\u10b9": 6,
                "\u10ba": 6,
                "\u10bb": 8,
                "\u10bc": 6,
                "\u10bd": 6,
                "\u10be": 6,
                "\u10bf": 6,
                "\u10c0": 8,
                "\u10c1": 6,
                "\u10c2": 6,
                "\u10c3": 6,
                "\u10c4": 6,
                "\u10c5": 8,
                "\u10c7": 6,
                "\u10cd": 6,
                "\u10d0": 6,
                "\u10d1": 6,
                "\u10d2": 6,
                "\u10d3": 6,
                "\u10d4": 6,
                "\u10d5": 6,
                "\u10d6": 6,
                "\u10d7": 6,
                "\u10d8": 6,
                "\u10d9": 6,
                "\u10da": 8,
                "\u10db": 6,
                "\u10dc": 6,
                "\u10dd": 6,
                "\u10de": 6,
                "\u10df": 6,
                "\u10e0": 6,
                "\u10e1": 6,
                "\u10e2": 6,
                "\u10e3": 6,
                "\u10e4": 6,
                "\u10e5": 6,
                "\u10e6": 6,
                "\u10e7": 6,
                "\u10e8": 6,
                "\u10e9": 6,
                "\u10ea": 6,
                "\u10eb": 6,
                "\u10ec": 6,
                "\u10ed": 6,
                "\u10ee": 6,
                "\u10ef": 5,
                "\u10f0": 6,
                "\u10f1": 7,
                "\u10f2": 6,
                "\u10f3": 6,
                "\u10f4": 6,
                "\u10f5": 6,
                "\u10f6": 6,
                "\u10f7": 6,
                "\u10f8": 6,
                "\u10f9": 6,
                "\u10fa": 6,
                "\u10fb": 4,
                "\u10fc": 4,
                "\u10fd": 6,
                "\u10fe": 6,
                "\u10ff": 6,
                "\ufb4a": 6,
                "\ufb2b": 6,
                "\ufb4e": 6,
                "\ufb44": 6,
                "\ufb3b": 5,
                "\ufb1f": 4,
                "\ufb1d": 2,
                "\ufb4b": 3,
                "\ufb35": 4,
                "\ufb4c": 6,
                "\ufb31": 6,
                "\ua727": 6,
                "\ua726": 6,
                "\u027a": 6,
                "\u2c71": 8,
                "\u02a0": 7,
                "\u0297": 6,
                "\u0296": 6,
                "\u026d": 3,
                "\u0277": 8,
                "\u027f": 6,
                "\u0285": 6,
                "\u0286": 7,
                "\u0293": 6,
                "\u029a": 6,
                "\u20aa": 8,
                "\u20be": 7,
                "\u058a": 6,
                "\u2d00": 6,
                "\u2d01": 7,
                "\u2d02": 7,
                "\u2d03": 6,
                "\u2d04": 6,
                "\u2d05": 6,
                "\u2d06": 7,
                "\u2d21": 6,
                "\u2d07": 6,
                "\u2d08": 6,
                "\u2d09": 6,
                "\u2d0a": 6,
                "\u2d0b": 6,
                "\u2d0c": 6,
                "\u2d22": 6,
                "\u2d0d": 6,
                "\u2d0e": 7,
                "\u2d0f": 7,
                "\u2d10": 6,
                "\u2d11": 6,
                "\u2d12": 6,
                "\u2d23": 6,
                "\u2d13": 6,
                "\u2d14": 6,
                "\u2d15": 6,
                "\u2d16": 6,
                "\u2d17": 6,
                "\u2d18": 6,
                "\u2d19": 6,
                "\u2d1a": 6,
                "\u2d1b": 6,
                "\u2d1c": 6,
                "\u2d1d": 7,
                "\u2d1e": 6,
                "\u2d24": 6,
                "\u2d1f": 6,
                "\u2d20": 6,
                "\u2d25": 6,
                "\u215b": 9,
                "\u215c": 9,
                "\u215d": 9,
                "\u215e": 9,
                "\u2153": 9,
                "\u2154": 9,
                "\u2709": 8,
                "\u2602": 8,
                "\u2614": 8,
                "\u2604": 8,
                "\u26c4": 7,
                "\u2603": 8,
                "\u231b": 8,
                "\u231a": 8,
                "\u2690": 8,
                "\u270e": 8,
                "\u2763": 6,
                "\u2664": 6,
                "\u2667": 6,
                "\u2661": 6,
                "\u2662": 6,
                "\u26c8": 9,
                "\u2630": 6,
                "\u2631": 6,
                "\u2633": 6,
                "\u2634": 6,
                "\u2636": 6,
                "\u2637": 6,
                "\u2194": 9,
                "\u21d2": 9,
                "\u21cf": 9,
                "\u21d4": 9,
                "\u21f5": 7,
                "\u2200": 8,
                "\u2203": 6,
                "\u2204": 6,
                "\u2209": 6,
                "\u220b": 6,
                "\u220c": 6,
                "\u2282": 6,
                "\u2283": 6,
                "\u2284": 6,
                "\u2285": 6,
                "\u2227": 6,
                "\u2228": 6,
                "\u22bb": 6,
                "\u22bc": 6,
                "\u22bd": 6,
                "\u2225": 4,
                "\u2262": 7,
                "\u22c6": 4,
                "\u2211": 6,
                "\u22a4": 6,
                "\u22a5": 6,
                "\u22a2": 6,
                "\u22a8": 6,
                "\u2254": 8,
                "\u2201": 5,
                "\u2234": 6,
                "\u2235": 6,
                "\u221b": 8,
                "\u221c": 8,
                "\u2202": 6,
                "\u22c3": 6,
                "\u2286": 6,
                "\u2287": 6,
                "\u25a1": 6,
                "\u25b3": 6,
                "\u25b7": 7,
                "\u25bd": 6,
                "\u25c1": 7,
                "\u25c6": 6,
                "\u25c7": 6,
                "\u25cb": 6,
                "\u25ce": 8,
                "\u2606": 8,
                "\u2605": 8,
                "\u2718": 7,
                "\u2080": 5,
                "\u2081": 4,
                "\u2082": 5,
                "\u2083": 5,
                "\u2084": 5,
                "\u2085": 5,
                "\u2086": 5,
                "\u2087": 5,
                "\u2088": 5,
                "\u2089": 5,
                "\u208a": 4,
                "\u208b": 4,
                "\u208c": 4,
                "\u208d": 3,
                "\u208e": 3,
                "\u222b": 6,
                "\u222e": 6,
                "\u221d": 7,
                "\u2300": 8,
                "\u2302": 8,
                "\u2318": 8,
                "\u3012": 6,
                "\u027c": 6,
                "\u0184": 7,
                "\u0185": 7,
                "\u1e9f": 6,
                "\u023d": 7,
                "\u019a": 4,
                "\u019b": 6,
                "\u0220": 6,
                "\u019e": 6,
                "\u019f": 6,
                "\u01a7": 6,
                "\u01a8": 6,
                "\u01aa": 6,
                "\u01b8": 6,
                "\u01b9": 6,
                "\u01bb": 6,
                "\u01bc": 6,
                "\u01bd": 6,
                "\u01be": 6,
                "\u0221": 8,
                "\u0234": 4,
                "\u0235": 8,
                "\u0236": 5,
                "\u023a": 6,
                "\u2c65": 7,
                "\u023b": 6,
                "\u023c": 6,
                "\u0246": 6,
                "\u0247": 7,
                "\u023e": 6,
                "\u2c66": 6,
                "\u0241": 6,
                "\u0242": 6,
                "\u0243": 7,
                "\u0244": 8,
                "\u0248": 7,
                "\u0249": 7,
                "\u024a": 7,
                "\u024b": 7,
                "\u024c": 7,
                "\u024d": 7,
                "\u024e": 8,
                "\u024f": 8,
                "\u1e9c": 5,
                "\u1e9d": 5,
                "\u1efc": 6,
                "\u1efd": 5,
                "\u1efe": 6,
                "\u1eff": 7,
                "\ua7a8": 7,
                "\ua7a9": 6,
                "\ud800\udf30": 6,
                "\ud800\udf31": 6,
                "\ud800\udf32": 6,
                "\ud800\udf33": 6,
                "\ud800\udf34": 6,
                "\ud800\udf35": 6,
                "\ud800\udf36": 6,
                "\ud800\udf37": 6,
                "\ud800\udf38": 6,
                "\ud800\udf39": 2,
                "\ud800\udf3a": 6,
                "\ud800\udf3b": 6,
                "\ud800\udf3c": 6,
                "\ud800\udf3d": 6,
                "\ud800\udf3e": 6,
                "\ud800\udf3f": 6,
                "\ud800\udf40": 6,
                "\ud800\udf41": 6,
                "\ud800\udf42": 6,
                "\ud800\udf43": 6,
                "\ud800\udf44": 6,
                "\ud800\udf45": 6,
                "\ud800\udf46": 6,
                "\ud800\udf47": 6,
                "\ud800\udf48": 6,
                "\ud800\udf49": 6,
                "\ud800\udf4a": 6,
                "\ud83c\udf27": 9,
                "\ud83d\udd25": 7,
                "\ud83c\udf0a": 9,
                "\u2150": 9,
                "\u2151": 9,
                "\u2155": 9,
                "\u2156": 9,
                "\u2157": 9,
                "\u2159": 8,
                "\u215a": 8,
                "\u215f": 7,
                "\u2189": 9,
                "\ud83d\udde1": 9,
                "\ud83c\udff9": 9,
                "\ud83e\ude93": 7,
                "\ud83d\udd31": 9,
                "\ud83c\udfa3": 9,
                "\ud83e\uddea": 8,
                "\u2697": 8,
                "\u2bea": 8,
                "\u2beb": 8,
                "\u2c6d": 6,
                "\ud83d\udee1": 8,
                "\u2702": 8,
                "\ud83c\udf56": 9,
                "\ud83e\udea3": 8,
                "\ud83d\udd14": 8,
                "\u23f3": 8,
                "\u2691": 8,
                "\u20a0": 6,
                "\u20a1": 6,
                "\u20a2": 6,
                "\u20a3": 7,
                "\u20a4": 6,
                "\u20a5": 6,
                "\u20a6": 8,
                "\u20a9": 8,
                "\u20ab": 7,
                "\u20ad": 7,
                "\u20ae": 6,
                "\u20b0": 6,
                "\u20b1": 8,
                "\u20b2": 6,
                "\u20b3": 8,
                "\u20b5": 6,
                "\u20b6": 6,
                "\u20b7": 8,
                "\u20b8": 6,
                "\u20b9": 6,
                "\u20ba": 7,
                "\u20bb": 8,
                "\u20bc": 6,
                "\u20bf": 6
            }
        }
    ]
}


================================================
FILE: base/assets/gm4/lang/en_us.json
================================================
{
    "gm4.second": "%2$s"
}


================================================
FILE: base/assets/gm4/models/block/cube_with_plate.json
================================================
{
  "parent": "minecraft:block/cube",
  "elements": [
    {
      "name": "plate",
      "from": [
        1.0,
        16.0,
        1.0
      ],
      "to": [
        15.0,
        17.0,
        15.0
      ],
      "faces": {
        "north": {
          "texture": "#plate",
          "uv": [
            1.0,
            0.0,
            15.0,
            1.0
          ]
        },
        "east": {
          "texture": "#plate",
          "uv": [
            1.0,
            0.0,
            15.0,
            1.0
          ]
        },
        "south": {
          "texture": "#plate",
          "uv": [
            1.0,
            0.0,
            15.0,
            1.0
          ]
        },
        "west": {
          "texture": "#plate",
          "uv": [
            1.0,
            0.0,
            15.0,
            1.0
          ]
        },
        "up": {
          "texture": "#plate",
          "uv": [
            1.0,
            1.0,
            15.0,
            15.0
          ]
        },
        "down": {
          "texture": "#plate",
          "uv": [
            1.0,
            1.0,
            15.0,
            15.0
          ]
        }
      }
    },
    {
      "name": "cube",
      "from": [
        0.0,
        0.0,
        0.0
      ],
      "to": [
        16.0,
        16.0,
        16.0
      ],
      "faces": {
        "north": {
          "texture": "#front",
          "uv": [
            0.0,
            0.0,
            16.0,
            16.0
          ]
        },
        "east": {
          "texture": "#side",
          "uv": [
            0.0,
            0.0,
            16.0,
            16.0
          ]
        },
        "south": {
          "texture": "#side",
          "uv": [
            0.0,
            0.0,
            16.0,
            16.0
          ]
        },
        "west": {
          "texture": "#side",
          "uv": [
            0.0,
            0.0,
            16.0,
            16.0
          ]
        },
        "up": {
          "texture": "#top",
          "uv": [
            0.0,
            0.0,
            16.0,
            16.0
          ]
        },
        "down": {
          "texture": "#bottom",
          "uv": [
            0.0,
            0.0,
            16.0,
            16.0
          ]
        }
      }
    }
  ]
}


================================================
FILE: base/assets/gm4/models/block/plate.json
================================================
{
  "elements": [
    {
      "name": "plate",
      "from": [
        1.0,
        16.0,
        1.0
      ],
      "to": [
        15.0,
        17.0,
        15.0
      ],
      "faces": {
        "north": {
          "texture": "#top",
          "uv": [
            1.0,
            0.0,
            15.0,
            1.0
          ]
        },
        "east": {
          "texture": "#top",
          "uv": [
            1.0,
            0.0,
            15.0,
            1.0
          ]
        },
        "south": {
          "texture": "#top",
          "uv": [
            1.0,
            0.0,
            15.0,
            1.0
          ]
        },
        "west": {
          "texture": "#top",
          "uv": [
            1.0,
            0.0,
            15.0,
            1.0
          ]
        },
        "up": {
          "texture": "#top",
          "uv": [
            1.0,
            1.0,
            15.0,
            15.0
          ]
        },
        "down": {
          "texture": "#top",
          "uv": [
            1.0,
            1.0,
            15.0,
            15.0
          ]
        }
      }
    }
  ]
}


================================================
FILE: base/assets/minecraft/atlases/items.json
================================================
{
    "sources": [
        {
            "type": "directory",
            "source": "gui",
            "prefix": "gui/"
        },
        {
            "type": "filter",
            "pattern":{
                "namespace": "^((?!gm4).)*$",
                "path": "gui"
            }
        },
        {
            "type": "filter",
            "pattern": {
                "namespace": "gm4_*",
                "path": "gui/container"
            }
        },
        {
            "type": "filter",
            "pattern": {
                "namespace": "gm4_guidebook",
                "path": "gui/"
            }
        }
    ]
}


================================================
FILE: base/assets/minecraft/optifine/emissive.properties
================================================
suffix.emissive=_e

================================================
FILE: base/assets/translations.csv
================================================
key,en_us
advancement.gm4.root.title,Gamemode 4
advancement.gm4.root.description,Semi-funny blurb about GM4


================================================
FILE: base/beet.yaml
================================================
version: 1.9.0
id: gm4

data_pack:
  load:
    data: data

resource_pack:
  load:
    assets: assets

require:
  - gm4.plugins.resource_pack

pipeline:
  - beet.contrib.babelbox
  - gm4.plugins.resource_pack.build
  - gm4.plugins.versioning.base

meta:
  gm4:
    versioning:
      extra_version_injections:
        advancements:
          - 'gm4:intro_song/play_song'
    model_data:
      - item: command_block
        reference: gm4:gui/advancement/root
        template: generated
  babelbox:
    load: assets/translations.csv
    namespace: gm4_translations
    dialect: excel


================================================
FILE: base/data/gm4/advancement/intro_song/invisible_root.json
================================================
{
    "criteria": {
      "requirement": {
        "trigger": "minecraft:impossible"
      }
    }
  }


================================================
FILE: base/data/gm4/advancement/intro_song/play_song.json
================================================
{
    "criteria": {
      "requirement": {
        "trigger": "minecraft:location",
        "conditions": {
          "player": [
            {
              "condition": "minecraft:entity_scores",
              "entity": "this",
              "scores": {
                "gm4_intro_walked": {
                  "min": 1,
                  "max": 9999
                }
              }
            },
            {
              "condition": "minecraft:value_check",
              "value": {
                "type": "minecraft:score",
                "target": {
                  "type": "minecraft:fixed",
                  "name": "$first_join"
                },
                "score": "gm4_intro_song"
              },
              "range": 1
            }
          ]
        }
      }
    },
    "rewards": {
      "function": "gm4:intro_song/init_song"
    }
  }


================================================
FILE: base/data/gm4/advancement/intro_song/welcome_toast.json
================================================
{
  "display": {
    "ic
Download .txt
Showing preview only (465K chars total). Download the full file or copy to clipboard to get everything.
gitextract_letogdq4/

├── .github/
│   ├── FUNDING.yml
│   ├── ISSUE_TEMPLATE/
│   │   ├── bug_report.md
│   │   └── feat_request.md
│   └── workflows/
│       └── main.yml
├── .gitignore
├── .python-version
├── .vscode/
│   ├── settings.json
│   └── tasks.json
├── LICENSE.md
├── README.md
├── base/
│   ├── assets/
│   │   ├── gm4/
│   │   │   ├── font/
│   │   │   │   ├── container_gui.json
│   │   │   │   ├── default.json
│   │   │   │   ├── half_invert.json
│   │   │   │   └── offscreen.json
│   │   │   ├── lang/
│   │   │   │   └── en_us.json
│   │   │   └── models/
│   │   │       └── block/
│   │   │           ├── cube_with_plate.json
│   │   │           └── plate.json
│   │   ├── minecraft/
│   │   │   ├── atlases/
│   │   │   │   └── items.json
│   │   │   └── optifine/
│   │   │       └── emissive.properties
│   │   └── translations.csv
│   ├── beet.yaml
│   ├── data/
│   │   ├── gm4/
│   │   │   ├── advancement/
│   │   │   │   ├── intro_song/
│   │   │   │   │   ├── invisible_root.json
│   │   │   │   │   ├── play_song.json
│   │   │   │   │   └── welcome_toast.json
│   │   │   │   └── upgrade_paths/
│   │   │   │       ├── changed_dimension.json
│   │   │   │       └── join_game.json
│   │   │   ├── function/
│   │   │   │   ├── conflict_logs/
│   │   │   │   │   ├── traverse.mcfunction
│   │   │   │   │   └── version_conflict_start.mcfunction
│   │   │   │   ├── intro_song/
│   │   │   │   │   ├── init.mcfunction
│   │   │   │   │   ├── init_song.mcfunction
│   │   │   │   │   ├── main.mcfunction
│   │   │   │   │   ├── notes/
│   │   │   │   │   │   ├── 0.mcfunction
│   │   │   │   │   │   ├── 10.mcfunction
│   │   │   │   │   │   ├── 12.mcfunction
│   │   │   │   │   │   ├── 14.mcfunction
│   │   │   │   │   │   ├── 16.mcfunction
│   │   │   │   │   │   ├── 20.mcfunction
│   │   │   │   │   │   ├── 23.mcfunction
│   │   │   │   │   │   ├── 24.mcfunction
│   │   │   │   │   │   ├── 26.mcfunction
│   │   │   │   │   │   ├── 28.mcfunction
│   │   │   │   │   │   ├── 30.mcfunction
│   │   │   │   │   │   ├── 32.mcfunction
│   │   │   │   │   │   ├── 35.mcfunction
│   │   │   │   │   │   ├── 36.mcfunction
│   │   │   │   │   │   ├── 38.mcfunction
│   │   │   │   │   │   ├── 39.mcfunction
│   │   │   │   │   │   ├── 4.mcfunction
│   │   │   │   │   │   ├── 40.mcfunction
│   │   │   │   │   │   ├── 41.mcfunction
│   │   │   │   │   │   ├── 42.mcfunction
│   │   │   │   │   │   ├── 43.mcfunction
│   │   │   │   │   │   ├── 44.mcfunction
│   │   │   │   │   │   ├── 45.mcfunction
│   │   │   │   │   │   ├── 46.mcfunction
│   │   │   │   │   │   ├── 47.mcfunction
│   │   │   │   │   │   ├── 48.mcfunction
│   │   │   │   │   │   ├── 51.mcfunction
│   │   │   │   │   │   ├── 52.mcfunction
│   │   │   │   │   │   ├── 54.mcfunction
│   │   │   │   │   │   ├── 55.mcfunction
│   │   │   │   │   │   ├── 56.mcfunction
│   │   │   │   │   │   ├── 58.mcfunction
│   │   │   │   │   │   ├── 60.mcfunction
│   │   │   │   │   │   ├── 62.mcfunction
│   │   │   │   │   │   ├── 64.mcfunction
│   │   │   │   │   │   ├── 65.mcfunction
│   │   │   │   │   │   ├── 66.mcfunction
│   │   │   │   │   │   ├── 67.mcfunction
│   │   │   │   │   │   ├── 68.mcfunction
│   │   │   │   │   │   ├── 69.mcfunction
│   │   │   │   │   │   ├── 7.mcfunction
│   │   │   │   │   │   ├── 70.mcfunction
│   │   │   │   │   │   ├── 71.mcfunction
│   │   │   │   │   │   ├── 72.mcfunction
│   │   │   │   │   │   ├── 73.mcfunction
│   │   │   │   │   │   ├── 74.mcfunction
│   │   │   │   │   │   ├── 75.mcfunction
│   │   │   │   │   │   ├── 76.mcfunction
│   │   │   │   │   │   ├── 77.mcfunction
│   │   │   │   │   │   ├── 78.mcfunction
│   │   │   │   │   │   ├── 79.mcfunction
│   │   │   │   │   │   ├── 8.mcfunction
│   │   │   │   │   │   ├── 80.mcfunction
│   │   │   │   │   │   └── 84.mcfunction
│   │   │   │   │   ├── play.mcfunction
│   │   │   │   │   ├── stop.mcfunction
│   │   │   │   │   └── tree/
│   │   │   │   │       ├── 0_1.mcfunction
│   │   │   │   │       ├── 0_127.mcfunction
│   │   │   │   │       ├── 0_15.mcfunction
│   │   │   │   │       ├── 0_3.mcfunction
│   │   │   │   │       ├── 0_31.mcfunction
│   │   │   │   │       ├── 0_63.mcfunction
│   │   │   │   │       ├── 0_7.mcfunction
│   │   │   │   │       ├── 10_11.mcfunction
│   │   │   │   │       ├── 12_13.mcfunction
│   │   │   │   │       ├── 12_15.mcfunction
│   │   │   │   │       ├── 14_15.mcfunction
│   │   │   │   │       ├── 16_17.mcfunction
│   │   │   │   │       ├── 16_19.mcfunction
│   │   │   │   │       ├── 16_23.mcfunction
│   │   │   │   │       ├── 16_31.mcfunction
│   │   │   │   │       ├── 20_21.mcfunction
│   │   │   │   │       ├── 20_23.mcfunction
│   │   │   │   │       ├── 22_23.mcfunction
│   │   │   │   │       ├── 24_25.mcfunction
│   │   │   │   │       ├── 24_27.mcfunction
│   │   │   │   │       ├── 24_31.mcfunction
│   │   │   │   │       ├── 26_27.mcfunction
│   │   │   │   │       ├── 28_29.mcfunction
│   │   │   │   │       ├── 28_31.mcfunction
│   │   │   │   │       ├── 30_31.mcfunction
│   │   │   │   │       ├── 32_33.mcfunction
│   │   │   │   │       ├── 32_35.mcfunction
│   │   │   │   │       ├── 32_39.mcfunction
│   │   │   │   │       ├── 32_47.mcfunction
│   │   │   │   │       ├── 32_63.mcfunction
│   │   │   │   │       ├── 34_35.mcfunction
│   │   │   │   │       ├── 36_37.mcfunction
│   │   │   │   │       ├── 36_39.mcfunction
│   │   │   │   │       ├── 38_39.mcfunction
│   │   │   │   │       ├── 40_41.mcfunction
│   │   │   │   │       ├── 40_43.mcfunction
│   │   │   │   │       ├── 40_47.mcfunction
│   │   │   │   │       ├── 42_43.mcfunction
│   │   │   │   │       ├── 44_45.mcfunction
│   │   │   │   │       ├── 44_47.mcfunction
│   │   │   │   │       ├── 46_47.mcfunction
│   │   │   │   │       ├── 48_49.mcfunction
│   │   │   │   │       ├── 48_51.mcfunction
│   │   │   │   │       ├── 48_55.mcfunction
│   │   │   │   │       ├── 48_63.mcfunction
│   │   │   │   │       ├── 4_5.mcfunction
│   │   │   │   │       ├── 4_7.mcfunction
│   │   │   │   │       ├── 50_51.mcfunction
│   │   │   │   │       ├── 52_53.mcfunction
│   │   │   │   │       ├── 52_55.mcfunction
│   │   │   │   │       ├── 54_55.mcfunction
│   │   │   │   │       ├── 56_57.mcfunction
│   │   │   │   │       ├── 56_59.mcfunction
│   │   │   │   │       ├── 56_63.mcfunction
│   │   │   │   │       ├── 58_59.mcfunction
│   │   │   │   │       ├── 60_61.mcfunction
│   │   │   │   │       ├── 60_63.mcfunction
│   │   │   │   │       ├── 62_63.mcfunction
│   │   │   │   │       ├── 64_127.mcfunction
│   │   │   │   │       ├── 64_65.mcfunction
│   │   │   │   │       ├── 64_67.mcfunction
│   │   │   │   │       ├── 64_71.mcfunction
│   │   │   │   │       ├── 64_79.mcfunction
│   │   │   │   │       ├── 64_95.mcfunction
│   │   │   │   │       ├── 66_67.mcfunction
│   │   │   │   │       ├── 68_69.mcfunction
│   │   │   │   │       ├── 68_71.mcfunction
│   │   │   │   │       ├── 6_7.mcfunction
│   │   │   │   │       ├── 70_71.mcfunction
│   │   │   │   │       ├── 72_73.mcfunction
│   │   │   │   │       ├── 72_75.mcfunction
│   │   │   │   │       ├── 72_79.mcfunction
│   │   │   │   │       ├── 74_75.mcfunction
│   │   │   │   │       ├── 76_77.mcfunction
│   │   │   │   │       ├── 76_79.mcfunction
│   │   │   │   │       ├── 78_79.mcfunction
│   │   │   │   │       ├── 80_81.mcfunction
│   │   │   │   │       ├── 80_83.mcfunction
│   │   │   │   │       ├── 80_87.mcfunction
│   │   │   │   │       ├── 80_95.mcfunction
│   │   │   │   │       ├── 84_85.mcfunction
│   │   │   │   │       ├── 84_87.mcfunction
│   │   │   │   │       ├── 8_11.mcfunction
│   │   │   │   │       ├── 8_15.mcfunction
│   │   │   │   │       └── 8_9.mcfunction
│   │   │   │   ├── load.mcfunction
│   │   │   │   ├── log.mcfunction
│   │   │   │   ├── log_start.mcfunction
│   │   │   │   ├── log_wait.mcfunction
│   │   │   │   ├── outdated_logs/
│   │   │   │   │   ├── outdated_start.mcfunction
│   │   │   │   │   └── traverse.mcfunction
│   │   │   │   ├── post_load.mcfunction
│   │   │   │   └── upgrade_paths/
│   │   │   │       ├── changed_dimension.mcfunction
│   │   │   │       ├── join_game.mcfunction
│   │   │   │       ├── load.mcfunction
│   │   │   │       ├── main.mcfunction
│   │   │   │       └── run_when_loaded.mcfunction
│   │   │   ├── loot_table/
│   │   │   │   ├── air.json
│   │   │   │   └── empty.json
│   │   │   ├── structure/
│   │   │   │   ├── test_box.nbt
│   │   │   │   ├── test_platform.nbt
│   │   │   │   ├── test_platform_large.nbt
│   │   │   │   └── test_tube.nbt
│   │   │   └── tags/
│   │   │       ├── block/
│   │   │       │   ├── foliage.json
│   │   │       │   ├── full_collision.json
│   │   │       │   ├── no_collision.json
│   │   │       │   ├── replaceable.json
│   │   │       │   ├── water.json
│   │   │       │   └── waterloggable.json
│   │   │       └── entity_type/
│   │   │           ├── boss.json
│   │   │           ├── chest_boats.json
│   │   │           ├── hostile.json
│   │   │           ├── minecarts.json
│   │   │           ├── neutral.json
│   │   │           ├── neutral_hostile.json
│   │   │           ├── neutral_passive.json
│   │   │           ├── non_living.json
│   │   │           └── passive.json
│   │   ├── load/
│   │   │   ├── function/
│   │   │   │   └── _private/
│   │   │   │       └── init.mcfunction
│   │   │   └── tags/
│   │   │       └── function/
│   │   │           ├── _private/
│   │   │           │   ├── init.json
│   │   │           │   └── load.json
│   │   │           ├── gm4/
│   │   │           │   ├── enumerate.json
│   │   │           │   ├── resolve_load.json
│   │   │           │   └── resolve_post_load.json
│   │   │           ├── gm4.json
│   │   │           ├── post_load.json
│   │   │           └── pre_load.json
│   │   └── minecraft/
│   │       ├── loot_table/
│   │       │   ├── blocks/
│   │       │   │   └── player_head.json
│   │       │   └── empty.json
│   │       └── tags/
│   │           └── function/
│   │               └── load.json
│   └── mod.mcdoc
├── beet-dev.yaml
├── beet-release.yaml
├── beet-test.yaml
├── commands.json
├── docs/
│   ├── code-conventions.md
│   ├── getting-started.md
│   ├── making-a-module.md
│   ├── releasing-a-module.md
│   └── resource-pack-management.md
├── gm4/
│   ├── commands.py
│   ├── contributors.json
│   ├── plugins/
│   │   ├── annotations.py
│   │   ├── autoload.py
│   │   ├── backwards.py
│   │   ├── extend.py
│   │   ├── finished.py
│   │   ├── include.py
│   │   ├── manifest.py
│   │   ├── module.py
│   │   ├── output.py
│   │   ├── player_heads.py
│   │   ├── prefabs.py
│   │   ├── readme_generator.py
│   │   ├── resource_pack.py
│   │   ├── test.py
│   │   ├── upgrade_paths.py
│   │   ├── versioning.py
│   │   ├── worker.py
│   │   └── write_mcmeta.py
│   ├── skin_cache.json
│   └── utils.py
├── gm4_animi_shamir/
│   ├── README.md
│   ├── beet.yaml
│   ├── data/
│   │   ├── gm4_animi_shamir/
│   │   │   ├── advancement/
│   │   │   │   └── join.json
│   │   │   ├── function/
│   │   │   │   ├── check_item_validity.mcfunction
│   │   │   │   ├── init.mcfunction
│   │   │   │   ├── initialize_item.mcfunction
│   │   │   │   ├── item_caching/
│   │   │   │   │   ├── add_entry.mcfunction
│   │   │   │   │   ├── prepare_entry.mcfunction
│   │   │   │   │   ├── search_entry.mcfunction
│   │   │   │   │   └── unpack_entry.mcfunction
│   │   │   │   ├── player/
│   │   │   │   │   ├── rejoin.mcfunction
│   │   │   │   │   ├── respawn_inventory.mcfunction
│   │   │   │   │   ├── upon_death.mcfunction
│   │   │   │   │   ├── upon_respawn.mcfunction
│   │   │   │   │   └── wait_for_respawn.mcfunction
│   │   │   │   └── summon_band.mcfunction
│   │   │   ├── guidebook/
│   │   │   │   └── animi_shamir.json
│   │   │   ├── loot_table/
│   │   │   │   └── band.json
│   │   │   ├── tags/
│   │   │   │   └── item/
│   │   │   │       └── valid_items.json
│   │   │   └── test/
│   │   │       ├── keep_items.mcfunction
│   │   │       └── smoosh.mcfunction
│   │   ├── gm4_metallurgy/
│   │   │   └── tags/
│   │   │       └── function/
│   │   │           ├── check_item_validity.json
│   │   │           └── summon_band/
│   │   │               └── curies_bismium.json
│   │   └── gm4_player_death/
│   │       └── tags/
│   │           └── function/
│   │               └── soul_bound.json
│   ├── mod.mcdoc
│   └── translations.csv
├── gm4_apple_trees/
│   ├── README.md
│   ├── assets/
│   │   ├── gm4_apple_trees/
│   │   │   └── models/
│   │   │       └── block/
│   │   │           └── apple_unripe.json
│   │   ├── gm4_golden_apple_trees/
│   │   │   └── models/
│   │   │       └── block/
│   │   │           └── golden_apple_unripe.json
│   │   └── translations.csv
│   ├── beet.yaml
│   └── data/
│       ├── gm4_apple_trees/
│       │   ├── advancement/
│       │   │   ├── apple_hand_empty.json
│       │   │   └── apple_hand_item.json
│       │   ├── function/
│       │   │   ├── init.mcfunction
│       │   │   ├── leaf/
│       │   │   │   ├── advance_stage.mcfunction
│       │   │   │   ├── age.mcfunction
│       │   │   │   ├── apple/
│       │   │   │   │   ├── destroy.mcfunction
│       │   │   │   │   ├── drop.mcfunction
│       │   │   │   │   ├── hand_interact.mcfunction
│       │   │   │   │   ├── interact.mcfunction
│       │   │   │   │   └── pick.mcfunction
│       │   │   │   ├── destroy.mcfunction
│       │   │   │   ├── initialize.mcfunction
│       │   │   │   ├── process.mcfunction
│       │   │   │   └── set_stage/
│       │   │   │       ├── 0.mcfunction
│       │   │   │       ├── 1.mcfunction
│       │   │   │       └── 2.mcfunction
│       │   │   ├── main.mcfunction
│       │   │   ├── sapling/
│       │   │   │   ├── destroy.mcfunction
│       │   │   │   ├── generate_tree.mcfunction
│       │   │   │   ├── grow/
│       │   │   │   │   ├── generate_random_apple_leaf.mcfunction
│       │   │   │   │   └── generate_random_tree.mcfunction
│       │   │   │   ├── initialize.mcfunction
│       │   │   │   └── podzol_rooting.mcfunction
│       │   │   ├── slow_clock.mcfunction
│       │   │   ├── upgrade_path/
│       │   │   │   ├── apple_leaf_markers.mcfunction
│       │   │   │   └── fruiting_to_general.mcfunction
│       │   │   └── verify/
│       │   │       ├── destroy_leaf.mcfunction
│       │   │       ├── destroy_sapling.mcfunction
│       │   │       ├── generate_tree.mcfunction
│       │   │       ├── initialize_sapling.mcfunction
│       │   │       └── upgrade_fruiting_to_general.mcfunction
│       │   ├── guidebook/
│       │   │   └── apple_trees.json
│       │   ├── item_modifier/
│       │   │   └── count.json
│       │   ├── loot_table/
│       │   │   ├── blocks/
│       │   │   │   ├── apple.json
│       │   │   │   └── apple_tree_leaf.json
│       │   │   └── items/
│       │   │       └── apple_tree_sapling.json
│       │   ├── predicate/
│       │   │   ├── apple_gen_chance.json
│       │   │   ├── apple_holding.json
│       │   │   ├── apple_picked.json
│       │   │   ├── corner_leaf_gen_chance.json
│       │   │   ├── overworld.json
│       │   │   └── valid_placement.json
│       │   ├── structure/
│       │   │   ├── sapling_growth/
│       │   │   │   ├── NOTICE.txt
│       │   │   │   ├── apple_leaf.nbt
│       │   │   │   ├── apple_tree_short_1.nbt
│       │   │   │   ├── apple_tree_short_2.nbt
│       │   │   │   ├── apple_tree_short_3.nbt
│       │   │   │   ├── apple_tree_short_4.nbt
│       │   │   │   ├── apple_tree_tall_1.nbt
│       │   │   │   ├── apple_tree_tall_2.nbt
│       │   │   │   ├── apple_tree_tall_3.nbt
│       │   │   │   ├── apple_tree_tall_4.nbt
│       │   │   │   ├── jigsaw_structure_convert.py
│       │   │   │   └── structure_normalize_palette.py
│       │   │   └── worldgen/
│       │   │       ├── apple_leaf.nbt
│       │   │       ├── apple_tree_short_1.nbt
│       │   │       ├── apple_tree_short_2.nbt
│       │   │       ├── apple_tree_short_3.nbt
│       │   │       ├── apple_tree_short_4.nbt
│       │   │       ├── apple_tree_tall_1.nbt
│       │   │       ├── apple_tree_tall_2.nbt
│       │   │       ├── apple_tree_tall_3.nbt
│       │   │       ├── apple_tree_tall_4.nbt
│       │   │       └── corner_leaf.nbt
│       │   ├── tags/
│       │   │   ├── block/
│       │   │   │   └── tree_placeable.json
│       │   │   └── worldgen/
│       │   │       └── biome/
│       │   │           └── has_structure/
│       │   │               └── apple_tree.json
│       │   ├── villager_trade/
│       │   │   └── emerald_apple_tree_sapling.json
│       │   └── worldgen/
│       │       ├── structure/
│       │       │   └── apple_tree.json
│       │       ├── structure_set/
│       │       │   └── apple_tree.json
│       │       └── template_pool/
│       │           ├── apple_leaf.json
│       │           ├── apple_trees.json
│       │           └── corner_leaf.json
│       ├── gm4_golden_apple_trees/
│       │   ├── advancement/
│       │   │   ├── apple_hand_empty.json
│       │   │   └── apple_hand_item.json
│       │   ├── function/
│       │   │   ├── leaf/
│       │   │   │   ├── advance_stage.mcfunction
│       │   │   │   ├── age.mcfunction
│       │   │   │   ├── apple/
│       │   │   │   │   ├── destroy.mcfunction
│       │   │   │   │   ├── drop.mcfunction
│       │   │   │   │   ├── hand_interact.mcfunction
│       │   │   │   │   ├── interact.mcfunction
│       │   │   │   │   └── pick.mcfunction
│       │   │   │   ├── destroy.mcfunction
│       │   │   │   ├── initialize.mcfunction
│       │   │   │   ├── process.mcfunction
│       │   │   │   └── set_stage/
│       │   │   │       ├── 0.mcfunction
│       │   │   │       ├── 1.mcfunction
│       │   │   │       └── 2.mcfunction
│       │   │   └── root/
│       │   │       ├── branch.mcfunction
│       │   │       ├── grow.mcfunction
│       │   │       ├── initialize.mcfunction
│       │   │       ├── place.mcfunction
│       │   │       ├── process.mcfunction
│       │   │       └── raycast.mcfunction
│       │   ├── loot_table/
│       │   │   └── blocks/
│       │   │       ├── golden_apple.json
│       │   │       └── golden_apple_tree_leaf.json
│       │   ├── predicate/
│       │   │   ├── apple_holding.json
│       │   │   └── apple_picked.json
│       │   ├── structure/
│       │   │   └── worldgen/
│       │   │       ├── golden_apple_leaf.nbt
│       │   │       ├── golden_apple_tree_short_1.nbt
│       │   │       ├── golden_apple_tree_short_2.nbt
│       │   │       ├── golden_apple_tree_short_3.nbt
│       │   │       ├── golden_apple_tree_short_4.nbt
│       │   │       ├── golden_apple_tree_tall_1.nbt
│       │   │       ├── golden_apple_tree_tall_2.nbt
│       │   │       ├── golden_apple_tree_tall_3.nbt
│       │   │       └── golden_apple_tree_tall_4.nbt
│       │   ├── tags/
│       │   │   └── block/
│       │   │       └── rootable.json
│       │   └── worldgen/
│       │       ├── structure/
│       │       │   └── golden_apple_tree.json
│       │       ├── structure_set/
│       │       │   └── golden_apple_tree.json
│       │       └── template_pool/
│       │           ├── golden_apple_leaf.json
│       │           └── golden_apple_trees.json
│       ├── gm4_podzol_rooting_soil/
│       │   └── tags/
│       │       └── function/
│       │           └── plant_custom_sapling.json
│       ├── gm4_trees/
│       │   └── tags/
│       │       └── function/
│       │           ├── destroy_leaf.json
│       │           ├── destroy_sapling.json
│       │           ├── generate_tree.json
│       │           ├── initialize_sapling.json
│       │           └── upgrade_fruiting_to_general.json
│       └── minecraft/
│           ├── loot_table/
│           │   └── blocks/
│           │       ├── dark_oak_leaves.json
│           │       └── oak_leaves.json
│           └── tags/
│               └── villager_trade/
│                   └── wandering_trader/
│                       └── common.json
├── gm4_audere_shamir/
│   ├── README.md
│   ├── beet.yaml
│   ├── data/
│   │   ├── gm4_audere_shamir/
│   │   │   ├── function/
│   │   │   │   ├── active_tool.mcfunction
│   │   │   │   ├── check_item_validity.mcfunction
│   │   │   │   ├── init.mcfunction
│   │   │   │   ├── main.mcfunction
│   │   │   │   ├── summon_band.mcfunction
│   │   │   │   ├── tools/
│   │   │   │   │   ├── materials/
│   │   │   │   │   │   ├── copper.mcfunction
│   │   │   │   │   │   ├── diamond.mcfunction
│   │   │   │   │   │   ├── gold.mcfunction
│   │   │   │   │   │   ├── iron.mcfunction
│   │   │   │   │   │   ├── netherite.mcfunction
│   │   │   │   │   │   ├── stone.mcfunction
│   │   │   │   │   │   └── wood.mcfunction
│   │   │   │   │   └── shears.mcfunction
│   │   │   │   └── update_netherite.mcfunction
│   │   │   ├── guidebook/
│   │   │   │   └── audere_shamir.json
│   │   │   ├── item_modifier/
│   │   │   │   └── update_netherite.json
│   │   │   ├── loot_table/
│   │   │   │   └── band.json
│   │   │   ├── predicate/
│   │   │   │   ├── holding_audere.json
│   │   │   │   └── holding_netherite.json
│   │   │   └── tags/
│   │   │       └── item/
│   │   │           ├── netherite_tools.json
│   │   │           └── valid_items.json
│   │   └── gm4_metallurgy/
│   │       └── tags/
│   │           └── function/
│   │               ├── check_item_validity.json
│   │               └── summon_band/
│   │                   └── barium.json
│   ├── mod.mcdoc
│   └── translations.csv
├── gm4_balloon_animals/
│   ├── README.md
│   ├── animals.csv
│   ├── beet.yaml
│   ├── data/
│   │   ├── gm4/
│   │   │   └── advancement/
│   │   │       └── balloon_animals.json
│   │   └── gm4_balloon_animals/
│   │       ├── advancement/
│   │       │   └── purchased_animal.json
│   │       ├── function/
│   │       │   ├── balloon/
│   │       │   │   ├── check_leashed.mcfunction
│   │       │   │   ├── fly_away/
│   │       │   │   │   ├── animate.mcfunction
│   │       │   │   │   ├── loop.mcfunction
│   │       │   │   │   └── start_animation.mcfunction
│   │       │   │   └── kill_orphan.mcfunction
│   │       │   ├── debug/
│   │       │   │   ├── init_trader.mcfunction
│   │       │   │   └── summon_trader_with_llamas.mcfunction
│   │       │   ├── init.mcfunction
│   │       │   ├── main.mcfunction
│   │       │   ├── purchase/
│   │       │   │   ├── animal/
│   │       │   │   │   ├── cleanse.mcfunction
│   │       │   │   │   ├── locate_cleanse.mcfunction
│   │       │   │   │   ├── search.mcfunction
│   │       │   │   │   └── update.mcfunction
│   │       │   │   └── trader/
│   │       │   │       ├── check_trade.mcfunction
│   │       │   │       ├── parse_trades.mcfunction
│   │       │   │       ├── search.mcfunction
│   │       │   │       └── update_trade.mcfunction
│   │       │   ├── purchased_animal.mcfunction
│   │       │   └── wandering_trader/
│   │       │       ├── check_eligibility.mcfunction
│   │       │       ├── init_trader.mcfunction
│   │       │       ├── llama/
│   │       │       │   ├── check_leasher.mcfunction
│   │       │       │   ├── delay/
│   │       │       │   │   ├── find_lead.mcfunction
│   │       │       │   │   └── lead_cleanup.mcfunction
│   │       │       │   └── kill.mcfunction
│   │       │       ├── pick_two_animals.mcfunction
│   │       │       └── trade/
│   │       │           ├── add_bee_nest.mcfunction
│   │       │           ├── add_chicken_egg.mcfunction
│   │       │           ├── add_lead.mcfunction
│   │       │           ├── add_turtle_egg.mcfunction
│   │       │           ├── init_animal.mcfunction
│   │       │           ├── init_farm.mcfunction
│   │       │           ├── init_wolf.mcfunction
│   │       │           └── pick_animal.mcfunction
│   │       ├── guidebook/
│   │       │   └── balloon_animals.json
│   │       ├── loot_table/
│   │       │   ├── lead.json
│   │       │   └── technical/
│   │       │       └── random/
│   │       │           ├── enumeration_value.json
│   │       │           ├── pick_common.json
│   │       │           └── pick_rare.json
│   │       ├── predicate/
│   │       │   ├── balloon_trader_chance.json
│   │       │   └── is_lead.json
│   │       └── tags/
│   │           └── entity_type/
│   │               └── balloon_animal.json
│   ├── generate.py
│   ├── mod.mcdoc
│   └── translations.csv
├── gm4_bat_grenades/
│   ├── README.md
│   ├── assets/
│   │   └── translations.csv
│   ├── beet.yaml
│   └── data/
│       ├── gm4/
│       │   └── advancement/
│       │       └── bat_grenades.json
│       ├── gm4_bat_grenades/
│       │   ├── function/
│       │   │   ├── explode.mcfunction
│       │   │   ├── init.mcfunction
│       │   │   └── main.mcfunction
│       │   ├── guidebook/
│       │   │   └── bat_grenades.json
│       │   ├── loot_table/
│       │   │   └── items/
│       │   │       └── bat_leather.json
│       │   └── test/
│       │       └── boom.mcfunction
│       └── minecraft/
│           └── loot_table/
│               └── entities/
│                   └── bat.json
├── gm4_better_armour_stands/
│   ├── README.md
│   ├── beet.yaml
│   ├── data/
│   │   ├── gm4/
│   │   │   └── advancement/
│   │   │       └── better_armour_stands.json
│   │   └── gm4_better_armour_stands/
│   │       ├── advancement/
│   │       │   ├── book/
│   │       │   │   ├── take.json
│   │       │   │   ├── tracking.json
│   │       │   │   ├── use.json
│   │       │   │   └── use_arms.json
│   │       │   ├── join.json
│   │       │   ├── place.json
│   │       │   └── pose/
│   │       │       ├── invert.json
│   │       │       └── set.json
│   │       ├── function/
│   │       │   ├── book/
│   │       │   │   ├── apply.mcfunction
│   │       │   │   ├── hold.mcfunction
│   │       │   │   ├── invalid.mcfunction
│   │       │   │   ├── process.mcfunction
│   │       │   │   ├── ray_arms.mcfunction
│   │       │   │   ├── take.mcfunction
│   │       │   │   ├── use.mcfunction
│   │       │   │   └── use_arms.mcfunction
│   │       │   ├── default/
│   │       │   │   ├── all.mcfunction
│   │       │   │   ├── check.mcfunction
│   │       │   │   └── part.mcfunction
│   │       │   ├── equip/
│   │       │   │   ├── hand.mcfunction
│   │       │   │   ├── head.mcfunction
│   │       │   │   ├── offhand.mcfunction
│   │       │   │   ├── remove/
│   │       │   │   │   ├── hand.mcfunction
│   │       │   │   │   ├── head.mcfunction
│   │       │   │   │   └── offhand.mcfunction
│   │       │   │   ├── select/
│   │       │   │   │   ├── small.mcfunction
│   │       │   │   │   └── tall.mcfunction
│   │       │   │   └── select.mcfunction
│   │       │   ├── get_id.mcfunction
│   │       │   ├── init.mcfunction
│   │       │   ├── main.mcfunction
│   │       │   ├── place/
│   │       │   │   ├── check.mcfunction
│   │       │   │   ├── copy.mcfunction
│   │       │   │   └── new.mcfunction
│   │       │   ├── pose/
│   │       │   │   ├── check_no_player.mcfunction
│   │       │   │   ├── copy.mcfunction
│   │       │   │   ├── copy_entity_data.mcfunction
│   │       │   │   ├── flip.mcfunction
│   │       │   │   ├── invert.mcfunction
│   │       │   │   ├── mirror/
│   │       │   │   │   ├── arm_left.mcfunction
│   │       │   │   │   ├── arm_right.mcfunction
│   │       │   │   │   ├── leg_left.mcfunction
│   │       │   │   │   └── leg_right.mcfunction
│   │       │   │   ├── move.mcfunction
│   │       │   │   ├── paste.mcfunction
│   │       │   │   ├── rotate.mcfunction
│   │       │   │   ├── select/
│   │       │   │   │   ├── arm_left.mcfunction
│   │       │   │   │   ├── arm_right.mcfunction
│   │       │   │   │   ├── body.mcfunction
│   │       │   │   │   ├── failure.mcfunction
│   │       │   │   │   ├── head.mcfunction
│   │       │   │   │   ├── leg_left.mcfunction
│   │       │   │   │   ├── leg_right.mcfunction
│   │       │   │   │   ├── move/
│   │       │   │   │   │   ├── move.mcfunction
│   │       │   │   │   │   ├── offset.mcfunction
│   │       │   │   │   │   └── ray.mcfunction
│   │       │   │   │   ├── rotate.mcfunction
│   │       │   │   │   ├── small.mcfunction
│   │       │   │   │   ├── success.mcfunction
│   │       │   │   │   └── tall.mcfunction
│   │       │   │   ├── select.mcfunction
│   │       │   │   ├── set.mcfunction
│   │       │   │   ├── set_no_player.mcfunction
│   │       │   │   ├── snap/
│   │       │   │   │   ├── pose.mcfunction
│   │       │   │   │   ├── position.mcfunction
│   │       │   │   │   └── rotation.mcfunction
│   │       │   │   ├── track/
│   │       │   │   │   ├── arm_left.mcfunction
│   │       │   │   │   ├── arm_right.mcfunction
│   │       │   │   │   ├── body.mcfunction
│   │       │   │   │   ├── clear.mcfunction
│   │       │   │   │   ├── head.mcfunction
│   │       │   │   │   ├── leg_left.mcfunction
│   │       │   │   │   ├── leg_right.mcfunction
│   │       │   │   │   ├── move.mcfunction
│   │       │   │   │   ├── rotate.mcfunction
│   │       │   │   │   ├── select_armour_stand.mcfunction
│   │       │   │   │   ├── tick.mcfunction
│   │       │   │   │   ├── update.mcfunction
│   │       │   │   │   ├── update_joint.mcfunction
│   │       │   │   │   ├── update_markers.mcfunction
│   │       │   │   │   └── update_pose.mcfunction
│   │       │   │   └── undo.mcfunction
│   │       │   ├── tick.mcfunction
│   │       │   ├── toggle/
│   │       │   │   ├── arms/
│   │       │   │   │   ├── arms.mcfunction
│   │       │   │   │   ├── check.mcfunction
│   │       │   │   │   ├── detect_interaction.mcfunction
│   │       │   │   │   ├── remove_detection.mcfunction
│   │       │   │   │   └── select.mcfunction
│   │       │   │   ├── base.mcfunction
│   │       │   │   ├── gravity.mcfunction
│   │       │   │   ├── lock/
│   │       │   │   │   ├── check.mcfunction
│   │       │   │   │   ├── detect_interaction.mcfunction
│   │       │   │   │   ├── lock.mcfunction
│   │       │   │   │   ├── remove_temp_unlock.mcfunction
│   │       │   │   │   └── unlock.mcfunction
│   │       │   │   ├── size.mcfunction
│   │       │   │   ├── turn.mcfunction
│   │       │   │   └── visible.mcfunction
│   │       │   └── turn.mcfunction
│   │       ├── guidebook/
│   │       │   └── better_armour_stands.json
│   │       ├── item_modifier/
│   │       │   ├── add_ignore.json
│   │       │   ├── copy.json
│   │       │   ├── count.json
│   │       │   ├── remove_ignore.json
│   │       │   └── remove_item.json
│   │       ├── loot_table/
│   │       │   └── replaced_item.json
│   │       ├── predicate/
│   │       │   ├── coord_check.json
│   │       │   ├── emptybook.json
│   │       │   ├── holding/
│   │       │   │   ├── mainhand/
│   │       │   │   │   ├── armor_stand_copy.json
│   │       │   │   │   ├── book_and_quill.json
│   │       │   │   │   ├── book_arms.json
│   │       │   │   │   ├── book_ignore.json
│   │       │   │   │   ├── book_unlock.json
│   │       │   │   │   └── book_visible.json
│   │       │   │   └── offhand/
│   │       │   │       ├── armor_stand.json
│   │       │   │       └── nothing.json
│   │       │   ├── select/
│   │       │   │   ├── base.json
│   │       │   │   ├── body.json
│   │       │   │   ├── head.json
│   │       │   │   ├── left_arm.json
│   │       │   │   ├── left_leg.json
│   │       │   │   ├── right_arm.json
│   │       │   │   └── right_leg.json
│   │       │   └── sneaking.json
│   │       └── tags/
│   │           └── function/
│   │               ├── apply_book.json
│   │               └── default.json
│   ├── mod.mcdoc
│   └── translations.csv
├── gm4_block_compressors/
│   ├── README.md
│   ├── assets/
│   │   ├── gm4_block_compressors/
│   │   │   └── models/
│   │   │       └── block/
│   │   │           ├── block_compressor_full.json
│   │   │           └── block_compressor_plate.json
│   │   └── translations.csv
│   ├── beet.yaml
│   ├── data/
│   │   ├── gm4/
│   │   │   └── advancement/
│   │   │       ├── block_compressors.json
│   │   │       └── block_compressors_compressed_diet.json
│   │   ├── gm4_block_compressors/
│   │   │   ├── advancement/
│   │   │   │   └── recipes/
│   │   │   │       └── compressor.json
│   │   │   ├── function/
│   │   │   │   ├── init.mcfunction
│   │   │   │   ├── item/
│   │   │   │   │   ├── compress.mcfunction
│   │   │   │   │   ├── decompress.mcfunction
│   │   │   │   │   ├── set_lore.mcfunction
│   │   │   │   │   ├── try_compress.mcfunction
│   │   │   │   │   └── try_decompress.mcfunction
│   │   │   │   ├── item.mcfunction
│   │   │   │   ├── machine/
│   │   │   │   │   ├── create.mcfunction
│   │   │   │   │   ├── destroy.mcfunction
│   │   │   │   │   ├── verify_destroy.mcfunction
│   │   │   │   │   └── verify_place_down.mcfunction
│   │   │   │   ├── main.mcfunction
│   │   │   │   ├── pressure_plate_down.mcfunction
│   │   │   │   ├── pressure_plate_up.mcfunction
│   │   │   │   ├── process.mcfunction
│   │   │   │   └── upgrade_paths/
│   │   │   │       └── 1.4.mcfunction
│   │   │   ├── guidebook/
│   │   │   │   └── block_compressors.json
│   │   │   ├── loot_table/
│   │   │   │   └── items/
│   │   │   │       └── block_compressor.json
│   │   │   ├── recipe/
│   │   │   │   └── compressor.json
│   │   │   └── test/
│   │   │       ├── compress_64.mcfunction
│   │   │       ├── compress_7.mcfunction
│   │   │       ├── decompress_64.mcfunction
│   │   │       ├── destroy.mcfunction
│   │   │       ├── fixed_uuid_present.mcfunction
│   │   │       └── place.mcfunction
│   │   └── gm4_machines/
│   │       └── tags/
│   │           └── function/
│   │               ├── destroy.json
│   │               └── place_down.json
│   └── mod.mcdoc
├── gm4_blossoming_pots/
│   ├── README.md
│   ├── beet.yaml
│   ├── data/
│   │   └── gm4_blossoming_pots/
│   │       ├── advancement/
│   │       │   ├── interact_with_decorated_pot.json
│   │       │   ├── interact_with_flower_pot.json
│   │       │   └── interact_with_vanilla_flower_pot.json
│   │       ├── function/
│   │       │   ├── decorated/
│   │       │   │   ├── as_player.mcfunction
│   │       │   │   ├── check_if_pot_empty.mcfunction
│   │       │   │   ├── get_player_rotation.mcfunction
│   │       │   │   ├── in_decorated_pot.mcfunction
│   │       │   │   ├── prepare_data.mcfunction
│   │       │   │   ├── raycast.mcfunction
│   │       │   │   ├── set_count.mcfunction
│   │       │   │   ├── set_displays.mcfunction
│   │       │   │   ├── set_storage.mcfunction
│   │       │   │   └── set_temp_data.mcfunction
│   │       │   ├── flower/
│   │       │   │   ├── as_player.mcfunction
│   │       │   │   ├── cleanup.mcfunction
│   │       │   │   ├── get_player_data.mcfunction
│   │       │   │   ├── give_item_to_player.mcfunction
│   │       │   │   ├── in_flower_pot.mcfunction
│   │       │   │   ├── prepare_data.mcfunction
│   │       │   │   ├── raycast.mcfunction
│   │       │   │   ├── remove_plant.mcfunction
│   │       │   │   ├── set_displays.mcfunction
│   │       │   │   ├── set_storage.mcfunction
│   │       │   │   └── set_temp_data.mcfunction
│   │       │   ├── init.mcfunction
│   │       │   ├── main.mcfunction
│   │       │   ├── play_sound.mcfunction
│   │       │   ├── upgrade_paths/
│   │       │   │   ├── 3.1/
│   │       │   │   │   ├── check_legacy_flower_pot_in_storage.mcfunction
│   │       │   │   │   ├── drop_legacy_items.mcfunction
│   │       │   │   │   ├── legacy_decorated_pot.mcfunction
│   │       │   │   │   └── legacy_flower_pot.mcfunction
│   │       │   │   ├── 3.1.mcfunction
│   │       │   │   ├── 3.4/
│   │       │   │   │   └── remove_perma_marker.mcfunction
│   │       │   │   └── 3.4.mcfunction
│   │       │   └── vanilla_pot_handling/
│   │       │       ├── as_marker.mcfunction
│   │       │       ├── as_player.mcfunction
│   │       │       ├── get_dropped_item.mcfunction
│   │       │       ├── give_item_back.mcfunction
│   │       │       ├── in_vanilla_flower_pot.mcfunction
│   │       │       └── raycast.mcfunction
│   │       ├── guidebook/
│   │       │   └── blossoming_pots.json
│   │       ├── predicate/
│   │       │   └── item_potable.json
│   │       ├── tags/
│   │       │   ├── block/
│   │       │   │   └── potted_plants.json
│   │       │   └── item/
│   │       │       └── potable_plants.json
│   │       └── test/
│   │           ├── decorated_pot_bounding_box.mcfunction
│   │           ├── place_in_decorated_pot.mcfunction
│   │           ├── place_in_flower_pot.mcfunction
│   │           ├── upgrade_path_3.1.mcfunction
│   │           ├── upgrade_path_3.4.mcfunction
│   │           └── vanilla_pot_handling.mcfunction
│   └── translations.csv
├── gm4_book_binders/
│   ├── README.md
│   ├── assets/
│   │   └── translations.csv
│   ├── beet.yaml
│   ├── data/
│   │   ├── gm4/
│   │   │   └── advancement/
│   │   │       ├── book_binders.json
│   │   │       ├── book_binders_bind.json
│   │   │       └── book_binders_debind.json
│   │   └── gm4_book_binders/
│   │       ├── advancement/
│   │       │   └── place_new_lectern.json
│   │       ├── function/
│   │       │   ├── binder/
│   │       │   │   ├── hopper_grab.mcfunction
│   │       │   │   ├── placement/
│   │       │   │   │   ├── detect_facing.mcfunction
│   │       │   │   │   ├── disable.mcfunction
│   │       │   │   │   ├── drop_hand_item.mcfunction
│   │       │   │   │   ├── drop_stored_item.mcfunction
│   │       │   │   │   ├── enable.mcfunction
│   │       │   │   │   ├── find_lectern.mcfunction
│   │       │   │   │   ├── kill.mcfunction
│   │       │   │   │   └── revoke_advancement.mcfunction
│   │       │   │   ├── recipes/
│   │       │   │   │   ├── bind.mcfunction
│   │       │   │   │   ├── check_recipes.mcfunction
│   │       │   │   │   ├── debind.mcfunction
│   │       │   │   │   └── page.mcfunction
│   │       │   │   └── tick.mcfunction
│   │       │   ├── init.mcfunction
│   │       │   ├── main.mcfunction
│   │       │   └── process_binders.mcfunction
│   │       ├── guidebook/
│   │       │   └── book_binders.json
│   │       ├── loot_table/
│   │       │   └── debind_book.json
│   │       ├── predicate/
│   │       │   └── successful_process.json
│   │       └── test/
│   │           ├── binding.mcfunction
│   │           └── debinding.mcfunction
│   └── mod.mcdoc
├── gm4_bookshelf_inspector/
│   ├── README.md
│   ├── beet.yaml
│   ├── data/
│   │   └── gm4_bookshelf_inspector/
│   │       ├── function/
│   │       │   ├── evaluate/
│   │       │   │   ├── raycast.mcfunction
│   │       │   │   └── run.mcfunction
│   │       │   ├── find_book/
│   │       │   │   ├── find_book.mcfunction
│   │       │   │   ├── get_book_slot.mcfunction
│   │       │   │   ├── get_rotation.mcfunction
│   │       │   │   ├── prep.mcfunction
│   │       │   │   └── raycast.mcfunction
│   │       │   ├── init.mcfunction
│   │       │   ├── main.mcfunction
│   │       │   └── process_display/
│   │       │       ├── check_location.mcfunction
│   │       │       ├── locate_slot.mcfunction
│   │       │       ├── remove/
│   │       │       │   ├── process.mcfunction
│   │       │       │   ├── start.mcfunction
│   │       │       │   └── tick.mcfunction
│   │       │       ├── spawn/
│   │       │       │   ├── components_to_list.mcfunction
│   │       │       │   ├── decide_name.mcfunction
│   │       │       │   ├── eval_enchantment.mcfunction
│   │       │       │   ├── init.mcfunction
│   │       │       │   ├── list_enchantments.mcfunction
│   │       │       │   ├── process.mcfunction
│   │       │       │   ├── process_enchantments.mcfunction
│   │       │       │   └── tick.mcfunction
│   │       │       └── update.mcfunction
│   │       └── guidebook/
│   │           └── bookshelf_inspector.json
│   ├── mod.mcdoc
│   └── translations.csv
├── gm4_boots_of_ostara/
│   ├── README.md
│   ├── assets/
│   │   ├── gm4_boots_of_ostara/
│   │   │   └── optifine/
│   │   │       └── cit/
│   │   │           └── boots_of_ostara.properties
│   │   └── translations.csv
│   ├── beet.yaml
│   └── data/
│       ├── gm4/
│       │   └── advancement/
│       │       └── boots_of_ostara.json
│       ├── gm4_boots_of_ostara/
│       │   ├── advancement/
│       │   │   └── recipes/
│       │   │       └── boots_of_ostara.json
│       │   ├── function/
│       │   │   ├── block_desire_lines.mcfunction
│       │   │   ├── convert.mcfunction
│       │   │   ├── init.mcfunction
│       │   │   └── main.mcfunction
│       │   ├── guidebook/
│       │   │   └── boots_of_ostara.json
│       │   ├── loot_table/
│       │   │   └── items/
│       │   │       └── boots_of_ostara.json
│       │   ├── predicate/
│       │   │   └── boots_equipped.json
│       │   ├── recipe/
│       │   │   └── boots_of_ostara.json
│       │   ├── tags/
│       │   │   └── block/
│       │   │       ├── moss_replaceable.json
│       │   │       └── mycelium_replaceable.json
│       │   └── test/
│       │       ├── armor_stand_both.mcfunction
│       │       ├── armor_stand_both_backwards.mcfunction
│       │       ├── armor_stand_grass.mcfunction
│       │       ├── armor_stand_moss.mcfunction
│       │       ├── player_grass.mcfunction
│       │       └── player_moss.mcfunction
│       └── gm4_desire_lines/
│           └── tags/
│               └── function/
│                   └── expansion.json
├── gm4_calling_bell/
│   ├── README.md
│   ├── beet.yaml
│   ├── data/
│   │   ├── gm4/
│   │   │   └── advancement/
│   │   │       └── calling_bell.json
│   │   └── gm4_calling_bell/
│   │       ├── advancement/
│   │       │   └── ring_bell.json
│   │       ├── function/
│   │       │   ├── init.mcfunction
│   │       │   ├── on_bell_interact.mcfunction
│   │       │   ├── raycast.mcfunction
│   │       │   └── summon_trader.mcfunction
│   │       ├── guidebook/
│   │       │   └── calling_bell.json
│   │       ├── item_modifier/
│   │       │   └── minus_one.json
│   │       ├── predicate/
│   │       │   └── trader_hitbox_no_collision.json
│   │       └── test/
│   │           ├── call.mcfunction
│   │           └── call_blocked.mcfunction
│   └── translations.csv
├── gm4_cement_mixers/
│   ├── README.md
│   ├── beet.yaml
│   ├── data/
│   │   ├── gm4_cement_mixers/
│   │   │   ├── function/
│   │   │   │   ├── init.mcfunction
│   │   │   │   ├── item_fill.mcfunction
│   │   │   │   └── water_concrete.mcfunction
│   │   │   └── guidebook/
│   │   │       └── cement_mixers.json
│   │   └── gm4_liquid_tanks/
│   │       └── tags/
│   │           └── function/
│   │               └── item_fill.json
│   └── translations.csv
├── gm4_chairs/
│   ├── README.md
│   ├── beet.yaml
│   ├── data/
│   │   ├── gm4/
│   │   │   └── advancement/
│   │   │       ├── chairs_creation.json
│   │   │       └── chairs_sit.json
│   │   └── gm4_chairs/
│   │       ├── advancement/
│   │       │   ├── hit.json
│   │       │   └── lightning.json
│   │       ├── function/
│   │       │   ├── create_chair.mcfunction
│   │       │   ├── hit.mcfunction
│   │       │   ├── init.mcfunction
│   │       │   ├── kill.mcfunction
│   │       │   ├── lightning/
│   │       │   │   ├── revive_chair.mcfunction
│   │       │   │   └── tag.mcfunction
│   │       │   ├── main.mcfunction
│   │       │   └── sit/
│   │       │       ├── check.mcfunction
│   │       │       └── counter.mcfunction
│   │       ├── guidebook/
│   │       │   └── chairs.json
│   │       ├── loot_table/
│   │       │   └── drop_saddle.json
│   │       ├── predicate/
│   │       │   └── sitting_in_chair.json
│   │       └── test/
│   │           └── create.mcfunction
│   └── translations.csv
├── gm4_cooler_caves/
│   ├── README.md
│   ├── beet.yaml
│   ├── data/
│   │   ├── gm4_cooler_caves/
│   │   │   ├── function/
│   │   │   │   └── init.mcfunction
│   │   │   ├── guidebook/
│   │   │   │   └── cooler_caves.json
│   │   │   ├── tags/
│   │   │   │   └── block/
│   │   │   │       ├── badlands_ore_replaceables.json
│   │   │   │       ├── base_desert_overworld.json
│   │   │   │       └── base_snowy_overworld.json
│   │   │   └── worldgen/
│   │   │       ├── configured_feature/
│   │   │       │   ├── badlands/
│   │   │       │   │   ├── glow_lichen.json
│   │   │       │   │   ├── ore_coal.json
│   │   │       │   │   ├── ore_coal_buried.json
│   │   │       │   │   ├── ore_copper_small.json
│   │   │       │   │   ├── ore_diamond_buried.json
│   │   │       │   │   ├── ore_diamond_large.json
│   │   │       │   │   ├── ore_diamond_small.json
│   │   │       │   │   ├── ore_gold.json
│   │   │       │   │   ├── ore_gold_buried.json
│   │   │       │   │   ├── ore_iron.json
│   │   │       │   │   ├── ore_iron_small.json
│   │   │       │   │   ├── ore_lapis.json
│   │   │       │   │   ├── ore_lapis_buried.json
│   │   │       │   │   └── ore_redstone.json
│   │   │       │   ├── desert/
│   │   │       │   │   ├── glow_lichen.json
│   │   │       │   │   └── ore_sand.json
│   │   │       │   └── snowy/
│   │   │       │       ├── glow_lichen.json
│   │   │       │       ├── ore_blue_ice.json
│   │   │       │       ├── ore_ice.json
│   │   │       │       ├── ore_packed_ice.json
│   │   │       │       ├── ore_packed_ice_small.json
│   │   │       │       ├── ore_powder_snow.json
│   │   │       │       └── trees.json
│   │   │       └── placed_feature/
│   │   │           ├── badlands/
│   │   │           │   ├── glow_lichen.json
│   │   │           │   ├── ore_coal_lower.json
│   │   │           │   ├── ore_coal_upper.json
│   │   │           │   ├── ore_copper.json
│   │   │           │   ├── ore_diamond.json
│   │   │           │   ├── ore_diamond_buried.json
│   │   │           │   ├── ore_diamond_large.json
│   │   │           │   ├── ore_gold.json
│   │   │           │   ├── ore_gold_lower.json
│   │   │           │   ├── ore_iron_middle.json
│   │   │           │   ├── ore_iron_small.json
│   │   │           │   ├── ore_iron_upper.json
│   │   │           │   ├── ore_lapis.json
│   │   │           │   ├── ore_lapis_buried.json
│   │   │           │   ├── ore_redstone.json
│   │   │           │   └── ore_redstone_lower.json
│   │   │           ├── desert/
│   │   │           │   ├── glow_lichen.json
│   │   │           │   └── ore_sand.json
│   │   │           └── snowy/
│   │   │               ├── glow_lichen.json
│   │   │               ├── ore_blue_ice_lower.json
│   │   │               ├── ore_blue_ice_upper.json
│   │   │               ├── ore_ice_lower.json
│   │   │               ├── ore_ice_upper.json
│   │   │               ├── ore_packed_ice_lower.json
│   │   │               ├── ore_packed_ice_small.json
│   │   │               ├── ore_packed_ice_upper.json
│   │   │               ├── ore_powder_snow.json
│   │   │               ├── patch_berry_rare.json
│   │   │               ├── patch_snow_layer.json
│   │   │               ├── trees.json
│   │   │               └── trees_taiga.json
│   │   └── minecraft/
│   │       ├── tags/
│   │       │   ├── block/
│   │       │   │   └── stone_ore_replaceables.json
│   │       │   └── worldgen/
│   │       │       └── placed_feature/
│   │       │           ├── underground_ores/
│   │       │           │   └── in_biome/
│   │       │           │       ├── badlands.json
│   │       │           │       ├── desert.json
│   │       │           │       ├── eroded_badlands.json
│   │       │           │       ├── frozen_peaks.json
│   │       │           │       ├── frozen_river.json
│   │       │           │       ├── grove.json
│   │       │           │       ├── ice_spikes.json
│   │       │           │       ├── snowy_beach.json
│   │       │           │       ├── snowy_plains.json
│   │       │           │       ├── snowy_slopes.json
│   │       │           │       ├── snowy_taiga.json
│   │       │           │       └── wooded_badlands.json
│   │       │           └── vegetal_decoration/
│   │       │               └── in_biome/
│   │       │                   ├── badlands.json
│   │       │                   ├── desert.json
│   │       │                   ├── eroded_badlands.json
│   │       │                   ├── frozen_peaks.json
│   │       │                   ├── frozen_river.json
│   │       │                   ├── grove.json
│   │       │                   ├── ice_spikes.json
│   │       │                   ├── snowy_beach.json
│   │       │                   ├── snowy_plains.json
│   │       │                   ├── snowy_slopes.json
│   │       │                   ├── snowy_taiga.json
│   │       │                   └── wooded_badlands.json
│   │       └── worldgen/
│   │           └── noise_settings/
│   │               └── overworld.json
│   └── translations.csv
├── gm4_cozy_campfires/
│   ├── README.md
│   ├── beet.yaml
│   ├── data/
│   │   └── gm4_cozy_campfires/
│   │       ├── advancement/
│   │       │   └── place_campfire.json
│   │       ├── function/
│   │       │   ├── cozy_campfire.mcfunction
│   │       │   ├── cozy_player.mcfunction
│   │       │   ├── init.mcfunction
│   │       │   ├── main.mcfunction
│   │       │   └── placement/
│   │       │       ├── place.mcfunction
│   │       │       └── ray.mcfunction
│   │       ├── guidebook/
│   │       │   └── cozy_campfires.json
│   │       └── test/
│   │           └── regeneration.mcfunction
│   └── translations.csv
├── gm4_crossbow_cartridges/
│   ├── README.md
│   ├── beet.yaml
│   ├── data/
│   │   ├── gm4/
│   │   │   └── advancement/
│   │   │       ├── crossbow_cartridges_bucket.json
│   │   │       └── crossbow_cartridges_string.json
│   │   └── gm4_crossbow_cartridges/
│   │       ├── advancement/
│   │       │   └── shoot_crossbow.json
│   │       ├── function/
│   │       │   ├── cables/
│   │       │   │   ├── determine_direction.mcfunction
│   │       │   │   ├── hook_success.mcfunction
│   │       │   │   ├── place_hook.mcfunction
│   │       │   │   ├── place_tripwire.mcfunction
│   │       │   │   ├── shoot_arrow.mcfunction
│   │       │   │   └── unspool_string.mcfunction
│   │       │   ├── check_projectile.mcfunction
│   │       │   ├── init.mcfunction
│   │       │   ├── projectile/
│   │       │   │   ├── arrow_motion.mcfunction
│   │       │   │   ├── beehive.mcfunction
│   │       │   │   ├── bucket/
│   │       │   │   │   ├── axolotl.mcfunction
│   │       │   │   │   ├── cod.mcfunction
│   │       │   │   │   ├── multishot/
│   │       │   │   │   │   ├── axolotl.mcfunction
│   │       │   │   │   │   ├── cod.mcfunction
│   │       │   │   │   │   ├── pufferfish.mcfunction
│   │       │   │   │   │   ├── salmon.mcfunction
│   │       │   │   │   │   ├── tadpole.mcfunction
│   │       │   │   │   │   └── tropical.mcfunction
│   │       │   │   │   ├── pufferfish.mcfunction
│   │       │   │   │   ├── salmon.mcfunction
│   │       │   │   │   ├── tadpole.mcfunction
│   │       │   │   │   └── tropical.mcfunction
│   │       │   │   ├── bucket.mcfunction
│   │       │   │   ├── copper_torch/
│   │       │   │   │   ├── check.mcfunction
│   │       │   │   │   ├── loop.mcfunction
│   │       │   │   │   └── place.mcfunction
│   │       │   │   ├── copper_torch.mcfunction
│   │       │   │   ├── fireball.mcfunction
│   │       │   │   ├── fireball_kill.mcfunction
│   │       │   │   ├── potions.mcfunction
│   │       │   │   ├── redstone_torch/
│   │       │   │   │   ├── check.mcfunction
│   │       │   │   │   ├── loop.mcfunction
│   │       │   │   │   └── place.mcfunction
│   │       │   │   ├── redstone_torch.mcfunction
│   │       │   │   ├── set_bees.mcfunction
│   │       │   │   ├── soul_torch/
│   │       │   │   │   ├── check.mcfunction
│   │       │   │   │   ├── loop.mcfunction
│   │       │   │   │   └── place.mcfunction
│   │       │   │   ├── soul_torch.mcfunction
│   │       │   │   ├── tnt.mcfunction
│   │       │   │   ├── torch/
│   │       │   │   │   ├── check.mcfunction
│   │       │   │   │   ├── loop.mcfunction
│   │       │   │   │   └── place.mcfunction
│   │       │   │   ├── torch.mcfunction
│   │       │   │   ├── wind_charge.mcfunction
│   │       │   │   └── wind_charge_kill.mcfunction
│   │       │   └── shoot/
│   │       │       ├── any_arrow.mcfunction
│   │       │       ├── potion_effect.mcfunction
│   │       │       ├── spectral.mcfunction
│   │       │       └── tipped.mcfunction
│   │       ├── guidebook/
│   │       │   └── crossbow_cartridges.json
│   │       ├── item_modifier/
│   │       │   └── remove_item.json
│   │       ├── predicate/
│   │       │   ├── check_block/
│   │       │   │   ├── below.json
│   │       │   │   ├── east.json
│   │       │   │   ├── north.json
│   │       │   │   ├── south.json
│   │       │   │   └── west.json
│   │       │   └── items/
│   │       │       ├── axolotl.json
│   │       │       ├── beehive.json
│   │       │       ├── bucket.json
│   │       │       ├── cod.json
│   │       │       ├── copper_torch.json
│   │       │       ├── fire_charge.json
│   │       │       ├── lingering_potion.json
│   │       │       ├── potions.json
│   │       │       ├── pufferfish.json
│   │       │       ├── redstone_torch.json
│   │       │       ├── salmon.json
│   │       │       ├── soul_torch.json
│   │       │       ├── splash_potion.json
│   │       │       ├── string.json
│   │       │       ├── tadpole.json
│   │       │       ├── tnt.json
│   │       │       ├── torch.json
│   │       │       ├── tropical.json
│   │       │       └── wind_charge.json
│   │       └── tags/
│   │           ├── block/
│   │           │   ├── string_replaceable.json
│   │           │   ├── torch.json
│   │           │   └── torch_placeable_top.json
│   │           └── item/
│   │               ├── bucket.json
│   │               └── valid_items.json
│   ├── mod.mcdoc
│   └── translations.csv
├── gm4_dangerous_dungeons/
│   ├── README.md
│   ├── beet.yaml
│   ├── data/
│   │   └── gm4_dangerous_dungeons/
│   │       ├── function/
│   │       │   └── init.mcfunction
│   │       ├── guidebook/
│   │       │   └── dangerous_dungeons.json
│   │       ├── structure/
│   │       │   └── dungeon/
│   │       │       ├── badlands/
│   │       │       │   ├── default.nbt
│   │       │       │   ├── large/
│   │       │       │   │   ├── base.nbt
│   │       │       │   │   └── decor/
│   │       │       │   │       ├── lower/
│   │       │       │   │       │   ├── a.nbt
│   │       │       │   │       │   ├── b.nbt
│   │       │       │   │       │   └── c.nbt
│   │       │       │   │       └── upper/
│   │       │       │   │           ├── a.nbt
│   │       │       │   │           ├── b.nbt
│   │       │       │   │           └── c.nbt
│   │       │       │   ├── medium_1/
│   │       │       │   │   ├── base.nbt
│   │       │       │   │   ├── base_featured.nbt
│   │       │       │   │   └── decor/
│   │       │       │   │       ├── a.nbt
│   │       │       │   │       ├── b.nbt
│   │       │       │   │       ├── c.nbt
│   │       │       │   │       └── d.nbt
│   │       │       │   ├── medium_2/
│   │       │       │   │   ├── base.nbt
│   │       │       │   │   └── decor/
│   │       │       │   │       ├── a.nbt
│   │       │       │   │       ├── b.nbt
│   │       │       │   │       └── c.nbt
│   │       │       │   └── tiny/
│   │       │       │       ├── base.nbt
│   │       │       │       └── decor/
│   │       │       │           ├── a.nbt
│   │       │       │           ├── b.nbt
│   │       │       │           ├── c.nbt
│   │       │       │           ├── d.nbt
│   │       │       │           └── e.nbt
│   │       │       ├── deep_slate/
│   │       │       │   ├── large_1/
│   │       │       │   │   ├── base.nbt
│   │       │       │   │   └── decor/
│   │       │       │   │       ├── chests/
│   │       │       │   │       │   ├── a.nbt
│   │       │       │   │       │   └── b.nbt
│   │       │       │   │       └── spawners/
│   │       │       │   │           ├── a.nbt
│   │       │       │   │           └── b.nbt
│   │       │       │   ├── large_2/
│   │       │       │   │   ├── base.nbt
│   │       │       │   │   └── decor/
│   │       │       │   │       ├── liquid/
│   │       │       │   │       │   ├── lava_1.nbt
│   │       │       │   │       │   ├── lava_2.nbt
│   │       │       │   │       │   ├── lava_3.nbt
│   │       │       │   │       │   └── water.nbt
│   │       │       │   │       └── upper/
│   │       │       │   │           ├── a.nbt
│   │       │       │   │           ├── b.nbt
│   │       │       │   │           ├── c.nbt
│   │       │       │   │           └── d.nbt
│   │       │       │   ├── medium/
│   │       │       │   │   ├── base.nbt
│   │       │       │   │   └── decor/
│   │       │       │   │       ├── a.nbt
│   │       │       │   │       ├── b.nbt
│   │       │       │   │       ├── c.nbt
│   │       │       │   │       ├── d.nbt
│   │       │       │   │       ├── e.nbt
│   │       │       │   │       ├── f.nbt
│   │       │       │   │       ├── g.nbt
│   │       │       │   │       └── h.nbt
│   │       │       │   └── small/
│   │       │       │       ├── base.nbt
│   │       │       │       └── decor/
│   │       │       │           ├── chests/
│   │       │       │           │   ├── a.nbt
│   │       │       │           │   ├── b.nbt
│   │       │       │           │   ├── c.nbt
│   │       │       │           │   └── d.nbt
│   │       │       │           └── spawners/
│   │       │       │               ├── a.nbt
│   │       │       │               ├── b.nbt
│   │       │       │               ├── c.nbt
│   │       │       │               └── d.nbt
│   │       │       ├── default/
│   │       │       │   └── default.nbt
│   │       │       ├── default.nbt
│   │       │       ├── desert/
│   │       │       │   ├── default.nbt
│   │       │       │   ├── large/
│   │       │       │   │   ├── base.nbt
│   │       │       │   │   └── decor/
│   │       │       │   │       ├── lower/
│   │       │       │   │       │   ├── a.nbt
│   │       │       │   │       │   ├── b.nbt
│   │       │       │   │       │   └── c.nbt
│   │       │       │   │       └── upper/
│   │       │       │   │           ├── a.nbt
│   │       │       │   │           ├── b.nbt
│   │       │       │   │           └── c.nbt
│   │       │       │   ├── medium_1/
│   │       │       │   │   ├── base.nbt
│   │       │       │   │   ├── base_featured.nbt
│   │       │       │   │   └── decor/
│   │       │       │   │       ├── a.nbt
│   │       │       │   │       ├── b.nbt
│   │       │       │   │       ├── c.nbt
│   │       │       │   │       └── d.nbt
│   │       │       │   ├── medium_2/
│   │       │       │   │   ├── base.nbt
│   │       │       │   │   └── decor/
│   │       │       │   │       ├── a.nbt
│   │       │       │   │       ├── b.nbt
│   │       │       │   │       └── c.nbt
│   │       │       │   └── tiny/
│   │       │       │       ├── base.nbt
│   │       │       │       └── decor/
│   │       │       │           ├── a.nbt
│   │       │       │           ├── b.nbt
│   │       │       │           ├── c.nbt
│   │       │       │           ├── d.nbt
│   │       │       │           └── e.nbt
│   │       │       ├── lush/
│   │       │       │   ├── grid_1/
│   │       │       │   │   └── base.nbt
│   │       │       │   ├── grid_2/
│   │       │       │   │   └── base.nbt
│   │       │       │   ├── grid_large/
│   │       │       │   │   ├── base.nbt
│   │       │       │   │   └── decor/
│   │       │       │   │       ├── a.nbt
│   │       │       │   │       ├── b.nbt
│   │       │       │   │       ├── c.nbt
│   │       │       │   │       └── d.nbt
│   │       │       │   └── grid_small/
│   │       │       │       └── base.nbt
│   │       │       ├── ocean/
│   │       │       │   ├── default.nbt
│   │       │       │   ├── large/
│   │       │       │   │   ├── base.nbt
│   │       │       │   │   └── decor/
│   │       │       │   │       ├── a.nbt
│   │       │       │   │       ├── b.nbt
│   │       │       │   │       ├── c.nbt
│   │       │       │   │       └── d.nbt
│   │       │       │   ├── medium_1/
│   │       │       │   │   ├── base.nbt
│   │       │       │   │   └── decor/
│   │       │       │   │       ├── a.nbt
│   │       │       │   │       ├── b.nbt
│   │       │       │   │       ├── c.nbt
│   │       │       │   │       └── d.nbt
│   │       │       │   ├── medium_2/
│   │       │       │   │   ├── base.nbt
│   │       │       │   │   └── decor/
│   │       │       │   │       ├── a.nbt
│   │       │       │   │       ├── b.nbt
│   │       │       │   │       ├── c.nbt
│   │       │       │   │       ├── d.nbt
│   │       │       │   │       └── e.nbt
│   │       │       │   └── small/
│   │       │       │       ├── base.nbt
│   │       │       │       └── decor/
│   │       │       │           ├── a.nbt
│   │       │       │           ├── b.nbt
│   │       │       │           ├── c.nbt
│   │       │       │           └── d.nbt
│   │       │       ├── ocean.nbt
│   │       │       ├── snowy/
│   │       │       │   └── default.nbt
│   │       │       └── stone/
│   │       │           ├── default.nbt
│   │       │           ├── default2.nbt
│   │       │           ├── large/
│   │       │           │   ├── base.nbt
│   │       │           │   └── decor/
│   │       │           │       ├── center/
│   │       │           │       │   ├── a.nbt
│   │       │           │       │   ├── b.nbt
│   │       │           │       │   ├── c.nbt
│   │       │           │       │   └── d.nbt
│   │       │           │       └── corner/
│   │       │           │           ├── a.nbt
│   │       │           │           ├── b.nbt
│   │       │           │           └── c.nbt
│   │       │           ├── medium_1/
│   │       │           │   ├── base.nbt
│   │       │           │   └── decor/
│   │       │           │       ├── long/
│   │       │           │       │   ├── a.nbt
│   │       │           │       │   ├── b.nbt
│   │       │           │       │   ├── d.nbt
│   │       │           │       │   └── e.nbt
│   │       │           │       └── short/
│   │       │           │           ├── a.nbt
│   │       │           │           ├── b.nbt
│   │       │           │           ├── c.nbt
│   │       │           │           └── d.nbt
│   │       │           ├── medium_2/
│   │       │           │   ├── base.nbt
│   │       │           │   └── decor/
│   │       │           │       ├── lower_floor/
│   │       │           │       │   ├── a.nbt
│   │       │           │       │   ├── b.nbt
│   │       │           │       │   ├── c.nbt
│   │       │           │       │   ├── d.nbt
│   │       │           │       │   └── e.nbt
│   │       │           │       └── upper_floor/
│   │       │           │           ├── a.nbt
│   │       │           │           ├── b.nbt
│   │       │           │           └── c.nbt
│   │       │           └── temple/
│   │       │               ├── base.nbt
│   │       │               └── decor/
│   │       │                   ├── a.nbt
│   │       │                   └── b.nbt
│   │       ├── tags/
│   │       │   └── worldgen/
│   │       │       └── biome/
│   │       │           ├── is_desert.json
│   │       │           ├── is_lush.json
│   │       │           ├── is_snowy.json
│   │       │           └── is_stone_base.json
│   │       └── worldgen/
│   │           ├── structure/
│   │           │   ├── badlands/
│   │           │   │   ├── lower.json
│   │           │   │   └── upper.json
│   │           │   ├── deep_slate.json
│   │           │   ├── desert.json
│   │           │   ├── lush.json
│   │           │   ├── ocean/
│   │           │   │   ├── default.json
│   │           │   │   └── surface.json
│   │           │   ├── snowy.json
│   │           │   └── stone/
│   │           │       ├── default.json
│   │           │       └── ocean.json
│   │           ├── structure_set/
│   │           │   ├── dungeons_lower.json
│   │           │   ├── dungeons_upper.json
│   │           │   └── ocean_surface.json
│   │           └── template_pool/
│   │               ├── dungeon/
│   │               │   ├── badlands.json
│   │               │   ├── deep_slate.json
│   │               │   ├── desert.json
│   │               │   ├── lush.json
│   │               │   ├── ocean/
│   │               │   │   ├── default.json
│   │               │   │   └── surface.json
│   │               │   ├── snowy.json
│   │               │   └── stone.json
│   │               └── subpart/
│   │                   ├── badlands/
│   │                   │   ├── large/
│   │                   │   │   ├── lower_features.json
│   │                   │   │   └── upper_features.json
│   │                   │   ├── medium_1_features.json
│   │                   │   ├── medium_2_features.json
│   │                   │   └── tiny_features.json
│   │                   ├── deep_slate/
│   │                   │   ├── large_1/
│   │                   │   │   ├── chests.json
│   │                   │   │   └── spawners.json
│   │                   │   ├── large_2/
│   │                   │   │   ├── liquid.json
│   │                   │   │   └── upper.json
│   │                   │   ├── medium_features.json
│   │                   │   └── small/
│   │                   │       ├── chest_sets.json
│   │                   │       └── spawner_sets.json
│   │                   ├── desert/
│   │                   │   ├── large/
│   │                   │   │   ├── lower_features.json
│   │                   │   │   └── upper_features.json
│   │                   │   ├── medium_1_features.json
│   │                   │   ├── medium_2_features.json
│   │                   │   └── tiny_features.json
│   │                   ├── lush/
│   │                   │   └── grid_large_features.json
│   │                   ├── ocean/
│   │                   │   ├── large_features.json
│   │                   │   ├── medium_1_features.json
│   │                   │   ├── medium_2_features.json
│   │                   │   └── small_features.json
│   │                   └── stone/
│   │                       ├── large/
│   │                       │   ├── center_features.json
│   │                       │   └── corner_features.json
│   │                       ├── medium_1/
│   │                       │   ├── long_side.json
│   │                       │   └── short_side.json
│   │                       ├── medium_2/
│   │                       │   ├── lower_floor.json
│   │                       │   └── upper_floor.json
│   │                       └── temple_side.json
│   └── translations.csv
├── gm4_desire_lines/
│   ├── README.md
│   ├── beet.yaml
│   ├── data/
│   │   ├── gm4/
│   │   │   └── advancement/
│   │   │       ├── desire_lines_10000.json
│   │   │       └── desire_lines_8000.json
│   │   ├── gm4_celaro_shamir/
│   │   │   ├── function/
│   │   │   │   ├── active.mcfunction
│   │   │   │   ├── check_item_validity.mcfunction
│   │   │   │   ├── summon_band.mcfunction
│   │   │   │   └── tick.mcfunction
│   │   │   ├── guidebook/
│   │   │   │   └── celaro_shamir.json
│   │   │   ├── loot_table/
│   │   │   │   └── band.json
│   │   │   ├── predicate/
│   │   │   │   ├── shamir_active.json
│   │   │   │   └── stealth_active.json
│   │   │   └── tags/
│   │   │       ├── block/
│   │   │       │   └── tall_plants.json
│   │   │       └── item/
│   │   │           └── valid_items.json
│   │   ├── gm4_desire_lines/
│   │   │   ├── function/
│   │   │   │   ├── init.mcfunction
│   │   │   │   ├── path.mcfunction
│   │   │   │   ├── player.mcfunction
│   │   │   │   └── tick.mcfunction
│   │   │   ├── guidebook/
│   │   │   │   └── desire_lines.json
│   │   │   ├── predicate/
│   │   │   │   ├── can_coarse_dirt.json
│   │   │   │   ├── feather_falling_fail.json
│   │   │   │   └── is_affected.json
│   │   │   └── tags/
│   │   │       └── function/
│   │   │           ├── expansion.json
│   │   │           └── load.json
│   │   └── gm4_metallurgy/
│   │       └── tags/
│   │           └── function/
│   │               ├── check_item_validity.json
│   │               └── summon_band/
│   │                   └── aluminium.json
│   └── translations.csv
├── gm4_disassemblers/
│   ├── README.md
│   ├── assets/
│   │   └── translations.csv
│   ├── beet.yaml
│   ├── data/
│   │   ├── gm4/
│   │   │   └── advancement/
│   │   │       └── disassemblers.json
│   │   ├── gm4_disassemblers/
│   │   │   ├── advancement/
│   │   │   │   └── recipes/
│   │   │   │       └── disassembler.json
│   │   │   ├── function/
│   │   │   │   ├── check_disassemble_recipe.mcfunction
│   │   │   │   ├── check_item.mcfunction
│   │   │   │   ├── init.mcfunction
│   │   │   │   ├── machine/
│   │   │   │   │   ├── create.mcfunction
│   │   │   │   │   ├── destroy.mcfunction
│   │   │   │   │   ├── place_rotated.mcfunction
│   │   │   │   │   ├── verify_destroy.mcfunction
│   │   │   │   │   └── verify_place_down.mcfunction
│   │   │   │   ├── main.mcfunction
│   │   │   │   ├── process.mcfunction
│   │   │   │   └── upgrade_paths/
│   │   │   │       ├── 2.6/
│   │   │   │       │   └── item_display.mcfunction
│   │   │   │       └── 2.6.mcfunction
│   │   │   ├── guidebook/
│   │   │   │   └── disassemblers.json
│   │   │   ├── loot_table/
│   │   │   │   └── items/
│   │   │   │       └── disassembler.json
│   │   │   ├── recipe/
│   │   │   │   └── disassembler.json
│   │   │   ├── tags/
│   │   │   │   └── function/
│   │   │   │       ├── after_base.json
│   │   │   │       ├── before_base.json
│   │   │   │       └── during_base.json
│   │   │   └── test/
│   │   │       ├── disassemble.mcfunction
│   │   │       └── place.mcfunction
│   │   ├── gm4_machines/
│   │   │   └── tags/
│   │   │       └── function/
│   │   │           ├── destroy.json
│   │   │           └── place_down.json
│   │   └── minecraft/
│   │       └── tags/
│   │           └── item/
│   │               ├── gold_tool_materials.json
│   │               └── iron_tool_materials.json
│   ├── generate_disassembly.py
│   └── mod.mcdoc
├── gm4_display_frames/
│   ├── README.md
│   ├── beet.yaml
│   ├── data/
│   │   ├── gm4/
│   │   │   └── advancement/
│   │   │       └── display_frames.json
│   │   ├── gm4_display_frames/
│   │   │   ├── function/
│   │   │   │   ├── frame/
│   │   │   │   │   └── invisible/
│   │   │   │   │       ├── apply_invisibility.mcfunction
│   │   │   │   │       ├── clear_invisibility.mcfunction
│   │   │   │   │       ├── create.mcfunction
│   │   │   │   │       └── process.mcfunction
│   │   │   │   ├── init.mcfunction
│   │   │   │   ├── main.mcfunction
│   │   │   │   └── potion_tracking/
│   │   │   │       ├── splash_item_frames.mcfunction
│   │   │   │       ├── tag_potion.mcfunction
│   │   │   │       └── verify_landed_potion.mcfunction
│   │   │   ├── guidebook/
│   │   │   │   └── display_frames.json
│   │   │   ├── tags/
│   │   │   │   └── entity_type/
│   │   │   │       └── potion_tracker.json
│   │   │   └── test/
│   │   │       └── splash.mcfunction
│   │   └── gm4_potion_tracking/
│   │       └── tags/
│   │           └── function/
│   │               ├── potion_landed.json
│   │               └── tag_potion.json
│   └── translations.csv
├── gm4_double_doors/
│   ├── README.md
│   ├── beet.yaml
│   ├── data/
│   │   └── gm4_double_doors/
│   │       ├── function/
│   │       │   ├── auto_toggle_marker/
│   │       │   │   ├── find.mcfunction
│   │       │   │   ├── maintain.mcfunction
│   │       │   │   ├── player_departed.mcfunction
│   │       │   │   ├── player_present.mcfunction
│   │       │   │   └── select_material.mcfunction
│   │       │   └── init.mcfunction
│   │       ├── guidebook/
│   │       │   └── double_doors.json
│   │       ├── structure/
│   │       │   └── test/
│   │       │       ├── valid_door_east_inverted.nbt
│   │       │       ├── valid_door_east_normal.nbt
│   │       │       ├── valid_door_north_inverted.nbt
│   │       │       ├── valid_door_north_normal.nbt
│   │       │       ├── valid_door_south_inverted.nbt
│   │       │       ├── valid_door_south_normal.nbt
│   │       │       ├── valid_door_west_inverted.nbt
│   │       │       └── valid_door_west_normal.nbt
│   │       ├── templates/
│   │       │   ├── advancement/
│   │       │   │   ├── use_left_hinge_door.json
│   │       │   │   └── use_right_hinge_door.json
│   │       │   ├── function/
│   │       │   │   ├── door/
│   │       │   │   │   ├── left_hinge/
│   │       │   │   │   │   ├── east/
│   │       │   │   │   │   │   ├── find_neighbors.mcfunction
│   │       │   │   │   │   │   ├── initialize_auto_toggle_marker.mcfunction
│   │       │   │   │   │   │   └── toggle.mcfunction
│   │       │   │   │   │   ├── get_facing.mcfunction
│   │       │   │   │   │   ├── get_lower_half.mcfunction
│   │       │   │   │   │   ├── north/
│   │       │   │   │   │   │   ├── find_neighbors.mcfunction
│   │       │   │   │   │   │   ├── initialize_auto_toggle_marker.mcfunction
│   │       │   │   │   │   │   └── toggle.mcfunction
│   │       │   │   │   │   ├── ray.mcfunction
│   │       │   │   │   │   ├── south/
│   │       │   │   │   │   │   ├── find_neighbors.mcfunction
│   │       │   │   │   │   │   ├── initialize_auto_toggle_marker.mcfunction
│   │       │   │   │   │   │   └── toggle.mcfunction
│   │       │   │   │   │   ├── use.mcfunction
│   │       │   │   │   │   └── west/
│   │       │   │   │   │       ├── find_neighbors.mcfunction
│   │       │   │   │   │       ├── initialize_auto_toggle_marker.mcfunction
│   │       │   │   │   │       └── toggle.mcfunction
│   │       │   │   │   └── right_hinge/
│   │       │   │   │       ├── east/
│   │       │   │   │       │   ├── find_neighbors.mcfunction
│   │       │   │   │       │   ├── initialize_auto_toggle_marker.mcfunction
│   │       │   │   │       │   └── toggle.mcfunction
│   │       │   │   │       ├── get_facing.mcfunction
│   │       │   │   │       ├── get_lower_half.mcfunction
│   │       │   │   │       ├── north/
│   │       │   │   │       │   ├── find_neighbors.mcfunction
│   │       │   │   │       │   ├── initialize_auto_toggle_marker.mcfunction
│   │       │   │   │       │   └── toggle.mcfunction
│   │       │   │   │       ├── ray.mcfunction
│   │       │   │   │       ├── south/
│   │       │   │   │       │   ├── find_neighbors.mcfunction
│   │       │   │   │       │   ├── initialize_auto_toggle_marker.mcfunction
│   │       │   │   │       │   └── toggle.mcfunction
│   │       │   │   │       ├── use.mcfunction
│   │       │   │   │       └── west/
│   │       │   │   │           ├── find_neighbors.mcfunction
│   │       │   │   │           ├── initialize_auto_toggle_marker.mcfunction
│   │       │   │   │           └── toggle.mcfunction
│   │       │   │   └── trapdoor/
│   │       │   │       ├── north_east/
│   │       │   │       │   ├── check_neighbours.mcfunction
│   │       │   │       │   └── toggle.mcfunction
│   │       │   │       ├── north_west/
│   │       │   │       │   ├── check_neighbours.mcfunction
│   │       │   │       │   └── toggle.mcfunction
│   │       │   │       ├── south_east/
│   │       │   │       │   ├── check_neighbours.mcfunction
│   │       │   │       │   └── toggle.mcfunction
│   │       │   │       └── south_west/
│   │       │   │           ├── check_neighbours.mcfunction
│   │       │   │           └── toggle.mcfunction
│   │       │   └── structure/
│   │       │       └── door/
│   │       │           ├── east/
│   │       │           │   ├── left/
│   │       │           │   │   ├── closed.snbt
│   │       │           │   │   └── open.snbt
│   │       │           │   └── right/
│   │       │           │       ├── closed.snbt
│   │       │           │       └── open.snbt
│   │       │           ├── north/
│   │       │           │   ├── left/
│   │       │           │   │   ├── closed.snbt
│   │       │           │   │   └── open.snbt
│   │       │           │   └── right/
│   │       │           │       ├── closed.snbt
│   │       │           │       └── open.snbt
│   │       │           ├── south/
│   │       │           │   ├── left/
│   │       │           │   │   ├── closed.snbt
│   │       │           │   │   └── open.snbt
│   │       │           │   └── right/
│   │       │           │       ├── closed.snbt
│   │       │           │       └── open.snbt
│   │       │           └── west/
│   │       │               ├── left/
│   │       │               │   ├── closed.snbt
│   │       │               │   └── open.snbt
│   │       │               └── right/
│   │       │                   ├── closed.snbt
│   │       │                   └── open.snbt
│   │       └── test/
│   │           ├── auto_toggle_east_inverted.mcfunction
│   │           ├── auto_toggle_east_normal.mcfunction
│   │           ├── auto_toggle_north_inverted.mcfunction
│   │           ├── auto_toggle_north_normal.mcfunction
│   │           ├── auto_toggle_south_inverted.mcfunction
│   │           ├── auto_toggle_south_normal.mcfunction
│   │           ├── auto_toggle_west_inverted.mcfunction
│   │           ├── auto_toggle_west_normal.mcfunction
│   │           ├── toggle_east_inverted.mcfunction
│   │           ├── toggle_east_normal.mcfunction
│   │           ├── toggle_north_inverted.mcfunction
│   │           ├── toggle_north_normal.mcfunction
│   │           ├── toggle_south_inverted.mcfunction
│   │           ├── toggle_south_normal.mcfunction
│   │           ├── toggle_west_inverted.mcfunction
│   │           └── toggle_west_normal.mcfunction
│   ├── generate.py
│   ├── raw/
│   │   └── sound_names.csv
│   └── translations.csv
├── gm4_dripleaf_filters/
│   ├── README.md
│   ├── beet.yaml
│   ├── data/
│   │   └── gm4_dripleaf_filters/
│   │       ├── function/
│   │       │   ├── check_hopper_filter.mcfunction
│   │       │   ├── deposit_item.mcfunction
│   │       │   ├── init.mcfunction
│   │       │   ├── main.mcfunction
│   │       │   ├── match_item.mcfunction
│   │       │   └── on_leaf.mcfunction
│   │       ├── guidebook/
│   │       │   └── dripleaf_filters.json
│   │       ├── structure/
│   │       │   └── test_setup.nbt
│   │       └── test/
│   │           ├── fallthrough.mcfunction
│   │           └── slide.mcfunction
│   ├── mod.mcdoc
│   └── translations.csv
├── gm4_dripleaf_launchers/
│   ├── README.md
│   ├── beet.yaml
│   ├── data/
│   │   └── gm4_dripleaf_launchers/
│   │       ├── function/
│   │       │   ├── check.mcfunction
│   │       │   ├── init.mcfunction
│   │       │   ├── launch.mcfunction
│   │       │   ├── main.mcfunction
│   │       │   └── tick.mcfunction
│   │       ├── guidebook/
│   │       │   └── dripleaf_launchers.json
│   │       ├── predicate/
│   │       │   ├── dripleaf_no_tilt.json
│   │       │   ├── dripleaf_tilted.json
│   │       │   └── dripleaf_triggered.json
│   │       └── test/
│   │           └── launch.mcfunction
│   └── translations.csv
├── gm4_end_fishing/
│   ├── README.md
│   ├── assets/
│   │   ├── gm4_end_fishing/
│   │   │   ├── models/
│   │   │   │   └── item/
│   │   │   │       ├── elytra/
│   │   │   │       │   ├── broken_captains_wings.json
│   │   │   │       │   ├── broken_ravaged_wings.json
│   │   │   │       │   ├── captains_wings.json
│   │   │   │       │   └── ravaged_wings.json
│   │   │   │       └── swords/
│   │   │   │           ├── diamond_sword_1.json
│   │   │   │           ├── diamond_sword_10.json
│   │   │   │           ├── diamond_sword_11.json
│   │   │   │           ├── diamond_sword_12.json
│   │   │   │           ├── diamond_sword_13.json
│   │   │   │           ├── diamond_sword_14.json
│   │   │   │           ├── diamond_sword_15.json
│   │   │   │           ├── diamond_sword_16.json
│   │   │   │           ├── diamond_sword_17.json
│   │   │   │           ├── diamond_sword_18.json
│   │   │   │           ├── diamond_sword_19.json
│   │   │   │           ├── diamond_sword_2.json
│   │   │   │           ├── diamond_sword_20.json
│   │   │   │           ├── diamond_sword_3.json
│   │   │   │           ├── diamond_sword_4.json
│   │   │   │           ├── diamond_sword_5.json
│   │   │   │           ├── diamond_sword_6.json
│   │   │   │           ├── diamond_sword_7.json
│   │   │   │           ├── diamond_sword_8.json
│   │   │   │           ├── diamond_sword_9.json
│   │   │   │           ├── iron_sword_1.json
│   │   │   │           ├── iron_sword_10.json
│   │   │   │           ├── iron_sword_11.json
│   │   │   │           ├── iron_sword_12.json
│   │   │   │           ├── iron_sword_13.json
│   │   │   │           ├── iron_sword_14.json
│   │   │   │           ├── iron_sword_15.json
│   │   │   │           ├── iron_sword_16.json
│   │   │   │           ├── iron_sword_17.json
│   │   │   │           ├── iron_sword_18.json
│   │   │   │           ├── iron_sword_19.json
│   │   │   │           ├── iron_sword_2.json
│   │   │   │           ├── iron_sword_20.json
│   │   │   │           ├── iron_sword_3.json
│   │   │   │           ├── iron_sword_4.json
│   │   │   │           ├── iron_sword_5.json
│   │   │   │           ├── iron_sword_6.json
│   │   │   │           ├── iron_sword_7.json
│   │   │   │           ├── iron_sword_8.json
│   │   │   │           ├── iron_sword_9.json
│   │   │   │           ├── netherite_sword_1.json
│   │   │   │           ├── netherite_sword_10.json
│   │   │   │           ├── netherite_sword_11.json
│   │   │   │           ├── netherite_sword_12.json
│   │   │   │           ├── netherite_sword_13.json
│   │   │   │           ├── netherite_sword_14.json
│   │   │   │           ├── netherite_sword_15.json
│   │   │   │           ├── netherite_sword_16.json
│   │   │   │           ├── netherite_sword_17.json
│   │   │   │           ├── netherite_sword_18.json
│   │   │   │           ├── netherite_sword_19.json
│   │   │   │           ├── netherite_sword_2.json
│   │   │   │           ├── netherite_sword_20.json
│   │   │   │           ├── netherite_sword_3.json
│   │   │   │           ├── netherite_sword_4.json
│   │   │   │           ├── netherite_sword_5.json
│   │   │   │           ├── netherite_sword_6.json
│   │   │   │           ├── netherite_sword_7.json
│   │   │   │           ├── netherite_sword_8.json
│   │   │   │           └── netherite_sword_9.json
│   │   │   └── optifine/
│   │   │       └── cit/
│   │   │           ├── captains_wings.properties
│   │   │           └── ravaged_wings.properties
│   │   └── translations.csv
│   ├── beet.yaml
│   ├── data/
│   │   ├── gm4/
│   │   │   └── advancement/
│   │   │       ├── end_fishing.json
│   │   │       ├── end_fishing_phantom.json
│   │   │       └── end_fishing_swords.json
│   │   └── gm4_end_fishing/
│   │       ├── advancement/
│   │       │   ├── check_inventory.json
│   │       │   ├── reel_loot.json
│   │       │   ├── reel_rod.json
│   │       │   └── set_id.json
│   │       ├── function/
│   │       │   ├── cast_rod/
│   │       │   │   ├── marker.mcfunction
│   │       │   │   ├── randomize_timer.mcfunction
│   │       │   │   ├── store_data.mcfunction
│   │       │   │   ├── summon_bait.mcfunction
│   │       │   │   └── update_bait.mcfunction
│   │       │   ├── durability/
│   │       │   │   ├── calc_damage.mcfunction
│   │       │   │   ├── check.mcfunction
│   │       │   │   ├── prep_mainhand.mcfunction
│   │       │   │   ├── prep_offhand.mcfunction
│   │       │   │   ├── set_mainhand.mcfunction
│   │       │   │   └── set_offhand.mcfunction
│   │       │   ├── enderpuff/
│   │       │   │   ├── apply_levitation.mcfunction
│   │       │   │   ├── apply_slow_falling.mcfunction
│   │       │   │   ├── check_inventory.mcfunction
│   │       │   │   ├── clear_levitation.mcfunction
│   │       │   │   └── process.mcfunction
│   │       │   ├── go_fish/
│   │       │   │   ├── bobber_animation.mcfunction
│   │       │   │   ├── bobber_animation_clock.mcfunction
│   │       │   │   ├── fish_particle_clock.mcfunction
│   │       │   │   ├── move_fish_particle.mcfunction
│   │       │   │   ├── summon_fish_particle.mcfunction
│   │       │   │   └── update_bobber.mcfunction
│   │       │   ├── init.mcfunction
│   │       │   ├── main.mcfunction
│   │       │   ├── process.mcfunction
│   │       │   ├── reel_in/
│   │       │   │   ├── move_marker.mcfunction
│   │       │   │   ├── reel_loot.mcfunction
│   │       │   │   ├── reel_rod.mcfunction
│   │       │   │   ├── set_marker_pos.mcfunction
│   │       │   │   ├── spawn_phantom.mcfunction
│   │       │   │   └── summon_entity.mcfunction
│   │       │   ├── set_id.mcfunction
│   │       │   └── tick.mcfunction
│   │       ├── guidebook/
│   │       │   └── end_fishing.json
│   │       ├── item_modifier/
│   │       │   ├── apply_damage.json
│   │       │   └── prepare_rod.json
│   │       ├── loot_table/
│   │       │   ├── entities/
│   │       │   │   ├── end_phantom.json
│   │       │   │   └── endermite.json
│   │       │   ├── gameplay/
│   │       │   │   ├── fish/
│   │       │   │   │   ├── debris.json
│   │       │   │   │   ├── end_city_treasure/
│   │       │   │   │   │   ├── armor/
│   │       │   │   │   │   │   ├── generate.json
│   │       │   │   │   │   │   └── type.json
│   │       │   │   │   │   ├── base.json
│   │       │   │   │   │   ├── horse_armor/
│   │       │   │   │   │   │   ├── generate.json
│   │       │   │   │   │   │   └── type.json
│   │       │   │   │   │   ├── ore/
│   │       │   │   │   │   │   ├── generate.json
│   │       │   │   │   │   │   └── type.json
│   │       │   │   │   │   ├── sword/
│   │       │   │   │   │   │   ├── generate.json
│   │       │   │   │   │   │   └── type.json
│   │       │   │   │   │   └── tool/
│   │       │   │   │   │       ├── generate.json
│   │       │   │   │   │       └── type.json
│   │       │   │   │   ├── scattered_treasure.json
│   │       │   │   │   └── valuables.json
│   │       │   │   └── fishing.json
│   │       │   └── items/
│   │       │       ├── captains_wings.json
│   │       │       ├── enderpuff.json
│   │       │       └── ravaged_wings.json
│   │       ├── predicate/
│   │       │   ├── carries_enderpuff.json
│   │       │   ├── holding_enderpuff.json
│   │       │   ├── holding_fishing_rod.json
│   │       │   ├── on_ground.json
│   │       │   └── slow_falling.json
│   │       └── tags/
│   │           ├── item/
│   │           │   └── enderpuff.json
│   │           └── worldgen/
│   │               └── biome/
│   │                   ├── barrens.json
│   │                   ├── center.json
│   │                   ├── high.json
│   │                   ├── mid.json
│   │                   ├── mid_high.json
│   │                   ├── nullscape/
│   │                   │   ├── crystal_peaks.json
│   │                   │   ├── shadowlands.json
│   │                   │   └── void_barrens.json
│   │                   └── outer.json
│   ├── generate_optifine.py
│   └── register_model_data.py
├── gm4_ender_hoppers/
│   ├── README.md
│   ├── assets/
│   │   ├── gm4_ender_hoppers/
│   │   │   └── models/
│   │   │       ├── block/
│   │   │       │   ├── ender_hopper.json
│   │   │       │   ├── ender_hopper_minecart.json
│   │   │       │   └── ender_hopper_side.json
│   │   │       └── item/
│   │   │           └── ender_hopper_full.json
│   │   └── translations.csv
│   ├── beet.yaml
│   └── data/
│       ├── gm4_ender_hoppers/
│       │   ├── advancement/
│       │   │   └── recipes/
│       │   │       └── ender_hopper.json
│       │   ├── function/
│       │   │   ├── init.mcfunction
│       │   │   ├── machine/
│       │   │   │   ├── create.mcfunction
│       │   │   │   ├── create_cart.mcfunction
│       │   │   │   ├── destroy.mcfunction
│       │   │   │   ├── destroy_cart/
│       │   │   │   │   ├── drop_item.mcfunction
│       │   │   │   │   ├── scan_hoppers.mcfunction
│       │   │   │   │   ├── update_hopper.mcfunction
│       │   │   │   │   └── update_hopper_minecart.mcfunction
│       │   │   │   ├── destroy_cart.mcfunction
│       │   │   │   ├── rotate/
│       │   │   │   │   ├── down.mcfunction
│       │   │   │   │   ├── east.mcfunction
│       │   │   │   │   ├── north.mcfunction
│       │   │   │   │   ├── south.mcfunction
│       │   │   │   │   └── west.mcfunction
│       │   │   │   ├── verify_destroy.mcfunction
│       │   │   │   ├── verify_destroy_cart.mcfunction
│       │   │   │   ├── verify_place_cart.mcfunction
│       │   │   │   └── verify_place_down.mcfunction
│       │   │   ├── main.mcfunction
│       │   │   ├── process.mcfunction
│       │   │   ├── process_cart.mcfunction
│       │   │   ├── teleport.mcfunction
│       │   │   └── upgrade_paths/
│       │   │       ├── 1.5/
│       │   │       │   ├── block_upgrade.mcfunction
│       │   │       │   └── minecart_upgrade.mcfunction
│       │   │       └── 1.5.mcfunction
│       │   ├── guidebook/
│       │   │   └── ender_hoppers.json
│       │   ├── loot_table/
│       │   │   ├── entities/
│       │   │   │   └── ender_hopper_minecart.json
│       │   │   └── items/
│       │   │       ├── ender_hopper.json
│       │   │       └── ender_hopper_minecart.json
│       │   ├── recipe/
│       │   │   ├── ender_hopper.json
│       │   │   └── ender_hopper_minecart.json
│       │   ├── structure/
│       │   │   └── test_pickup.nbt
│       │   └── test/
│       │       ├── pickup.mcfunction
│       │       ├── place.mcfunction
│       │       └── place_minecart.mcfunction
│       └── gm4_machines/
│           └── tags/
│               └── function/
│                   ├── destroy.json
│                   ├── destroy_cart.json
│                   ├── place_cart.json
│                   └── place_down.json
├── gm4_everstone/
│   ├── README.md
│   ├── assets/
│   │   └── translations.csv
│   ├── beet.yaml
│   └── data/
│       ├── c/
│       │   └── tags/
│       │       └── worldgen/
│       │           └── biome/
│       │               ├── is_cold/
│       │               │   └── overworld.json
│       │               ├── is_dry/
│       │               │   └── overworld.json
│       │               └── is_swamp.json
│       ├── gm4/
│       │   └── advancement/
│       │       └── everstone.json
│       └── gm4_everstone/
│           ├── advancement/
│           │   └── kill_age_locked.json
│           ├── function/
│           │   ├── age_locking/
│           │   │   ├── check.mcfunction
│           │   │   ├── killed_age_locked.mcfunction
│           │   │   └── lock_age.mcfunction
│           │   ├── aging/
│           │   │   ├── age_mobs.mcfunction
│           │   │   ├── convert/
│           │   │   │   ├── bogged.mcfunction
│           │   │   │   ├── elder_guardian.mcfunction
│           │   │   │   ├── evoker.mcfunction
│           │   │   │   ├── husk.mcfunction
│           │   │   │   ├── magma_cube.mcfunction
│           │   │   │   ├── piglin_brute.mcfunction
│           │   │   │   ├── skeleton.mcfunction
│           │   │   │   └── stray.mcfunction
│           │   │   ├── multiple.mcfunction
│           │   │   ├── single.mcfunction
│           │   │   └── update_age/
│           │   │       ├── bogged.mcfunction
│           │   │       ├── check_mob.mcfunction
│           │   │       ├── guardian.mcfunction
│           │   │       ├── piglin.mcfunction
│           │   │       ├── skeleton.mcfunction
│           │   │       ├── slime.mcfunction
│           │   │       ├── stray.mcfunction
│           │   │       ├── vindicator.mcfunction
│           │   │       └── zombie.mcfunction
│           │   ├── aging_clock.mcfunction
│           │   ├── init.mcfunction
│           │   ├── main.mcfunction
│           │   └── tick.mcfunction
│           ├── guidebook/
│           │   └── everstone.json
│           ├── loot_table/
│           │   ├── drop_chance.json
│           │   └── everstone.json
│           ├── predicate/
│           │   ├── in_bastion_remnant.json
│           │   ├── in_dry_sunlight.json
│           │   ├── in_frozen.json
│           │   ├── in_frozen_sunlight.json
│           │   ├── in_nether.json
│           │   ├── in_swamp.json
│           │   ├── in_swampy_water.json
│           │   ├── is_full_moon.json
│           │   └── sheared_and_out_of_swamp.json
│           ├── tags/
│           │   ├── block/
│           │   │   └── contains_magic.json
│           │   ├── entity_type/
│           │   │   ├── affected.json
│           │   │   ├── aging_mob.json
│           │   │   └── force_age_lock.json
│           │   ├── function/
│           │   │   ├── age_locking_check.json
│           │   │   └── update_age.json
│           │   └── worldgen/
│           │       └── biome/
│           │           ├── bogs_skeletons.json
│           │           ├── dries_zombies.json
│           │           └── freezes_skeletons.json
│           └── test/
│               └── age_locking.mcfunction
├── gm4_fulcio_shamir/
│   ├── README.md
│   ├── assets/
│   │   └── translations.csv
│   ├── beet.yaml
│   └── data/
│       ├── gm4_fulcio_shamir/
│       │   ├── function/
│       │   │   ├── 4_tick.mcfunction
│       │   │   ├── active.mcfunction
│       │   │   ├── check_item_validity.mcfunction
│       │   │   ├── create_block.mcfunction
│       │   │   ├── init.mcfunction
│       │   │   ├── main.mcfunction
│       │   │   ├── particles.mcfunction
│       │   │   ├── process_block.mcfunction
│       │   │   ├── ray.mcfunction
│       │   │   └── summon_band.mcfunction
│       │   ├── guidebook/
│       │   │   └── fulcio_shamir.json
│       │   ├── loot_table/
│       │   │   └── band.json
│       │   ├── predicate/
│       │   │   └── holding_fulcio.json
│       │   ├── tags/
│       │   │   └── item/
│       │   │       └── valid_items.json
│       │   └── test/
│       │       └── smoosh.mcfunction
│       └── gm4_metallurgy/
│           └── tags/
│               └── function/
│                   ├── check_item_validity.json
│                   └── summon_band/
│                       └── barimium.json
├── gm4_guidebook/
│   ├── CONTRIBUTING.md
│   ├── README.md
│   ├── advances.json
│   ├── assets/
│   │   ├── gm4/
│   │   │   ├── font/
│   │   │   │   ├── gm4_items.json
│   │   │   │   ├── guidebook.json
│   │   │   │   └── vanilla_items.json
│   │   │   └── textures/
│   │   │       └── item/
│   │   │           └── NOTE.md
│   │   ├── gm4_guidebook/
│   │   │   └── lang/
│   │   │       └── en_us.json
│   │   └── translations.csv
│   ├── beet.yaml
│   ├── data/
│   │   └── gm4_guidebook/
│   │       ├── advancement/
│   │       │   ├── first_join.json
│   │       │   ├── lectern_id.json
│   │       │   ├── loot_village_chest.json
│   │       │   ├── open_guide_lectern.json
│   │       │   ├── open_updating_lectern.json
│   │       │   ├── root.json
│   │       │   └── take_lectern_book.json
│   │       ├── function/
│   │       │   ├── get_book/
│   │       │   │   ├── chest/
│   │       │   │   │   ├── insert_seed_random.mcfunction
│   │       │   │   │   ├── looted.mcfunction
│   │       │   │   │   └── ray.mcfunction
│   │       │   │   ├── first_join.mcfunction
│   │       │   │   ├── player.mcfunction
│   │       │   │   └── zombie_villager.mcfunction
│   │       │   ├── hand/
│   │       │   │   ├── get_pages.mcfunction
│   │       │   │   ├── next_section/
│   │       │   │   │   ├── loop.mcfunction
│   │       │   │   │   └── search.mcfunction
│   │       │   │   ├── populate.mcfunction
│   │       │   │   ├── prev_section/
│   │       │   │   │   ├── loop.mcfunction
│   │       │   │   │   └── search.mcfunction
│   │       │   │   └── update.mcfunction
│   │       │   ├── init.mcfunction
│   │       │   ├── lecterns/
│   │       │   │   ├── get_id.mcfunction
│   │       │   │   ├── get_pages.mcfunction
│   │       │   │   ├── populate.mcfunction
│   │       │   │   ├── process.mcfunction
│   │       │   │   ├── replace/
│   │       │   │   │   ├── find_lectern.mcfunction
│   │       │   │   │   ├── ray.mcfunction
│   │       │   │   │   └── update.mcfunction
│   │       │   │   ├── restore/
│   │       │   │   │   ├── hotbar.mcfunction
│   │       │   │   │   ├── inv_1.mcfunction
│   │       │   │   │   ├── inv_2.mcfunction
│   │       │   │   │   ├── inv_3.mcfunction
│   │       │   │   │   └── search.mcfunction
│   │       │   │   ├── section/
│   │       │   │   │   ├── check_page/
│   │       │   │   │   │   ├── normal.mcfunction
│   │       │   │   │   │   └── toc.mcfunction
│   │       │   │   │   ├── check_page.mcfunction
│   │       │   │   │   ├── find_lectern.mcfunction
│   │       │   │   │   ├── ray.mcfunction
│   │       │   │   │   ├── toc/
│   │       │   │   │   │   ├── find_player.mcfunction
│   │       │   │   │   │   ├── find_section.mcfunction
│   │       │   │   │   │   └── jump.mcfunction
│   │       │   │   │   ├── track.mcfunction
│   │       │   │   │   ├── tracking.mcfunction
│   │       │   │   │   └── update/
│   │       │   │   │       ├── next_section/
│   │       │   │   │       │   ├── find_player.mcfunction
│   │       │   │   │       │   ├── find_section.mcfunction
│   │       │   │   │       │   └── jump.mcfunction
│   │       │   │   │       ├── prev_section/
│   │       │   │   │       │   ├── find_player.mcfunction
│   │       │   │   │       │   ├── find_section.mcfunction
│   │       │   │   │       │   └── jump.mcfunction
│   │       │   │   │       ├── refresh/
│   │       │   │   │       │   ├── find_player.mcfunction
│   │       │   │   │       │   └── jump.mcfunction
│   │       │   │   │       └── toc/
│   │       │   │   │           └── jump.mcfunction
│   │       │   │   └── update.mcfunction
│   │       │   ├── main.mcfunction
│   │       │   ├── player_db/
│   │       │   │   ├── get_trigger_name.mcfunction
│   │       │   │   ├── setup.mcfunction
│   │       │   │   └── update.mcfunction
│   │       │   ├── tick.mcfunction
│   │       │   └── update_storage/
│   │       │       ├── add_base.mcfunction
│   │       │       ├── add_to_toc.mcfunction
│   │       │       ├── build_line.mcfunction
│   │       │       ├── build_page.mcfunction
│   │       │       ├── build_toc.mcfunction
│   │       │       ├── find_expansions.mcfunction
│   │       │       ├── lectern/
│   │       │       │   ├── build_line.mcfunction
│   │       │       │   ├── build_page.mcfunction
│   │       │       │   └── click_event.mcfunction
│   │       │       ├── mark_ready.mcfunction
│   │       │       └── setup_markers.mcfunction
│   │       ├── loot_table/
│   │       │   ├── items/
│   │       │   │   └── guidebook.json
│   │       │   └── technical/
│   │       │       └── guidebook_with_count.json
│   │       ├── predicate/
│   │       │   ├── book_in_mainhand.json
│   │       │   ├── book_in_offhand.json
│   │       │   ├── chance_chest.json
│   │       │   ├── chance_zombie_villager.json
│   │       │   ├── holding_book.json
│   │       │   └── lectern_contents.json
│   │       └── tags/
│   │           └── function/
│   │               ├── add_toc_line.json
│   │               ├── setup_storage.json
│   │               ├── summon_marker.json
│   │               ├── update_hand.json
│   │               └── update_lectern.json
│   ├── generate_guidebooks.py
│   ├── legacy_item_sheet.py
│   ├── mod.mcdoc
│   └── triggers.json
├── gm4_holographic_tags/
│   ├── README.md
│   ├── assets/
│   │   └── translations.csv
│   ├── beet.yaml
│   ├── data/
│   │   ├── gm4/
│   │   │   └── advancement/
│   │   │       └── holographic_tags.json
│   │   └── gm4_holographic_tags/
│   │       ├── function/
│   │       │   ├── create_hologram.mcfunction
│   │       │   ├── destroy_hologram.mcfunction
│   │       │   ├── init.mcfunction
│   │       │   ├── initialize_hologram.mcfunction
│   │       │   ├── main.mcfunction
│   │       │   ├── read_hologram_data.mcfunction
│   │       │   ├── set_color.mcfunction
│   │       │   └── upgrade_paths/
│   │       │       ├── 1.5/
│   │       │       │   └── convert_to_text_display.mcfunction
│   │       │       └── 1.5.mcfunction
│   │       ├── guidebook/
│   │       │   └── holographic_tags.json
│   │       ├── predicate/
│   │       │   ├── has_item.json
│   │       │   └── has_name_tag.json
│   │       ├── tags/
│   │       │   └── entity_type/
│   │       │       └── item_frames.json
│   │       └── test/
│   │           └── create_and_remove.mcfunction
│   └── mod.mcdoc
├── gm4_iacio_shamir/
│   ├── README.md
│   ├── beet.yaml
│   ├── data/
│   │   ├── gm4_iacio_shamir/
│   │   │   ├── advancement/
│   │   │   │   └── inventory_changed.json
│   │   │   ├── function/
│   │   │   │   ├── add_motion.mcfunction
│   │   │   │   ├── check_item_validity.mcfunction
│   │   │   │   ├── check_throw.mcfunction
│   │   │   │   ├── init.mcfunction
│   │   │   │   └── summon_band.mcfunction
│   │   │   ├── guidebook/
│   │   │   │   └── iacio_shamir.json
│   │   │   ├── loot_table/
│   │   │   │   └── band.json
│   │   │   ├── structure/
│   │   │   │   └── test_long_platform.nbt
│   │   │   ├── tags/
│   │   │   │   └── item/
│   │   │   │       └── valid_items.json
│   │   │   └── test/
│   │   │       └── throw_item.mcfunction
│   │   └── gm4_metallurgy/
│   │       └── tags/
│   │           └── function/
│   │               ├── check_item_validity.json
│   │               └── summon_band/
│   │                   └── barium.json
│   └── translations.csv
├── gm4_ink_spitting_squid/
│   ├── README.md
│   ├── beet.yaml
│   ├── data/
│   │   ├── gm4/
│   │   │   └── advancement/
│   │   │       ├── glow_ink_spitting_squid.json
│   │   │       └── ink_spitting_squid.json
│   │   └── gm4_ink_spitting_squid/
│   │       ├── function/
│   │       │   ├── glow_squid_squirt.mcfunction
│   │       │   ├── init.mcfunction
│   │       │   ├── main.mcfunction
│   │       │   └── squid_squirt.mcfunction
│   │       ├── guidebook/
│   │       │   └── ink_spitting_squid.json
│   │       ├── predicate/
│   │       │   └── inkable.json
│   │       ├── structure/
│   │       │   └── test_tank.nbt
│   │       └── test/
│   │           └── squirt.mcfunction
│   └── translations.csv
├── gm4_lavish_livestock/
│   ├── README.md
│   ├── beet.yaml
│   ├── data/
│   │   └── gm4_lavish_livestock/
│   │       ├── function/
│   │       │   └── init.mcfunction
│   │       ├── guidebook/
│   │       │   └── lavish_livestock.json
│   │       ├── tags/
│   │       │   └── entity_type/
│   │       │       └── livestock.json
│   │       └── templates/
│   │           ├── advancement/
│   │           │   └── breed.json
│   │           ├── function/
│   │           │   ├── determine_parent.mcfunction
│   │           │   ├── find_baby.mcfunction
│   │           │   ├── find_marker.mcfunction
│   │           │   ├── initialize_marker.mcfunction
│   │           │   ├── modify_baby.mcfunction
│   │           │   └── revoke_advancement.mcfunction
│   │           └── loot_table/
│   │               └── lavish_death.json
│   ├── generate.py
│   └── translations.csv
├── gm4_lightning_in_a_bottle/
│   ├── README.md
│   ├── assets/
│   │   ├── gm4_lightning_in_a_bottle/
│   │   │   └── textures/
│   │   │       └── item/
│   │   │           ├── lightning_in_a_bottle_overlay.png.mcmeta
│   │   │           ├── lingering_lightning_in_a_bottle_overlay.png.mcmeta
│   │   │           └── splash_lightning_in_a_bottle_overlay.png.mcmeta
│   │   └── translations.csv
│   ├── beet.yaml
│   └── data/
│       ├── gm4/
│       │   └── advancement/
│       │       ├── lightning_in_a_bottle_drink.json
│       │       └── lightning_in_a_bottle_shulker.json
│       ├── gm4_brewing/
│       │   └── tags/
│       │       └── function/
│       │           └── insert/
│       │               ├── lingering.json
│       │               └── splash.json
│       ├── gm4_lightning_in_a_bottle/
│       │   ├── advancement/
│       │   │   ├── drink_lightning.json
│       │   │   ├── lightning_strike.json
│       │   │   └── place_lightning_rod.json
│       │   ├── function/
│       │   │   ├── brewing_stand/
│       │   │   │   ├── brew/
│       │   │   │   │   ├── lingering.mcfunction
│       │   │   │   │   └── splash.mcfunction
│       │   │   │   ├── check_fuel.mcfunction
│       │   │   │   ├── check_potions.mcfunction
│       │   │   │   ├── consume_fuel.mcfunction
│       │   │   │   └── texture_connector/
│       │   │   │       ├── force_update.mcfunction
│       │   │   │       ├── process.mcfunction
│       │   │   │       ├── summon.mcfunction
│       │   │   │       └── update.mcfunction
│       │   │   ├── entity/
│       │   │   │   ├── evoker.mcfunction
│       │   │   │   ├── guardian.mcfunction
│       │   │   │   ├── illusioner.mcfunction
│       │   │   │   └── shulker.mcfunction
│       │   │   ├── init.mcfunction
│       │   │   ├── lightning/
│       │   │   │   ├── check.mcfunction
│       │   │   │   ├── locate.mcfunction
│       │   │   │   └── strike_self.mcfunction
│       │   │   ├── main.mcfunction
│       │   │   ├── potion_tracking/
│       │   │   │   ├── modify_cloud.mcfunction
│       │   │   │   ├── potion_landed.mcfunction
│       │   │   │   ├── tag_potion.mcfunction
│       │   │   │   └── verify_landed_potion.mcfunction
│       │   │   ├── sustain_lingering_lightning.mcfunction
│       │   │   └── upgrade_paths/
│       │   │       └── 1.4.mcfunction
│       │   ├── guidebook/
│       │   │   └── lightning_in_a_bottle.json
│       │   ├── item_modifier/
│       │   │   ├── bottle_of_lightning.json
│       │   │   ├── brew_lightning.json
│       │   │   ├── lingering_bottle_of_lightning.json
│       │   │   ├── set_zero.json
│       │   │   └── splash_bottle_of_lightning.json
│       │   ├── loot_table/
│       │   │   ├── entities/
│       │   │   │   ├── charged_creeper.json
│       │   │   │   ├── illusioner.json
│       │   │   │   └── shulker.json
│       │   │   ├── items/
│       │   │   │   ├── bottle_of_lightning.json
│       │   │   │   ├── lingering_bottle_of_lightning.json
│       │   │   │   └── splash_bottle_of_lightning.json
│       │   │   └── technical/
│       │   │       └── brewing_stand/
│       │   │           ├── lingering.json
│       │   │           └── splash.json
│       │   ├── modules/
│       │   │   └── liquid_tanks/
│       │   │       └── liquid_features.bolt
│       │   ├── predicate/
│       │   │   ├── on_fire.json
│       │   │   └── random_strike.json
│       │   ├── tags/
│       │   │   ├── block/
│       │   │   │   ├── exposed_lightning_rod.json
│       │   │   │   ├── lightning_rod.json
│       │   │   │   ├── normal_lightning_rod.json
│       │   │   │   ├── oxidized_lightning_rod.json
│       │   │   │   └── weathered_lightning_rod.json
│       │   │   ├── entity_type/
│       │   │   │   └── potion_tracker.json
│       │   │   ├── function/
│       │   │   │   └── lightning_strike.json
│       │   │   └── item/
│       │   │       └── lightning_rod.json
│       │   └── test/
│       │       ├── brew_splash.mcfunction
│       │       ├── lightning_strike.mcfunction
│       │       ├── throw.mcfunction
│       │       ├── throw_evoker.mcfunction
│       │       ├── throw_guardian.mcfunction
│       │       ├── throw_illusioner.mcfunction
│       │       └── throw_shulker.mcfunction
│       └── gm4_potion_tracking/
│           └── tags/
│               └── function/
│                   ├── potion_landed.json
│                   └── tag_potion.json
├── gm4_liquid_minecarts/
│   ├── README.md
│   ├── assets/
│   │   └── translations.csv
│   ├── beet.yaml
│   └── data/
│       ├── gm4/
│       │   └── advancement/
│       │       └── liquid_minecarts_create.json
│       ├── gm4_liquid_minecarts/
│       │   ├── advancement/
│       │   │   └── recipes/
│       │   │       └── liquid_minecart.json
│       │   ├── function/
│       │   │   ├── compare_load_liquid.mcfunction
│       │   │   ├── compare_unload_liquid.mcfunction
│       │   │   ├── copy_tank_data.mcfunction
│       │   │   ├── drain_minecart.mcfunction
│       │   │   ├── init.mcfunction
│       │   │   ├── init_liquid.mcfunction
│       │   │   ├── init_tank.mcfunction
│       │   │   ├── level_report.mcfunction
│       │   │   ├── level_report_ray.mcfunction
│       │   │   ├── liquid_value_update.mcfunction
│       │   │   ├── load_check.mcfunction
│       │   │   ├── load_liquid.mcfunction
│       │   │   ├── machine/
│       │   │   │   ├── create_cart.mcfunction
│       │   │   │   ├── destroy_cart/
│       │   │   │   │   ├── drop_item.mcfunction
│       │   │   │   │   ├── scan_hoppers.mcfunction
│       │   │   │   │   ├── update_hopper.mcfunction
│       │   │   │   │   └── update_hopper_minecart.mcfunction
│       │   │   │   ├── destroy_cart.mcfunction
│       │   │   │   ├── verify_destroy_cart.mcfunction
│       │   │   │   └── verify_place_cart.mcfunction
│       │   │   ├── main.mcfunction
│       │   │   ├── set_empty_data.mcfunction
│       │   │   ├── try_to_load.mcfunction
│       │   │   ├── try_to_unload.mcfunction
│       │   │   ├── unload_liquid.mcfunction
│       │   │   └── upgrade_paths/
│       │   │       ├── 1.8/
│       │   │       │   └── entity_replacement.mcfunction
│       │   │       └── 1.8.mcfunction
│       │   ├── guidebook/
│       │   │   └── liquid_minecarts.json
│       │   ├── loot_table/
│       │   │   ├── entities/
│       │   │   │   └── liquid_minecart.json
│       │   │   └── items/
│       │   │       └── liquid_minecart.json
│       │   ├── recipe/
│       │   │   └── liquid_minecart.json
│       │   ├── structure/
│       │   │   └── test_transport.nbt
│       │   ├── tags/
│       │   │   └── function/
│       │   │       └── load.json
│       │   └── test/
│       │       ├── place.mcfunction
│       │       └── transport.mcfunction
│       ├── gm4_liquid_tanks/
│       │   └── tags/
│       │       └── function/
│       │           └── load.json
│       └── gm4_machines/
│           └── tags/
│               └── function/
│                   ├── destroy_cart.json
│                   └── place_cart.json
├── gm4_liquid_tanks/
│   ├── README.md
│   ├── assets/
│   │   ├── gm4_liquid_tanks/
│   │   │   └── models/
│   │   │       ├── block/
│   │   │       │   └── liquid_tank.json
│   │   │       └── item/
│   │   │           └── liquid_tank_full.json
│   │   └── translations.csv
│   ├── beet.yaml
│   ├── bolt-docs.md
│   ├── bolt_liquid_wrappers.py
│   ├── data/
│   │   ├── gm4/
│   │   │   └── advancement/
│   │   │       ├── liquid_tanks_create.json
│   │   │       └── standard_liquids.json
│   │   ├── gm4_liquid_tanks/
│   │   │   ├── advancement/
│   │   │   │   └── recipes/
│   │   │   │       └── liquid_tank.json
│   │   │   ├── function/
│   │   │   │   ├── apply_output.mcfunction
│   │   │   │   ├── empty.mcfunction
│   │   │   │   ├── init.mcfunction
│   │   │   │   ├── item_process.mcfunction
│   │   │   │   ├── level_report_ray.mcfunction
│   │   │   │   ├── liquid_value_update.mcfunction
│   │   │   │   ├── machine/
│   │   │   │   │   ├── create.mcfunction
│   │   │   │   │   ├── destroy.mcfunction
│   │   │   │   │   ├── init_tank_scores.mcfunction
│   │   │   │   │   ├── rotate/
│   │   │   │   │   │   ├── down.mcfunction
│   │   │   │   │   │   ├── east.mcfunction
│   │   │   │   │   │   ├── north.mcfunction
│   │   │   │   │   │   ├── south.mcfunction
│   │   │   │   │   │   └── west.mcfunction
│   │   │   │   │   ├── verify_destroy.mcfunction
│   │   │   │   │   └── verify_place_down.mcfunction
│   │   │   │   ├── main.mcfunction
│   │   │   │   ├── process.mcfunction
│   │   │   │   ├── smart_item_drain.mcfunction
│   │   │   │   ├── smart_item_fill.mcfunction
│   │   │   │   ├── teleport_display_down.mcfunction
│   │   │   │   ├── teleport_display_up.mcfunction
│   │   │   │   └── upgrade_paths/
│   │   │   │       ├── 2.8/
│   │   │   │       │   └── entity_replacement.mcfunction
│   │   │   │       └── 2.8.mcfunction
│   │   │   ├── guidebook/
│   │   │   │   └── liquid_tanks.json
│   │   │   ├── loot_table/
│   │   │   │   └── items/
│   │   │   │       └── liquid_tank.json
│   │   │   ├── modules/
│   │   │   │   └── liquid_wrappers.bolt
│   │   │   ├── recipe/
│   │   │   │   └── liquid_tank.json
│   │   │   ├── structure/
│   │   │   │   └── test_setup.nbt
│   │   │   ├── tags/
│   │   │   │   └── function/
│   │   │   │       ├── item_drain.json
│   │   │   │       ├── item_fill.json
│   │   │   │       ├── level_report_check.json
│   │   │   │       ├── remove_liquid_tags.json
│   │   │   │       ├── tank_init.json
│   │   │   │       ├── util_above.json
│   │   │   │       └── util_below.json
│   │   │   └── test/
│   │   │       ├── change_type.mcfunction
│   │   │       ├── deposit_xp.mcfunction
│   │   │       ├── drain_xp.mcfunction
│   │   │       ├── honey_cast.mcfunction
│   │   │       ├── lava_fuel.mcfunction
│   │   │       ├── lava_tank.mcfunction
│   │   │       ├── milk_tank.mcfunction
│   │   │       └── place.mcfunction
│   │   ├── gm4_machines/
│   │   │   └── tags/
│   │   │       └── function/
│   │   │           ├── destroy.json
│   │   │           └── place_down.json
│   │   └── gm4_standard_liquids/
│   │       ├── advancement/
│   │       │   ├── use_glow_ink_bottle_on_sign.json
│   │       │   └── use_ink_bottle_on_sign.json
│   │       ├── function/
│   │       │   ├── level_report/
│   │       │   │   ├── 100.mcfunction
│   │       │   │   ├── 300.mcfunction
│   │       │   │   ├── 400.mcfunction
│   │       │   │   └── experience.mcfunction
│   │       │   ├── level_report_check.mcfunction
│   │       │   ├── util/
│   │       │   │   ├── cauldrons/
│   │       │   │   │   ├── drain_lava_cauldron.mcfunction
│   │       │   │   │   ├── drain_powder_snow_cauldron.mcfunction
│   │       │   │   │   ├── drain_water_cauldron.mcfunction
│   │       │   │   │   ├── fill_lava_cauldron.mcfunction
│   │       │   │   │   ├── fill_powder_snow_cauldron.mcfunction
│   │       │   │   │   └── fill_water_cauldron.mcfunction
│   │       │   │   ├── drain_cauldron.mcfunction
│   │       │   │   ├── experience/
│   │       │   │   │   ├── deposit_levels.mcfunction
│   │       │   │   │   ├── deposit_one_level.mcfunction
│   │       │   │   │   ├── deposit_points.mcfunction
│   │       │   │   │   ├── macro_experience.mcfunction
│   │       │   │   │   ├── scheduled_deposit.mcfunction
│   │       │   │   │   ├── scheduled_withdraw.mcfunction
│   │       │   │   │   ├── withdraw_levels.mcfunction
│   │       │   │   │   ├── withdraw_one_level.mcfunction
│   │       │   │   │   └── withdraw_points.mcfunction
│   │       │   │   ├── experience_orb.mcfunction
│   │       │   │   ├── fill_cauldrons.mcfunction
│   │       │   │   ├── furnace_fueling/
│   │       │   │   │   ├── fuel_furnace.mcfunction
│   │       │   │   │   ├── furnace_start.mcfunction
│   │       │   │   │   ├── lava_tank.mcfunction
│   │       │   │   │   └── scheduled_furnace_fuel.mcfunction
│   │       │   │   ├── honey_casting/
│   │       │   │   │   ├── honey_cauldron.mcfunction
│   │       │   │   │   ├── honey_rise.mcfunction
│   │       │   │   │   ├── honey_stop.mcfunction
│   │       │   │   │   ├── honey_tank.mcfunction
│   │       │   │   │   └── scheduled_honey_rise.mcfunction
│   │       │   │   ├── link_blocks.mcfunction
│   │       │   │   ├── liquid_dispensing/
│   │       │   │   │   ├── beetroot_soup.mcfunction
│   │       │   │   │   ├── glow_ink.mcfunction
│   │       │   │   │   ├── honey.mcfunction
│   │       │   │   │   ├── ink.mcfunction
│   │       │   │   │   ├── milk.mcfunction
│   │       │   │   │   ├── mushroom_stew.mcfunction
│   │       │   │   │   └── rabbit_stew.mcfunction
│   │       │   │   ├── mobs/
│   │       │   │   │   ├── cow.mcfunction
│   │       │   │   │   ├── glow_squid.mcfunction
│   │       │   │   │   ├── mooshroom.mcfunction
│   │       │   │   │   ├── snow_golem.mcfunction
│   │       │   │   │   └── squid.mcfunction
│   │       │   │   └── signs/
│   │       │   │       ├── apply_glow_ink_sac_back.mcfunction
│   │       │   │       ├── apply_glow_ink_sac_front.mcfunction
│   │       │   │       ├── apply_ink_sac_back.mcfunction
│   │       │   │       ├── apply_ink_sac_front.mcfunction
│   │       │   │       ├── front_back_detection.mcfunction
│   │       │   │       ├── glow_ink_sign.mcfunction
│   │       │   │       ├── ink_sign.mcfunction
│   │       │   │       ├── ray.mcfunction
│   │       │   │       └── sign_normal_lookup.mcfunction
│   │       │   ├── util_above.mcfunction
│   │       │   └── util_below.mcfunction
│   │       ├── guidebook/
│   │       │   └── standard_liquids.json
│   │       ├── loot_table/
│   │       │   ├── glow_ink_bottle.json
│   │       │   └── ink_bottle.json
│   │       ├── modules/
│   │       │   └── main.bolt
│   │       ├── predicate/
│   │       │   ├── sneaking.json
│   │       │   └── suspended_snow_golem.json
│   │       └── tags/
│   │           └── block/
│   │               ├── double_speed.json
│   │               └── furnace.json
│   ├── mcmeta_stacksize.py
│   ├── mod.mcdoc
│   └── override_formatting.py
├── gm4_live_catch/
│   ├── README.md
│   ├── beet.yaml
│   ├── data/
│   │   ├── gm4/
│   │   │   └── advancement/
│   │   │       └── live_catch.json
│   │   └── gm4_live_catch/
│   │       ├── advancement/
│   │       │   ├── catch_cod.json
│   │       │   ├── catch_pufferfish.json
│   │       │   ├── catch_salmon.json
│   │       │   └── catch_tropical_fish.json
│   │       ├── function/
│   │       │   ├── fish/
│   │       │   │   ├── cod/
│   │       │   │   │   ├── catch.mcfunction
│   │       │   │   │   ├── summon.mcfunction
│   │       │   │   │   └── target.mcfunction
│   │       │   │   ├── pufferfish/
│   │       │   │   │   ├── catch.mcfunction
│   │       │   │   │   ├── summon.mcfunction
│   │       │   │   │   └── target.mcfunction
│   │       │   │   ├── salmon/
│   │       │   │   │   ├── catch.mcfunction
│   │       │   │   │   ├── summon.mcfunction
│   │       │   │   │   └── target.mcfunction
│   │       │   │   └── tropical_fish/
│   │       │   │       ├── catch.mcfunction
│   │       │   │       ├── summon.mcfunction
│   │       │   │       └── target.mcfunction
│   │       │   └── init.mcfunction
│   │       └── guidebook/
│   │           └── live_catch.json
│   ├── mod.mcdoc
│   └── translations.csv
├── gm4_lively_lily_pads/
│   ├── README.md
│   ├── beet.yaml
│   ├── data/
│   │   └── gm4_lively_lily_pads/
│   │       ├── advancement/
│   │       │   ├── candle_rcd.json
│   │       │   ├── id_init.json
│   │       │   ├── placement_rcd.json
│   │       │   ├── punch_perma_rcd.json
│   │       │   ├── punch_placement_rcd.json
│   │       │   ├── unwaxed_copper_rcd.json
│   │       │   └── waxed_copper_rcd.json
│   │       ├── function/
│   │       │   ├── init.mcfunction
│   │       │   ├── main.mcfunction
│   │       │   ├── mechanics/
│   │       │   │   ├── attacks/
│   │       │   │   │   ├── perma/
│   │       │   │   │   │   ├── hit_rcd.mcfunction
│   │       │   │   │   │   └── process_interaction.mcfunction
│   │       │   │   │   └── placement/
│   │       │   │   │       ├── hit_rcd.mcfunction
│   │       │   │   │       └── process_interaction.mcfunction
│   │       │   │   ├── cleanup/
│   │       │   │   │   ├── kill.mcfunction
│   │       │   │   │   └── summon_item.mcfunction
│   │       │   │   ├── interactions/
│   │       │   │   │   ├── candle/
│   │       │   │   │   │   ├── add_candle.mcfunction
│   │       │   │   │   │   ├── find_igniter.mcfunction
│   │       │   │   │   │   ├── get_mainhand_data.mcfunction
│   │       │   │   │   │   ├── get_offhand_data.mcfunction
│   │       │   │   │   │   ├── interact_rcd.mcfunction
│   │       │   │   │   │   ├── light_candle.mcfunction
│   │       │   │   │   │   ├── process_display.mcfunction
│   │       │   │   │   │   ├── process_interaction.mcfunction
│   │       │   │   │   │   ├── update_light_blocks.mcfunction
│   │       │   │   │   │   ├── used_mainhand_fire_charge.mcfunction
│   │       │   │   │   │   ├── used_mainhand_flint_and_steel.mcfunction
│   │       │   │   │   │   ├── used_offhand_fire_charge.mcfunction
│   │       │   │   │   │   └── used_offhand_flint_and_steel.mcfunction
│   │       │   │   │   ├── placement/
│   │       │   │   │   │   ├── cactus_flower.mcfunction
│   │       │   │   │   │   ├── candles.mcfunction
│   │       │   │   │   │   ├── copper_lantern.mcfunction
│   │       │   │   │   │   ├── copper_torch.mcfunction
│   │       │   │   │   │   ├── coral_fan.mcfunction
│   │       │   │   │   │   ├── dead_coral_fan.mcfunction
│   │       │   │   │   │   ├── get_mainhand_data.mcfunction
│   │       │   │   │   │   ├── get_offhand_data.mcfunction
│   │       │   │   │   │   ├── interact_rcd.mcfunction
│   │       │   │   │   │   ├── lantern.mcfunction
│   │       │   │   │   │   ├── process_interaction.mcfunction
│   │       │   │   │   │   ├── redstone_torch.mcfunction
│   │       │   │   │   │   ├── soul_lantern.mcfunction
│   │       │   │   │   │   ├── soul_torch.mcfunction
│   │       │   │   │   │   ├── spore_blossom.mcfunction
│   │       │   │   │   │   ├── torch.mcfunction
│   │       │   │   │   │   └── waxed_copper_lantern.mcfunction
│   │       │   │   │   ├── unwaxed_copper_lantern/
│   │       │   │   │   │   ├── attempt_oxidization.mcfunction
│   │       │   │   │   │   ├── interact_rcd.mcfunction
│   │       │   │   │   │   ├── process_display.mcfunction
│   │       │   │   │   │   ├── process_interaction.mcfunction
│   │       │   │   │   │   ├── scrape_display.mcfunction
│   │       │   │   │   │   └── wax_display.mcfunction
│   │       │   │   │   └── waxed_copper_lantern/
│   │       │   │   │       ├── damage_mainhand_axe.mcfunction
│   │       │   │   │       ├── damage_offhand_axe.mcfunction
│   │       │   │   │       ├── interact_rcd.mcfunction
│   │       │   │   │       ├── max_durability_mainhand_axe.mcfunction
│   │       │   │   │       ├── max_durability_offhand_axe.mcfunction
│   │       │   │   │       ├── process_interaction.mcfunction
│   │       │   │   │       ├── scrape_display.mcfunction
│   │       │   │   │       ├── set_damage_mainhand.mcfunction
│   │       │   │   │       ├── set_damage_offhand.mcfunction
│   │       │   │   │       ├── used_mainhand_axe.mcfunction
│   │       │   │   │       └── used_offhand_axe.mcfunction
│   │       │   │   ├── particles/
│   │       │   │   │   ├── 1_candle.mcfunction
│   │       │   │   │   ├── 2_candle.mcfunction
│   │       │   │   │   ├── 3_candle.mcfunction
│   │       │   │   │   ├── 4_candle.mcfunction
│   │       │   │   │   ├── candle_count.mcfunction
│   │       │   │   │   └── select_type.mcfunction
│   │       │   │   └── right_click_detection/
│   │       │   │       ├── create.mcfunction
│   │       │   │       ├── found.mcfunction
│   │       │   │       ├── loop.mcfunction
│   │       │   │       ├── process.mcfunction
│   │       │   │       └── ray.mcfunction
│   │       │   ├── player/
│   │       │   │   ├── as.mcfunction
│   │       │   │   ├── holding_item.mcfunction
│   │       │   │   └── set_id.mcfunction
│   │       │   ├── tick.mcfunction
│   │       │   └── upgrade_paths/
│   │       │       ├── 3.0/
│   │       │       │   ├── update_legacy_display.mcfunction
│   │       │       │   └── upgrade_candle.mcfunction
│   │       │       ├── 3.0.mcfunction
│   │       │       ├── 3.1.mcfunction
│   │       │       └── 3.3.mcfunction
│   │       ├── guidebook/
│   │       │   └── lively_lily_pads.json
│   │       ├── predicate/
│   │       │   ├── holding_placeable_item.json
│   │       │   ├── mainhand_placeable_item.json
│   │       │   └── offhand_placeable_item.json
│   │       └── tags/
│   │           └── item/
│   │               ├── candle_igniters.json
│   │               ├── candle_interactable.json
│   │               ├── copper_lanterns.json
│   │               ├── coral_fan.json
│   │               ├── dead_coral_fan.json
│   │               ├── placeable_item.json
│   │               └── waxed_copper_lanterns.json
│   ├── mod.mcdoc
│   └── translations.csv
├── gm4_lumos_shamir/
│   ├── README.md
│   ├── assets/
│   │   └── translations.csv
│   ├── beet.yaml
│   └── data/
│       ├── gm4_lumos_shamir/
│       │   ├── function/
│       │   │   ├── active.mcfunction
│       │   │   ├── check_item_validity.mcfunction
│       │   │   ├── init.mcfunction
│       │   │   ├── main.mcfunction
│       │   │   ├── place_torch.mcfunction
│       │   │   └── summon_band.mcfunction
│       │   ├── guidebook/
│       │   │   └── lumos_shamir.json
│       │   ├── loot_table/
│       │   │   └── band.json
│       │   ├── predicate/
│       │   │   ├── check_air.json
│       │   │   ├── check_block.json
│       │   │   └── holding_lumos.json
│       │   ├── structure/
│       │   │   └── test_dark.nbt
│       │   ├── tags/
│       │   │   ├── block/
│       │   │   │   ├── torch_placeable.json
│       │   │   │   └── torch_unplaceable.json
│       │   │   └── item/
│       │   │       └── valid_items.json
│       │   └── test/
│       │       ├── already_light.mcfunction
│       │       ├── invalid_spot.mcfunction
│       │       └── place_torch.mcfunction
│       └── gm4_metallurgy/
│           └── tags/
│               └── function/
│                   ├── check_item_validity.json
│                   └── summon_band/
│                       └── curies_bismium.json
├── gm4_mending_tanks/
│   ├── README.md
│   ├── beet.yaml
│   ├── data/
│   │   ├── gm4_liquid_tanks/
│   │   │   └── tags/
│   │   │       └── function/
│   │   │           └── item_fill.json
│   │   └── gm4_mending_tanks/
│   │       ├── function/
│   │       │   ├── check_item.mcfunction
│   │       │   ├── init.mcfunction
│   │       │   ├── item_fill.mcfunction
│   │       │   └── repair.mcfunction
│   │       ├── guidebook/
│   │       │   └── mending_tanks.json
│   │       └── test/
│   │           └── repair_item.mcfunction
│   └── translations.csv
├── gm4_metallurgy/
│   ├── README.md
│   ├── assets/
│   │   ├── gm4_metallurgy/
│   │   │   ├── optifine/
│   │   │   │   ├── anim/
│   │   │   │   │   ├── aluminium/
│   │   │   │   │   │   ├── chainmail_layer_1.properties
│   │   │   │   │   │   ├── chainmail_layer_2.properties
│   │   │   │   │   │   ├── diamond_layer_1.properties
│   │   │   │   │   │   ├── diamond_layer_2.properties
│   │   │   │   │   │   ├── elytra.properties
│   │   │   │   │   │   ├── gold_layer_1.properties
│   │   │   │   │   │   ├── gold_layer_2.properties
│   │   │   │   │   │   ├── iron_layer_1.properties
│   │   │   │   │   │   ├── iron_layer_2.properties
│   │   │   │   │   │   ├── leather_layer_1.properties
│   │   │   │   │   │   ├── leather_layer_1_overlay.properties
│   │   │   │   │   │   ├── leather_layer_2.properties
│   │   │   │   │   │   ├── leather_layer_2_overlay.properties
│   │   │   │   │   │   ├── netherite_layer_1.properties
│   │   │   │   │   │   ├── netherite_layer_2.properties
│   │   │   │   │   │   └── turtle_layer_1.properties
│   │   │   │   │   ├── barimium/
│   │   │   │   │   │   ├── chainmail_layer_1.properties
│   │   │   │   │   │   ├── chainmail_layer_2.properties
│   │   │   │   │   │   ├── diamond_layer_1.properties
│   │   │   │   │   │   ├── diamond_layer_2.properties
│   │   │   │   │   │   ├── elytra.properties
│   │   │   │   │   │   ├── gold_layer_1.properties
│   │   │   │   │   │   ├── gold_layer_2.properties
│   │   │   │   │   │   ├── iron_layer_1.properties
│   │   │   │   │   │   ├── iron_layer_2.properties
│   │   │   │   │   │   ├── leather_layer_1.properties
│   │   │   │   │   │   ├── leather_layer_1_overlay.properties
│   │   │   │   │   │   ├── leather_layer_2.properties
│   │   │   │   │   │   ├── leather_layer_2_overlay.properties
│   │   │   │   │   │   ├── netherite_layer_1.properties
│   │   │   │   │   │   ├── netherite_layer_2.properties
│   │   │   │   │   │   └── turtle_layer_1.properties
│   │   │   │   │   ├── barium/
│   │   │   │   │   │   ├── chainmail_layer_1.properties
│   │   │   │   │   │   ├── chainmail_layer_2.properties
│   │   │   │   │   │   ├── diamond_layer_1.properties
│   │   │   │   │   │   ├── diamond_layer_2.properties
│   │   │   │   │   │   ├── elytra.properties
│   │   │   │   │   │   ├── gold_layer_1.properties
│   │   │   │   │   │   ├── gold_layer_2.properties
│   │   │   │   │   │   ├── iron_layer_1.properties
│   │   │   │   │   │   ├── iron_layer_2.properties
│   │   │   │   │   │   ├── leather_layer_1.properties
│   │   │   │   │   │   ├── leather_layer_1_overlay.properties
│   │   │   │   │   │   ├── leather_layer_2.properties
│   │   │   │   │   │   ├── leather_layer_2_overlay.properties
│   │   │   │   │   │   ├── netherite_layer_1.properties
│   │   │   │   │   │   ├── netherite_layer_2.properties
│   │   │   │   │   │   └── turtle_layer_1.properties
│   │   │   │   │   ├── bismuth/
│   │   │   │   │   │   ├── chainmail_layer_1.properties
│   │   │   │   │   │   ├── chainmail_layer_2.properties
│   │   │   │   │   │   ├── diamond_layer_1.properties
│   │   │   │   │   │   ├── diamond_layer_2.properties
│   │   │   │   │   │   ├── elytra.properties
│   │   │   │   │   │   ├── gold_layer_1.properties
│   │   │   │   │   │   ├── gold_layer_2.properties
│   │   │   │   │   │   ├── iron_layer_1.properties
│   │   │   │   │   │   ├── iron_layer_2.properties
│   │   │   │   │   │   ├── leather_layer_1.properties
│   │   │   │   │   │   ├── leather_layer_1_overlay.properties
│   │   │   │   │   │   ├── leather_layer_2.properties
│   │   │   │   │   │   ├── leather_layer_2_overlay.properties
│   │   │   │   │   │   ├── netherite_layer_1.properties
│   │   │   │   │   │   ├── netherite_layer_2.properties
│   │   │   │   │   │   └── turtle_layer_1.properties
│   │   │   │   │   ├── curies_bismium/
│   │   │   │   │   │   ├── chainmail_layer_1.properties
│   │   │   │   │   │   ├── chainmail_layer_2.properties
│   │   │   │   │   │   ├── diamond_layer_1.properties
│   │   │   │   │   │   ├── diamond_layer_2.properties
│   │   │   │   │   │   ├── elytra.properties
│   │   │   │   │   │   ├── gold_layer_1.properties
│   │   │   │   │   │   ├── gold_layer_2.properties
│   │   │   │   │   │   ├── iron_layer_1.properties
│   │   │   │   │   │   ├── iron_layer_2.properties
│   │   │   │   │   │   ├── leather_layer_1.properties
│   │   │   │   │   │   ├── leather_layer_1_overlay.properties
│   │   │   │   │   │   ├── leather_layer_2.properties
│   │   │   │   │   │   ├── leather_layer_2_overlay.properties
│   │   │   │   │   │   ├── netherite_layer_1.properties
│   │   │   │   │   │   ├── netherite_layer_2.properties
│   │   │   │   │   │   ├── spyglass.properties
│   │   │   │   │   │   └── turtle_layer_1.properties
│   │   │   │   │   └── thorium/
│   │   │   │   │       ├── chainmail_layer_1.properties
│   │   │   │   │       ├── chainmail_layer_2.properties
│   │   │   │   │       ├── diamond_layer_1.properties
│   │   │   │   │       ├── diamond_layer_2.properties
│   │   │   │   │       ├── elytra.properties
│   │   │   │   │       ├── gold_layer_1.properties
│   │   │   │   │       ├── gold_layer_2.properties
│   │   │   │   │       ├── iron_layer_1.properties
│   │   │   │   │       ├── iron_layer_2.properties
│   │   │   │   │       ├── leather_layer_1.properties
│   │   │   │   │       ├── leather_layer_1_overlay.properties
│   │   │   │   │       ├── leather_layer_2.properties
│   │   │   │   │       ├── leather_layer_2_overlay.properties
│   │   │   │   │       ├── netherite_layer_1.properties
│   │   │   │   │       ├── netherite_layer_2.properties
│   │   │   │   │       └── turtle_layer_1.properties
│   │   │   │   └── cit/
│   │   │   │       ├── barimium/
│   │   │   │       │   └── trident.png.mcmeta
│   │   │   │       ├── curies_bismium/
│   │   │   │       │   ├── spyglass.png.mcmeta
│   │   │   │       │   └── trident.png.mcmeta
│   │   │   │       └── thorium/
│   │   │   │           └── trident.png.mcmeta
│   │   │   └── textures/
│   │   │       └── item/
│   │   │           └── shamir/
│   │   │               ├── aluminium/
│   │   │               │   ├── axe.png.mcmeta
│   │   │               │   ├── boots.png.mcmeta
│   │   │               │   ├── broken_elytra.png.mcmeta
│   │   │               │   ├── chestplate.png.mcmeta
│   │   │               │   ├── elytra.png.mcmeta
│   │   │               │   ├── helmet.png.mcmeta
│   │   │               │   ├── hoe.png.mcmeta
│   │   │               │   ├── leather_leggings.png.mcmeta
│   │   │               │   ├── leggings.png.mcmeta
│   │   │               │   ├── netherite_helmet.png.mcmeta
│   │   │               │   ├── pickaxe.png.mcmeta
│   │   │               │   ├── shears.png.mcmeta
│   │   │               │   ├── shovel.png.mcmeta
│   │   │               │   └── turtle_helmet.png.mcmeta
│   │   │               ├── barimium/
│   │   │               │   ├── compass.png.mcmeta
│   │   │               │   ├── hoe.png.mcmeta
│   │   │               │   ├── sword.png.mcmeta
│   │   │               │   └── trident.png.mcmeta
│   │   │               ├── barium/
│   │   │               │   ├── axe.png.mcmeta
│   │   │               │   ├── chestplate.png.mcmeta
│   │   │               │   ├── compass.png.mcmeta
│   │   │               │   ├── hoe.png.mcmeta
│   │   │               │   ├── pickaxe.png.mcmeta
│   │   │               │   └── shovel.png.mcmeta
│   │   │               ├── bismuth/
│   │   │               │   ├── axe.png.mcmeta
│   │   │               │   ├── boots.png.mcmeta
│   │   │               │   ├── fishing_rod.png.mcmeta
│   │   │               │   ├── pickaxe.png.mcmeta
│   │   │               │   ├── shovel.png.mcmeta
│   │   │               │   └── sword.png.mcmeta
│   │   │               ├── curies_bismium/
│   │   │               │   ├── axe.png.mcmeta
│   │   │               │   ├── boots.png.mcmeta
│   │   │               │   ├── bow.png.mcmeta
│   │   │               │   ├── broken_elytra.png.mcmeta
│   │   │               │   ├── bucket.png.mcmeta
│   │   │               │   ├── chestplate.png.mcmeta
│   │   │               │   ├── clock.png.mcmeta
│   │   │               │   ├── compass.png.mcmeta
│   │   │               │   ├── crossbow.png.mcmeta
│   │   │               │   ├── elytra.png.mcmeta
│   │   │               │   ├── fishing_rod.png.mcmeta
│   │   │               │   ├── flint_and_steel.png.mcmeta
│   │   │               │   ├── helmet.png.mcmeta
│   │   │               │   ├── hoe.png.mcmeta
│   │   │               │   ├── leather_leggings.png.mcmeta
│   │   │               │   ├── leggings.png.mcmeta
│   │   │               │   ├── netherite_helmet.png.mcmeta
│   │   │               │   ├── pickaxe.png.mcmeta
│   │   │               │   ├── shears.png.mcmeta
│   │   │               │   ├── shovel.png.mcmeta
│   │   │               │   ├── spyglass.png.mcmeta
│   │   │               │   ├── sword.png.mcmeta
│   │   │               │   ├── trident.png.mcmeta
│   │   │               │   └── turtle_helmet.png.mcmeta
│   │   │               └── thorium/
│   │   │                   ├── boots.png.mcmeta
│   │   │                   ├── sword.png.mcmeta
│   │   │                   └── trident.png.mcmeta
│   │   ├── model_data.yaml
│   │   └── translations.csv
│   ├── beet.yaml
│   ├── data/
│   │   ├── gm4/
│   │   │   └── advancement/
│   │   │       ├── metallurgy_blast_ore.json
│   │   │       ├── metallurgy_cast.json
│   │   │       └── metallurgy_overheat_cast.json
│   │   ├── gm4_arborenda_shamir/
│   │   │   ├── function/
│   │   │   │   ├── active.mcfunction
│   │   │   │   ├── check_item_validity.mcfunction
│   │   │   │   ├── init_scoreboards.mcfunction
│   │   │   │   ├── player/
│   │   │   │   │   ├── analyze_axe.mcfunction
│   │   │   │   │   ├── check_for_axe.mcfunction
│   │   │   │   │   ├── chop.mcfunction
│   │   │   │   │   ├── modify_axe_durability.mcfunction
│   │   │   │   │   └── set_damage.mcfunction
│   │   │   │   ├── summon_band.mcfunction
│   │   │   │   └── trunk/
│   │   │   │       ├── check_depth.mcfunction
│   │   │   │       ├── destroy_block.mcfunction
│   │   │   │       ├── destroy_sequenced.mcfunction
│   │   │   │       ├── neighbors/
│   │   │   │       │   ├── mark.mcfunction
│   │   │   │       │   ├── mark_bottom.mcfunction
│   │   │   │       │   └── mark_top.mcfunction
│   │   │   │       └── next_depth.mcfunction
│   │   │   ├── guidebook/
│   │   │   │   └── arborenda_shamir.json
│   │   │   ├── loot_table/
│   │   │   │   ├── band.json
│   │   │   │   └── roll_binomial_distribution.json
│   │   │   ├── tags/
│   │   │   │   ├── block/
│   │   │   │   │   ├── foliage.json
│   │   │   │   │   └── trunks.json
│   │   │   │   └── item/
│   │   │   │       ├── trunks.json
│   │   │   │       └── valid_items.json
│   │   │   └── test/
│   │   │       └── chop.mcfunction
│   │   ├── gm4_defuse_shamir/
│   │   │   ├── function/
│   │   │   │   ├── active.mcfunction
│   │   │   │   ├── check_item_validity.mcfunction
│   │   │   │   └── summon_band.mcfunction
│   │   │   ├── guidebook/
│   │   │   │   └── defuse_shamir.json
│   │   │   ├── loot_table/
│   │   │   │   └── band.json
│   │   │   ├── tags/
│   │   │   │   └── item/
│   │   │   │       └── valid_items.json
│   │   │   └── test/
│   │   │       └── creeper_defused.mcfunction
│   │   ├── gm4_ender_bolt_shamir/
│   │   │   ├── advancement/
│   │   │   │   ├── join.json
│   │   │   │   └── use.json
│   │   │   ├── function/
│   │   │   │   ├── check_item_validity.mcfunction
│   │   │   │   ├── id/
│   │   │   │   │   ├── assign_pet.mcfunction
│   │   │   │   │   └── assign_player.mcfunction
│   │   │   │   ├── infection/
│   │   │   │   │   ├── active.mcfunction
│   │   │   │   │   ├── check_ignore_list.mcfunction
│   │   │   │   │   ├── end.mcfunction
│   │   │   │   │   ├── infect.mcfunction
│   │   │   │   │   ├── spread.mcfunction
│   │   │   │   │   ├── start.mcfunction
│   │   │   │   │   └── symptoms.mcfunction
│   │   │   │   └── summon_band.mcfunction
│   │   │   ├── guidebook/
│   │   │   │   └── ender_bolt_shamir.json
│   │   │   ├── loot_table/
│   │   │   │   └── band.json
│   │   │   ├── tags/
│   │   │   │   ├── entity_type/
│   │   │   │   │   └── pets.json
│   │   │   │   └── item/
│   │   │   │       └── valid_items.json
│   │   │   └── test/
│   │   │       └── infect_and_spread.mcfunction
│   │   ├── gm4_forterra_shamir/
│   │   │   ├── function/
│   │   │   │   ├── check_item_validity.mcfunction
│   │   │   │   └── summon_band.mcfunction
│   │   │   ├── guidebook/
│   │   │   │   └── forterra_shamir.json
│   │   │   ├── loot_table/
│   │   │   │   ├── band.json
│   │   │   │   ├── deepslate.json
│   │   │   │   └── stone.json
│   │   │   └── tags/
│   │   │       └── item/
│   │   │           └── valid_items.json
│   │   ├── gm4_gemini_shamir/
│   │   │   ├── advancement/
│   │   │   │   ├── breed_allay.json
│   │   │   │   ├── breed_armadillo.json
│   │   │   │   ├── breed_axolotl.json
│   │   │   │   ├── breed_bee.json
│   │   │   │   ├── breed_cat.json
│   │   │   │   ├── breed_chicken.json
│   │   │   │   ├── breed_cow.json
│   │   │   │   ├── breed_donkey.json
│   │   │   │   ├── breed_fox.json
│   │   │   │   ├── breed_frog.json
│   │   │   │   ├── breed_goat.json
│   │   │   │   ├── breed_hoglin.json
│   │   │   │   ├── breed_horse.json
│   │   │   │   ├── breed_llama.json
│   │   │   │   ├── breed_mooshroom.json
│   │   │   │   ├── breed_mule.json
│   │   │   │   ├── breed_ocelot.json
│   │   │   │   ├── breed_panda.json
│   │   │   │   ├── breed_pig.json
│   │   │   │   ├── breed_rabbit.json
│   │   │   │   ├── breed_sheep.json
│   │   │   │   ├── breed_strider.json
│   │   │   │   ├── breed_trader_llama.json
│   │   │   │   ├── breed_turtle.json
│   │   │   │   └── breed_wolf.json
│   │   │   ├── function/
│   │   │   │   ├── baby/
│   │   │   │   │   ├── find_baby.mcfunction
│   │   │   │   │   ├── pick_type.mcfunction
│   │   │   │   │   ├── spawn_axolotl.mcfunction
│   │   │   │   │   ├── spawn_cat.mcfunction
│   │   │   │   │   ├── spawn_chicken.mcfunction
│   │   │   │   │   ├── spawn_cow.mcfunction
│   │   │   │   │   ├── spawn_donkey.mcfunction
│   │   │   │   │   ├── spawn_fox.mcfunction
│   │   │   │   │   ├── spawn_goat.mcfunction
│   │   │   │   │   ├── spawn_horse.mcfunction
│   │   │   │   │   ├── spawn_llama.mcfunction
│   │   │   │   │   ├── spawn_mule.mcfunction
│   │   │   │   │   ├── spawn_ocelot.mcfunction
│   │   │   │   │   ├── spawn_panda.mcfunction
│   │   │   │   │   ├── spawn_pig.mcfunction
│   │   │   │   │   ├── spawn_rabbit.mcfunction
│   │   │   │   │   ├── spawn_sheep.mcfunction
│   │   │   │   │   ├── spawn_trader_llama.mcfunction
│   │   │   │   │   └── spawn_wolf.mcfunction
│   │   │   │   ├── breed/
│   │   │   │   │   ├── check_allay.mcfunction
│   │   │   │   │   ├── check_armadillo.mcfunction
│   │   │   │   │   ├── check_axolotl.mcfunction
│   │   │   │   │   ├── check_bee.mcfunction
│   │   │   │   │   ├── check_cat.mcfunction
│   │   │   │   │   ├── check_chicken.mcfunction
│   │   │   │   │   ├── check_cow.mcfunction
│   │   │   │   │   ├── check_donkey.mcfunction
│   │   │   │   │   ├── check_fox.mcfunction
│   │   │   │   │   ├── check_frog.mcfunction
│   │   │   │   │   ├── check_goat.mcfunction
│   │   │   │   │   ├── check_hoglin.mcfunction
│   │   │   │   │   ├── check_horse.mcfunction
│   │   │   │   │   ├── check_llama.mcfunction
│   │   │   │   │   ├── check_mooshroom.mcfunction
│   │   │   │   │   ├── check_ocelot.mcfunction
│   │   │   │   │   ├── check_panda.mcfunction
│   │   │   │   │   ├── check_pig.mcfunction
│   │   │   │   │   ├── check_rabbit.mcfunction
│   │   │   │   │   ├── check_sheep.mcfunction
│   │   │   │   │   ├── check_strider.mcfunction
│   │   │   │   │   ├── check_trader_llama.mcfunction
│   │   │   │   │   ├── check_turtle.mcfunction
│   │   │   │   │   └── check_wolf.mcfunction
│   │   │   │   ├── check_item_validity.mcfunction
│   │   │   │   ├── main.mcfunction
│   │   │   │   └── summon_band.mcfunction
│   │   │   ├── guidebook/
│   │   │   │   └── gemini_shamir.json
│   │   │   ├── loot_table/
│   │   │   │   └── band.json
│   │   │   ├── predicate/
│   │   │   │   ├── holding_gemini.json
│   │   │   │   └── test_is_baby.json
│   │   │   ├── tags/
│   │   │   │   └── item/
│   │   │   │       └── valid_items.json
│   │   │   └── test/
│   │   │       └── breed.mcfunction
│   │   ├── gm4_hypexperia_shamir/
│   │   │   ├── function/
│   │   │   │   ├── active.mcfunction
│   │   │   │   ├── check_item_validity.mcfunction
│   │   │   │   ├── double_xp.mcfunction
│   │   │   │   ├── find_orbs.mcfunction
│   │   │   │   └── summon_band.mcfunction
│   │   │   ├── guidebook/
│   │   │   │   └── hypexperia_shamir.json
│   │   │   ├── loot_table/
│   │   │   │   └── band.json
│   │   │   └── tags/
│   │   │       └── item/
│   │   │           └── valid_items.json
│   │   ├── gm4_infinitas_shamir/
│   │   │   ├── advancement/
│   │   │   │   ├── bucket_inventory_change.json
│   │   │   │   ├── empty/
│   │   │   │   │   ├── pickup_mainhand.json
│   │   │   │   │   └── pickup_offhand.json
│   │   │   │   ├── lava/
│   │   │   │   │   ├── place_mainhand.json
│   │   │   │   │   └── place_offhand.json
│   │   │   │   ├── milk/
│   │   │   │   │   ├── drink_mainhand.json
│   │   │   │   │   └── drink_offhand.json
│   │   │   │   ├── powder_snow/
│   │   │   │   │   ├── place_mainhand.json
│   │   │   │   │   └── place_offhand.json
│   │   │   │   ├── rejoin_bucket_check.json
│   │   │   │   └── water/
│   │   │   │       ├── pickup_fish.json
│   │   │   │       └── place.json
│   │   │   ├── function/
│   │   │   │   ├── active.mcfunction
│   │   │   │   ├── add_tags.mcfunction
│   │   │   │   ├── check_item_validity.mcfunction
│   │   │   │   ├── clock/
│   │   │   │   │   ├── active.mcfunction
│   │   │   │   │   └── inventory_check.mcfunction
│   │   │   │   ├── debug/
│   │   │   │   │   └── clear.mcfunction
│   │   │   │   ├── delayed_replace/
│   │   │   │   │   ├── call.mcfunction
│   │   │   │   │   ├── check_tag.mcfunction
│   │   │   │   │   ├── empty.mcfunction
│   │   │   │   │   ├── fish/
│   │   │   │   │   │   ├── mainhand_check.mcfunction
│   │   │   │   │   │   └── offhand_check.mcfunction
│   │   │   │   │   ├── fish.mcfunction
│   │   │   │   │   ├── lava.mcfunction
│   │   │   │   │   ├── milk.mcfunction
│   │   │   │   │   ├── powder_snow.mcfunction
│   │   │   │   │   └── water.mcfunction
│   │   │   │   ├── empty/
│   │   │   │   │   ├── check_holding.mcfunction
│   │   │   │   │   ├── check_inventory.mcfunction
│   │   │   │   │   ├── pickup.mcfunction
│   │   │   │   │   └── remove_tag.mcfunction
│   │   │   │   ├── lava/
│   │   │   │   │   ├── check_holding.mcfunction
│   │   │   │   │   ├── check_inventory.mcfunction
│   │   │   │   │   ├── place.mcfunction
│   │   │   │   │   └── remove_tag.mcfunction
│   │   │   │   ├── make_unstackable.mcfunction
│   │   │   │   ├── milk/
│   │   │   │   │   └── drink.mcfunction
│   │   │   │   ├── powder_snow/
│   │   │   │   │   ├── check_holding.mcfunction
│   │   │   │   │   ├── check_inventory.mcfunction
│   │   │   │   │   ├── place.mcfunction
│   │   │   │   │   └── remove_tag.mcfunction
│   │   │   │   ├── rejoin_check.mcfunction
│   │   │   │   ├── spiral.mcfunction
│   │   │   │   ├── summon_band.mcfunction
│   │   │   │   └── water/
│   │   │   │       ├── check_holding.mcfunction
│   │   │   │       ├── check_inventory.mcfunction
│   │   │   │       ├── pickup.mcfunction
│   │   │   │       ├── place.mcfunction
│   │   │   │       └── remove_tag.mcfunction
│   │   │   ├── guidebook/
│   │   │   │   └── infinitas_shamir.json
│   │   │   ├── item_modifier/
│   │   │   │   ├── make_unstackable.json
│   │   │   │   └── restore_shamir.json
│   │   │   ├── loot_table/
│   │   │   │   └── band.json
│   │   │   ├── predicate/
│   │   │   │   ├── mainhand/
│   │   │   │   │   ├── after/
│   │   │   │   │   │   ├── empty.json
│   │   │   │   │   │   ├── pickup/
│   │   │   │   │   │   │   ├── axolotl.json
│   │   │   │   │   │   │   ├── cod.json
│   │   │   │   │   │   │   ├── pufferfish.json
│   │   │   │   │   │   │   ├── salmon.json
│   │   │   │   │   │   │   ├── tadpole.json
│   │   │   │   │   │   │   └── tropical_fish.json
│   │   │   │   │   │   ├── use_bucket.json
│   │   │   │   │   │   ├── water.json
│   │   │   │   │   │   └── water_advancement.json
│   │   │   │   │   └── holding/
│   │   │   │   │       ├── empty.json
│   │   │   │   │       ├── lava.json
│   │   │   │   │       ├── powder_snow.json
│   │   │   │   │       └── water.json
│   │   │   │   └── offhand/
│   │   │   │       ├── after/
│   │   │   │       │   ├── empty.json
│   │   │   │       │   ├── fish.json
│   │   │   │       │   ├── pickup/
│   │   │   │       │   │   ├── axolotl.json
│   │   │   │       │   │   ├── cod.json
│   │   │   │       │   │   ├── pufferfish.json
│   │   │   │       │   │   ├── salmon.json
│   │   │   │       │   │   ├── tadpole.json
│   │   │   │       │   │   └── tropical_fish.json
│   │   │   │       │   ├── use_bucket.json
│   │   │   │       │   ├── water.json
│   │   │   │       │   └── water_advancement.json
│   │   │   │       └── holding/
│   │   │   │           ├── empty.json
│   │   │   │           ├── lava.json
│   │   │   │           ├── powder_snow.json
│   │   │   │           └── water.json
│   │   │   ├── tags/
│   │   │   │   └── item/
│   │   │   │       ├── valid_items.json
│   │   │   │       ├── valid_items_lava.json
│   │   │   │       └── valid_items_powder_snow.json
│   │   │   └── test/
│   │   │       ├── check_empty_pickup.mcfunction
│   │   │       └── check_unsmoosh_after_use.mcfunction
│   │   ├── gm4_metallurgy/
│   │   │   ├── function/
│   │   │   │   ├── casting/
│   │   │   │   │   ├── add_metal/
│   │   │   │   │   │   ├── add_aluminium.mcfunction
│   │   │   │   │   │   ├── add_barimium.mcfunction
│   │   │   │   │   │   ├── add_barium.mcfunction
│   │   │   │   │   │   ├── add_bismuth.mcfunction
│   │   │   │   │   │   ├── add_copper.mcfunction
│   │   │   │   │   │   ├── add_curies_bismium.mcfunction
│   │   │   │   │   │   ├── add_thorium.mcfunction
│   │   │   │   │   │   ├── add_thorium_brass.mcfunction
│   │   │   │   │   │   └── initialize.mcfunction
│   │   │   │   │   ├── create_mould.mcfunction
│   │   │   │   │   ├── destroy_mould.mcfunction
│   │   │   │   │   ├── finish_band.mcfunction
│   │   │   │   │   ├── overheat_mould.mcfunction
│   │   │   │   │   ├── prevent_duplicate_recast.mcfunction
│   │   │   │   │   ├── set_mould.mcfunction
│   │   │   │   │   ├── summon_band/
│   │   │   │   │   │   ├── aluminium.mcfunction
│   │   │   │   │   │   ├── barimium.mcfunction
│   │   │   │   │   │   ├── barium.mcfunction
│   │   │   │   │   │   ├── bismuth.mcfunction
│   │   │   │   │   │   ├── curies_bismium.mcfunction
│   │   │   │   │   │   └── thorium.mcfunction
│   │   │   │   │   └── sustain_mould.mcfunction
│   │   │   │   ├── init.mcfunction
│   │   │   │   ├── main.mcfunction
│   │   │   │   ├── player.mcfunction
│   │   │   │   ├── shamir_equipped.mcfunction
│   │   │   │   ├── shamir_in_hand.mcfunction
│   │   │   │   ├── smooshing/
│   │   │   │   │   ├── add_band/
│   │   │   │   │   │   ├── check.mcfunction
│   │   │   │   │   │   ├── check_item.mcfunction
│   │   │   │   │   │   └── found_item.mcfunction
│   │   │   │   │   ├── anvil/
│   │   │   │   │   │   ├── degrade/
│   │   │   │   │   │   │   ├── anvil.mcfunction
│   │   │   │   │   │   │   ├── chipped_anvil.mcfunction
│   │   │   │   │   │   │   └── damaged_anvil.mcfunction
│   │   │   │   │   │   ├── degrade.mcfunction
│   │   │   │   │   │   └── use.mcfunction
│   │   │   │   │   ├── item_on_anvil.mcfunction
│   │   │   │   │   ├── prepare_transfer.mcfunction
│   │   │   │   │   └── remove_band/
│   │   │   │   │       ├── check.mcfunction
│   │   │   │   │       ├── clear_data.mcfunction
│   │   │   │   │       ├── clear_legacy_lore.mcfunction
│   │   │   │   │       ├── found_obsidian.mcfunction
│   │   │   │   │       └── spawn_band.mcfunction
│   │   │   │   └── tick.mcfunction
│   │   │   ├── guidebook/
│   │   │   │   └── metallurgy.json
│   │   │   ├── item_modifier/
│   │   │   │   ├── mould/
│   │   │   │   │   ├── cool_empty.json
│   │   │   │   │   ├── cool_metal.json
│   │   │   │   │   ├── hot_empty.json
│   │   │   │   │   └── hot_metal.json
│   │   │   │   └── slightly_damaged_obsidian.json
│   │   │   ├── loot_table/
│   │   │   │   ├── aluminium_band.json
│   │   │   │   ├── barimium_band.json
│   │   │   │   ├── barium_band.json
│   │   │   │   ├── baryte_lump.json
│   │   │   │   ├── bauxite_lump.json
│   │   │   │   ├── bismuth_band.json
│   │   │   │   ├── bismutite_lump.json
│   │   │   │   ├── copper_band.json
│   │   │   │   ├── curies_bismium_band.json
│   │   │   │   ├── malachite_lump.json
│   │   │   │   ├── thorianite_lump.json
│   │   │   │   ├── thorium_band.json
│   │   │   │   └── thorium_brass_band.json
│   │   │   ├── predicate/
│   │   │   │   ├── arborenda_active.json
│   │   │   │   ├── carries_thorium.json
│   │   │   │   ├── defuse_active.json
│   │   │   │   ├── forterra_active.json
│   │   │   │   ├── has_shamir.json
│   │   │   │   ├── hypexperia_active.json
│   │   │   │   ├── infinitas_active.json
│   │   │   │   ├── is_castable.json
│   │   │   │   ├── is_clay_ball.json
│   │   │   │   ├── is_ender_bolt_trident.json
│   │   │   │   ├── is_obsidian.json
│   │   │   │   ├── levity_active.json
│   │   │   │   ├── moneo_active.json
│   │   │   │   ├── musical_active.json
│   │   │   │   ├── on_ground.json
│   │   │   │   ├── sensus_active.json
│   │   │   │   ├── shamir_equipped.json
│   │   │   │   ├── shamir_in_hand.json
│   │   │   │   ├── smooshing/
│   │   │   │   │   ├── anvil_damage_chance.json
│   │   │   │   │   ├── has_shamir.json
│   │   │   │   │   └── valid_item.json
│   │   │   │   ├── tinker_active.json
│   │   │   │   └── vibro_active.json
│   │   │   ├── structure/
│   │   │   │   ├── test_casting.nbt
│   │   │   │   └── test_smooshing.nbt
│   │   │   ├── tags/
│   │   │   │   └── function/
│   │   │   │       ├── apply_band.json
│   │   │   │       ├── check_item_validity.json
│   │   │   │       └── summon_band/
│   │   │   │           ├── aluminium.json
│   │   │   │           ├── barimium.json
│   │   │   │           ├── barium.json
│   │   │   │           ├── bismuth.json
│   │   │   │           ├── curies_bismium.json
│   │   │   │           └── thorium.json
│   │   │   └── test/
│   │   │       ├── cast_add_lumps.mcfunction
│   │   │       ├── cast_create_and_destroy.mcfunction
│   │   │       ├── cast_mundane.mcfunction
│   │   │       ├── cast_overheat.mcfunction
│   │   │       ├── cast_successful.mcfunction
│   │   │       └── smoosh.mcfunction
│   │   ├── gm4_moneo_shamir/
│   │   │   ├── function/
│   │   │   │   ├── active_armor_chest.mcfunction
│   │   │   │   ├── active_tool.mcfunction
│   │   │   │   ├── armor/
│   │   │   │   │   └── elytra.mcfunction
│   │   │   │   ├── check_item_validity.mcfunction
│   │   │   │   ├── store_maximum.mcfunction
│   │   │   │   ├── summon_band.mcfunction
│   │   │   │   ├── tools/
│   │   │   │   │   ├── materials/
│   │   │   │   │   │   ├── copper.mcfunction
│   │   │   │   │   │   ├── diamond.mcfunction
│   │   │   │   │   │   ├── gold.mcfunction
│   │   │   │   │   │   ├── iron.mcfunction
│   │   │   │   │   │   ├── netherite.mcfunction
│   │   │   │   │   │   ├── stone.mcfunction
│   │   │   │   │   │   └── wood.mcfunction
│   │   │   │   │   └── shears.mcfunction
│   │   │   │   └── update_netherite.mcfunction
│   │   │   ├── guidebook/
│   │   │   │   └── moneo_shamir.json
│   │   │   ├── item_modifier/
│   │   │   │   └── netherite_update.json
│   │   │   ├── loot_table/
│   │   │   │   └── band.json
│   │   │   ├── predicate/
│   │   │   │   ├── holding_moneo.json
│   │   │   │   ├── holding_netherite.json
│   │   │   │   └── wear_chest_moneo.json
│   │   │   └── tags/
│   │   │       └── item/
│   │   │           ├── netherite_tools.json
│   │   │           ├── valid_items.json
│   │   │           └── valid_tools.json
│   │   ├── gm4_musical_shamir/
│   │   │   ├── function/
│   │   │   │   ├── active.mcfunction
│   │   │   │   ├── check_item_validity.mcfunction
│   │   │   │   ├── songs/
│   │   │   │   │   ├── chirp.mcfunction
│   │   │   │   │   ├── mellohi.mcfunction
│   │   │   │   │   ├── mellohi_end.mcfunction
│   │   │   │   │   └── reset_player.mcfunction
│   │   │   │   └── summon_band.mcfunction
│   │   │   ├── guidebook/
│   │   │   │   └── musical_shamir.json
│   │   │   ├── loot_table/
│   │   │   │   └── band.json
│   │   │   ├── tags/
│   │   │   │   └── item/
│   │   │   │       └── valid_items.json
│   │   │   └── test/
│   │   │       └── gain_buff.mcfunction
│   │   ├── gm4_sensus_shamir/
│   │   │   ├── function/
│   │   │   │   ├── active.mcfunction
│   │   │   │   ├── block_search/
│   │   │   │   │   ├── mark_coal_ore.mcfunction
│   │   │   │   │   ├── mark_copper_ore.mcfunction
│   │   │   │   │   ├── mark_diamond_ore.mcfunction
│   │   │   │   │   ├── mark_emerald_ore.mcfunction
│   │   │   │   │   ├── mark_gold_ore.mcfunction
│   │   │   │   │   ├── mark_iron_ore.mcfunction
│   │   │   │   │   ├── mark_lapis_ore.mcfunction
│   │   │   │   │   ├── mark_nether/
│   │   │   │   │   │   ├── ancient_debris.mcfunction
│   │   │   │   │   │   ├── nether_gold_ore.mcfunction
│   │   │   │   │   │   └── nether_quartz_ore.mcfunction
│   │   │   │   │   ├── mark_nether_quartz_ore.mcfunction
│   │   │   │   │   ├── mark_overworld/
│   │   │   │   │   │   ├── coal_ore.mcfunction
│   │   │   │   │   │   ├── copper_ore.mcfunction
│   │   │   │   │   │   ├── deepslate_coal_ore.mcfunction
│   │   │   │   │   │   ├── deepslate_copper_ore.mcfunction
│   │   │   │   │   │   ├── deepslate_diamond_ore.mcfunction
│   │   │   │   │   │   ├── deepslate_emerald_ore.mcfunction
│   │   │   │   │   │   ├── deepslate_gold_ore.mcfunction
│   │   │   │   │   │   ├── deepslate_iron_ore.mcfunction
│   │   │   │   │   │   ├── deepslate_lapis_ore.mcfunction
│   │   │   │   │   │   ├── deepslate_redstone_ore.mcfunction
│   │   │   │   │   │   ├── diamond_ore.mcfunction
│   │   │   │   │   │   ├── emerald_ore.mcfunction
│   │   │   │   │   │   ├── gold_ore.mcfunction
│   │   │   │   │   │   ├── iron_ore.mcfunction
│   │   │   │   │   │   ├── lapis_ore.mcfunction
│   │   │   │   │   │   └── redstone_ore.mcfunction
│   │   │   │   │   ├── mark_redstone_ore.mcfunction
│   │   │   │   │   └── search.mcfunction
│   │   │   │   ├── check_item_validity.mcfunction
│   │   │   │   └── summon_band.mcfunction
│   │   │   ├── guidebook/
│   │   │   │   └── sensus_shamir.json
│   │   │   ├── loot_table/
│   │   │   │   └── band.json
│   │   │   └── tags/
│   │   │       └── item/
│   │   │           └── valid_items.json
│   │   ├── gm4_tinker_shamir/
│   │   │   ├── function/
│   │   │   │   ├── active.mcfunction
│   │   │   │   ├── check_item_validity.mcfunction
│   │   │   │   ├── compact/
│   │   │   │   │   ├── clay_ball.mcfunction
│   │   │   │   │   ├── coal.mcfunction
│   │   │   │   │   ├── copper_ingot.mcfunction
│   │   │   │   │   ├── diamond.mcfunction
│   │   │   │   │   ├── emerald.mcfunction
│   │   │   │   │   ├── gold_ingot.mcfunction
│   │   │   │   │   ├── gold_nugget.mcfunction
│   │   │   │   │   ├── iron_ingot.mcfunction
│   │   │   │   │   ├── iron_nugget.mcfunction
│   │   │   │   │   ├── lapis_lazuli.mcfunction
│   │   │   │   │   ├── melon_slice.mcfunction
│   │   │   │   │   ├── netherite_ingot.mcfunction
│   │   │   │   │   ├── raw_copper.mcfunction
│   │   │   │   │   ├── raw_gold.mcfunction
│   │   │   │   │   ├── raw_iron.mcfunction
│   │   │   │   │   ├── redstone.mcfunction
│   │   │   │   │   ├── slime_ball.mcfunction
│   │   │   │   │   ├── snowball.mcfunction
│   │   │   │   │   └── wheat.mcfunction
│   │   │   │   ├── summon_band.mcfunction
│   │   │   │   └── tool/
│   │   │   │       ├── hoe.mcfunction
│   │   │   │       ├── pickaxe.mcfunction
│   │   │   │       ├── shovel.mcfunction
│   │   │   │       └── sword.mcfunction
│   │   │   ├── guidebook/
│   │   │   │   └── tinker_shamir.json
│   │   │   ├── loot_table/
│   │   │   │   └── band.json
│   │   │   ├── predicate/
│   │   │   │   └── has_full_stack/
│   │   │   │       ├── clay_ball.json
│   │   │   │       ├── coal.json
│   │   │   │       ├── copper_ingot.json
│   │   │   │       ├── diamond.json
│   │   │   │       ├── emerald.json
│   │   │   │       ├── gold_ingot.json
│   │   │   │       ├── gold_nugget.json
│   │   │   │       ├── iron_ingot.json
│   │   │   │       ├── iron_nugget.json
│   │   │   │       ├── lapis_lazuli.json
│   │   │   │       ├── melon_slice.json
│   │   │   │       ├── netherite_ingot.json
│   │   │   │       ├── raw_copper.json
│   │   │   │       ├── raw_gold.json
│   │   │   │       ├── raw_iron.json
│   │   │   │       ├── redstone.json
│   │   │   │       ├── slime_ball.json
│   │   │   │       ├── snowball.json
│   │   │   │       └── wheat.json
│   │   │   └── tags/
│   │   │       └── item/
│   │   │           └── valid_items.json
│   │   ├── gm4_vibro_shamir/
│   │   │   ├── advancement/
│   │   │   │   └── vibro_fall_damage.json
│   │   │   ├── function/
│   │   │   │   ├── active.mcfunction
│   │   │   │   ├── check_item_validity.mcfunction
│   │   │   │   ├── desire_lines.mcfunction
│   │   │   │   ├── jump.mcfunction
│   │   │   │   ├── remove_jump.mcfunction
│   │   │   │   ├── shock/
│   │   │   │   │   ├── activate.mcfunction
│   │   │   │   │   ├── apply_mob.mcfunction
│   │   │   │   │   ├── apply_player.mcfunction
│   │   │   │   │   ├── calculate.mcfunction
│   │   │   │   │   ├── check_shock.mcfunction
│   │   │   │   │   ├── ray.mcfunction
│   │   │   │   │   ├── ray_execute.mcfunction
│   │   │   │   │   ├── revert_health.mcfunction
│   │   │   │   │   └── user.mcfunction
│   │   │   │   ├── shockwave.mcfunction
│   │   │   │   └── summon_band.mcfunction
│   │   │   ├── guidebook/
│   │   │   │   └── vibro_shamir.json
│   │   │   ├── loot_table/
│   │   │   │   └── band.json
│   │   │   ├── predicate/
│   │   │   │   ├── desire_lines_chance_high.json
│   │   │   │   ├── desire_lines_chance_low.json
│   │   │   │   └── sneak_on_ground.json
│   │   │   └── tags/
│   │   │       └── item/
│   │   │           └── valid_items.json
│   │   └── minecraft/
│   │       └── loot_table/
│   │           └── blocks/
│   │               ├── andesite.json
│   │               ├── deepslate.json
│   │               ├── diorite.json
│   │               ├── granite.json
│   │               └── stone.json
│   ├── mod.mcdoc
│   └── shamir_model_template.py
├── gm4_midnight_menaces/
│   ├── README.md
│   ├── beet.yaml
│   ├── data/
│   │   ├── gm4_enlarging_phantoms/
│   │   │   ├── function/
│   │   │   │   ├── dawn_active_check.mcfunction
│   │   │   │   ├── event.mcfunction
│   │   │   │   ├── initialise.mcfunction
│   │   │   │   ├── set_pos.mcfunction
│   │   │   │   ├── set_size.mcfunction
│   │   │   │   ├── setup.mcfunction
│   │   │   │   └── slow_clock.mcfunction
│   │   │   └── guidebook/
│   │   │       └── enlarging_phantoms.json
│   │   ├── gm4_icy_strays/
│   │   │   ├── function/
│   │   │   │   ├── event.mcfunction
│   │   │   │   ├── setup.mcfunction
│   │   │   │   └── stray_transform.mcfunction
│   │   │   ├── guidebook/
│   │   │   │   └── icy_strays.json
│   │   │   ├── loot_table/
│   │   │   │   └── entities/
│   │   │   │       └── icy_stray.json
│   │   │   └── predicate/
│   │   │       └── stray_convert_chance.json
│   │   ├── gm4_illusioner_nights/
│   │   │   ├── function/
│   │   │   │   ├── event.mcfunction
│   │   │   │   ├── illusioner_transform.mcfunction
│   │   │   │   └── setup.mcfunction
│   │   │   ├── guidebook/
│   │   │   │   └── illusioner_nights.json
│   │   │   ├── loot_table/
│   │   │   │   └── entities/
│   │   │   │       └── illusioner.json
│   │   │   ├── predicate/
│   │   │   │   └── illusioner_convert_chance.json
│   │   │   └── tags/
│   │   │       └── entity_type/
│   │   │           └── illusioner_convertable.json
│   │   ├── gm4_menacing_goblins/
│   │   │   ├── function/
│   │   │   │   ├── event.mcfunction
│   │   │   │   ├── goblin_steal/
│   │   │   │   │   ├── check_player.mcfunction
│   │   │   │   │   ├── diamond.mcfunction
│   │   │   │   │   ├── gold_ingot.mcfunction
│   │   │   │   │   └── iron_ingot.mcfunction
│   │   │   │   ├── goblin_transform.mcfunction
│   │   │   │   ├── main.mcfunction
│   │   │   │   └── setup.mcfunction
│   │   │   ├── guidebook/
│   │   │   │   └── menacing_goblins.json
│   │   │   ├── loot_table/
│   │   │   │   └── entities/
│   │   │   │       └── goblin.json
│   │   │   ├── predicate/
│   │   │   │   ├── diamond_steal_chance.json
│   │   │   │   ├── goblin_convert_chance.json
│   │   │   │   ├── gold_steal_chance.json
│   │   │   │   ├── iron_steal_chance.json
│   │   │   │   └── store_chance.json
│   │   │   └── tags/
│   │   │       └── entity_type/
│   │   │           └── goblin_convertable.json
│   │   ├── gm4_midnight_menaces/
│   │   │   └── function/
│   │   │       ├── active_night.mcfunction
│   │   │       └── init.mcfunction
│   │   ├── gm4_mysterious_midnights/
│   │   │   └── tags/
│   │   │       └── function/
│   │   │           ├── active_night.json
│   │   │           ├── end_pulse.json
│   │   │           ├── setup_common_expansion.json
│   │   │           ├── setup_rare_expansion.json
│   │   │           └── setup_uncommon_expansion.json
│   │   ├── gm4_nightmare_nights/
│   │   │   └── tags/
│   │   │       └── function/
│   │   │           └── nightmare_night_expansion.json
│   │   ├── gm4_sandy_husks/
│   │   │   ├── function/
│   │   │   │   ├── event.mcfunction
│   │   │   │   ├── husk_transform.mcfunction
│   │   │   │   └── setup.mcfunction
│   │   │   ├── guidebook/
│   │   │   │   └── sandy_husks.json
│   │   │   ├── loot_table/
│   │   │   │   └── entities/
│   │   │   │       └── sandy_husk.json
│   │   │   └── predicate/
│   │   │       └── husk_convert_chance.json
│   │   └── gm4_slime_fests/
│   │       ├── function/
│   │       │   ├── absorb_slime_ball.mcfunction
│   │       │   ├── complete_merge.mcfunction
│   │       │   ├── event.mcfunction
│   │       │   ├── mark_slime_ball.mcfunction
│   │       │   ├── merge_slimes.mcfunction
│   │       │   ├── setup.mcfunction
│   │       │   ├── slime_transform.mcfunction
│   │       │   └── spawn_slime.mcfunction
│   │       ├── guidebook/
│   │       │   └── slime_fests.json
│   │       ├── loot_table/
│   │       │   └── entities/
│   │       │       └── giant_slime.json
│   │       └── tags/
│   │           └── entity_type/
│   │               └── slime_convertable.json
│   └── translations.csv
├── gm4_monsters_unbound/
│   ├── README.md
│   ├── assets/
│   │   ├── gm4_monsters_unbound/
│   │   │   └── models/
│   │   │       └── item/
│   │   │           ├── elite_headwear/
│   │   │           │   ├── glacial.json
│   │   │           │   ├── mending.json
│   │   │           │   └── pearlescent.json
│   │   │           └── spore/
│   │   │               ├── cherry.json
│   │   │               ├── default.json
│   │   │               └── flowering.json
│   │   └── model_data.yaml
│   ├── beet.yaml
│   ├── data/
│   │   ├── gm4/
│   │   │   └── advancement/
│   │   │       ├── monsters_unbound_elite_kill.json
│   │   │       └── monsters_unbound_elite_kill_all.json
│   │   ├── gm4_monsters_unbound/
│   │   │   ├── advancement/
│   │   │   │   ├── damaged/
│   │   │   │   │   └── attack_effect/
│   │   │   │   │       ├── charging.json
│   │   │   │   │       ├── slowing.json
│   │   │   │   │       ├── toxic.json
│   │   │   │   │       └── weakness.json
│   │   │   │   └── elite/
│   │   │   │       └── on_hit.json
│   │   │   ├── function/
│   │   │   │   ├── check_item.mcfunction
│   │   │   │   ├── clocks/
│   │   │   │   │   ├── effect/
│   │   │   │   │   │   ├── fear.mcfunction
│   │   │   │   │   │   └── freeze.mcfunction
│   │   │   │   │   └── elite/
│   │   │   │   │       ├── blazing_flare.mcfunction
│   │   │   │   │       ├── glacial_death.mcfunction
│   │   │   │   │       ├── volatile_pillar.mcfunction
│   │   │   │   │       ├── vorpal_death.mcfunction
│   │   │   │   │       └── zephyr_process.mcfunction
│   │   │   │   ├── debug/
│   │   │   │   │   └── spawn_elite/
│   │   │   │   │       ├── blazing/
│   │   │   │   │       │   ├── skeleton.mcfunction
│   │   │   │   │       │   └── zombie.mcfunction
│   │   │   │   │       ├── gargantuan/
│   │   │   │   │       │   ├── skeleton.mcfunction
│   │   │   │   │       │   └── zombie.mcfunction
│   │   │   │   │       ├── glacial/
│   │   │   │   │       │   ├── skeleton.mcfunction
│   │   │   │   │       │   └── zombie.mcfunction
│   │   │   │   │       ├── mending/
│   │   │   │   │       │   ├── skeleton.mcfunction
│   │   │   │   │       │   └── zombie.mcfunction
│   │   │   │   │       ├── pearlescent/
│   │   │   │   │       │   ├── skeleton.mcfunction
│   │   │   │   │       │   └── zombie.mcfunction
│   │   │   │   │       ├── splitting/
│   │   │   │   │       │   ├── skeleton.mcfunction
│   │   │   │   │       │   └── zombie.mcfunction
│   │   │   │   │       ├── volatile/
│   │   │   │   │       │   ├── skeleton.mcfunction
│   │   │   │   │       │   └── zombie.mcfunction
│   │   │   │   │       ├── vorpal/
│   │   │   │   │       │   ├── skeleton.mcfunction
│   │   │   │   │       │   └── zombie.mcfunction
│   │   │   │   │       └── zephyr/
│   │   │   │   │           ├── skeleton.mcfunction
│   │   │   │   │           └── zombie.mcfunction
│   │   │   │   ├── effect/
│   │   │   │   │   ├── fear/
│   │   │   │   │   │   ├── apply.mcfunction
│   │   │   │   │   │   ├── playsound.mcfunction
│   │   │   │   │   │   ├── remove.mcfunction
│   │   │   │   │   │   └── tick.mcfunction
│   │   │   │   │   └── freeze/
│   │   │   │   │       ├── apply.mcfunction
│   │   │   │   │       ├── apply_chill.mcfunction
│   │   │   │   │       ├── apply_entity.mcfunction
│   │   │   │   │       ├── apply_from_slow.mcfunction
│   │   │   │   │       ├── apply_player.mcfunction
│   │   │   │   │       ├── stack_slow.mcfunction
│   │   │   │   │       ├── thaw_entity.mcfunction
│   │   │   │   │       ├── thaw_player.mcfunction
│   │   │   │   │       └── tick.mcfunction
│   │   │   │   ├── init.mcfunction
│   │   │   │   ├── main.mcfunction
│   │   │   │   ├── mob/
│   │   │   │   │   ├── init/
│   │   │   │   │   │   ├── check_mob.mcfunction
│   │   │   │   │   │   ├── elite/
│   │   │   │   │   │   │   ├── pick.mcfunction
│   │   │   │   │   │   │   └── type/
│   │   │   │   │   │   │       ├── blazing.mcfunction
│   │   │   │   │   │   │       ├── gargantuan.mcfunction
│   │   │   │   │   │   │       ├── glacial.mcfunction
│   │   │   │   │   │   │       ├── mending.mcfunction
│   │   │   │   │   │   │       ├── pearlescent.mcfunction
│   │   │   │   │   │   │       ├── splitting.mcfunction
│   │   │   │   │   │   │       ├── volatile.mcfunction
│   │   │   │   │   │   │       ├── vorpal.mcfunction
│   │   │   │   │   │   │       └── zephyr.mcfunction
│   │   │   │   │   │   ├── initialize.mcfunction
│   │   │   │   │   │   ├── mob_type/
│   │   │   │   │   │   │   ├── creeper/
│   │   │   │   │   │   │   │   ├── base.mcfunction
│   │   │   │   │   │   │   │   ├── dripstone_caves.mcfunction
│   │   │   │   │   │   │   │   ├── flowering.mcfunction
│   │   │   │   │   │   │   │   ├── mountainous.mcfunction
│   │   │   │   │   │   │   │   └── snowy.mcfunction
│   │   │   │   │   │   │   ├── enderman/
│   │   │   │   │   │   │   │   ├── base.mcfunction
│   │   │   │   │   │   │   │   ├── dripstone_caves.mcfunction
│   │   │   │   │   │   │   │   ├── flowering.mcfunction
│   │   │   │   │   │   │   │   ├── growth.mcfunction
│   │   │   │   │   │   │   │   ├── nether_wastes.mcfunction
│   │   │   │   │   │   │   │   ├── soul_sand_valley.mcfunction
│   │   │   │   │   │   │   │   ├── toxic.mcfunction
│   │   │   │   │   │   │   │   └── underground.mcfunction
│   │   │   │   │   │   │   ├── skeleton/
│   │   │   │   │   │   │   │   ├── base.mcfunction
│   │   │   │   │   │   │   │   ├── flowering.mcfunction
│   │   │   │   │   │   │   │   ├── growth.mcfunction
│   │   │   │   │   │   │   │   ├── toxic.mcfunction
│   │   │   │   │   │   │   │   └── underground.mcfunction
│   │   │   │   │   │   │   ├── spider/
│   │   │   │   │   │   │   │   ├── cave_spider.mcfunction
│   │   │   │   │   │   │   │   ├── gargantuan.mcfunction
│   │   │   │   │   │   │   │   ├── lush_caves.mcfunction
│   │   │   │   │   │   │   │   ├── spider.mcfunction
│   │   │   │   │   │   │   │   ├── toxic.mcfunction
│   │   │   │   │   │   │   │   └── underground/
│   │   │   │   │   │   │   │       ├── pick.mcfunction
│   │   │   │   │   │   │   │       └── replace_with_cave_spider.mcfunction
│   │   │   │   │   │   │   └── zombie/
│   │   │   │   │   │   │       ├── base.mcfunction
│   │   │   │   │   │   │       ├── burned_husk.mcfunction
│   │   │   │   │   │   │       ├── burned_husk_army.mcfunction
│   │   │   │   │   │   │       ├── dripstone_caves/
│   │   │   │   │   │   │       │   ├── place.mcfunction
│   │   │   │   │   │   │       │   ├── raycast.mcfunction
│   │   │   │   │   │   │       │   └── try.mcfunction
│   │   │   │   │   │   │       ├── equip_shield.mcfunction
│   │   │   │   │   │   │       ├── flowering.mcfunction
│   │   │   │   │   │   │       ├── growth.mcfunction
│   │   │   │   │   │   │       ├── mountainous.mcfunction
│   │   │   │   │   │   │       ├── reef_drowned.mcfunction
│   │   │   │   │   │   │       ├── snowy.mcfunction
│   │   │   │   │   │   │       ├── spawn_phantoms.mcfunction
│   │   │   │   │   │   │       └── underground/
│   │   │   │   │   │   │           ├── offhand_weapon.mcfunction
│   │   │   │   │   │   │           ├── pick.mcfunction
│   │   │   │   │   │   │           └── replace_with_skeleton.mcfunction
│   │   │   │   │   │   └── mob_type.mcfunction
│   │   │   │   │   └── process/
│   │   │   │   │       ├── attack_effect/
│   │   │   │   │       │   ├── charging_attack.mcfunction
│   │   │   │   │       │   ├── slowing_attack.mcfunction
│   │   │   │   │       │   ├── toxic_attack.mcfunction
│   │   │   │   │       │   └── weakness_attack.mcfunction
│   │   │   │   │       ├── cloaked_creeper.mcfunction
│   │   │   │   │       ├── elite/
│   │   │   │   │       │   ├── blazing/
│   │   │   │   │       │   │   ├── flare_damage.mcfunction
│   │   │   │   │       │   │   ├── flare_explode.mcfunction
│   │   │   │   │       │   │   ├── init_flare.mcfunction
│   │   │   │   │       │   │   ├── process.mcfunction
│   │   │   │   │       │   │   └── process_flare.mcfunction
│   │   │   │   │       │   ├── check_type.mcfunction
│   │   │   │   │       │   ├── gargantuan/
│   │   │   │   │       │   │   ├── activate.mcfunction
│   │   │   │   │       │   │   ├── eval_stats.mcfunction
│   │   │   │   │       │   │   ├── particle_ring.mcfunction
│   │   │   │   │       │   │   ├── particle_ring_big.mcfunction
│   │   │   │   │       │   │   ├── player_hit.mcfunction
│   │   │   │   │       │   │   ├── process.mcfunction
│   │   │   │   │       │   │   └── update_stats.mcfunction
│   │   │   │   │       │   ├── glacial/
│   │   │   │   │       │   │   ├── death.mcfunction
│   │   │   │   │       │   │   ├── explode.mcfunction
│   │   │   │   │       │   │   ├── process_explosion.mcfunction
│   │   │   │   │       │   │   ├── warning_pitch_loop_big.mcfunction
│   │   │   │   │       │   │   ├── warning_pitch_loop_small.mcfunction
│   │   │   │   │       │   │   └── warning_yaw_loop.mcfunction
│   │   │   │   │       │   ├── mending/
│   │   │   │   │       │   │   ├── check_los_raycast.mcfunction
│   │   │   │   │       │   │   ├── check_target.mcfunction
│   │   │   │   │       │   │   ├── particle_raycast.mcfunction
│   │   │   │   │       │   │   ├── process.mcfunction
│   │   │   │   │       │   │   └── trigger.mcfunction
│   │   │   │   │       │   ├── on_death/
│   │   │   │   │       │   │   └── run.mcfunction
│   │   │   │   │       │   ├── on_hit/
│   │   │   │   │       │   │   ├── check_mob.mcfunction
│   │   │   │   │       │   │   └── run.mcfunction
│   │   │   │   │       │   ├── pearlescent/
│   │   │   │   │       │   │   ├── get_facing.mcfunction
│   │   │   │   │       │   │   ├── laser.mcfunction
│   │   │   │   │       │   │   ├── laser_damage.mcfunction
│   │   │   │   │       │   │   ├── laser_raycast.mcfunction
│   │   │   │   │       │   │   └── process.mcfunction
│   │   │   │   │       │   ├── splitting/
│   │   │   │   │       │   │   ├── init_entity.mcfunction
│   │   │   │   │       │   │   ├── process.mcfunction
│   │   │   │   │       │   │   ├── skeleton.mcfunction
│   │   │   │   │       │   │   └── zombie.mcfunction
│   │   │   │   │       │   ├── volatile/
│   │   │   │   │       │   │   ├── death.mcfunction
│   │   │   │   │       │   │   ├── pillar_damage.mcfunction
│   │   │   │   │       │   │   ├── pillar_explode.mcfunction
│   │   │   │   │       │   │   ├── pillar_location.mcfunction
│   │   │   │   │       │   │   ├── pillar_location_y.mcfunction
│   │   │   │   │       │   │   ├── pillar_particle_ring.mcfunction
│   │   │   │   │       │   │   ├── pillar_process.mcfunction
│   │   │   │   │       │   │   └── process.mcfunction
│   │   │   │   │       │   ├── vorpal/
│   │   │   │   │       │   │   ├── fear_hit.mcfunction
│   │   │   │   │       │   │   ├── init_fear_cloud.mcfunction
│   │   │   │   │       │   │   ├── process_fear_cloud.mcfunction
│   │   │   │   │       │   │   └── warp/
│   │   │   │   │       │   │       ├── randomize.mcfunction
│   │   │   │   │       │   │       ├── run.mcfunction
│   │   │   │   │       │   │       ├── set_ypos.mcfunction
│   │   │   │   │       │   │       ├── spawn_marker.mcfunction
│   │   │   │   │       │   │       └── tp_marker.mcfunction
│   │   │   │   │       │   └── zephyr/
│   │   │   │   │       │       ├── activate.mcfunction
│   │   │   │   │       │       ├── charge_complete.mcfunction
│   │   │   │   │       │       ├── hit_when_charging.mcfunction
│   │   │   │   │       │       ├── lose_charge.mcfunction
│   │   │   │   │       │       ├── process.mcfunction
│   │   │   │   │       │       └── skeleton/
│   │   │   │   │       │           ├── arrow_burst.mcfunction
│   │   │   │   │       │           ├── get_target_pos.mcfunction
│   │   │   │   │       │           ├── init_arrow.mcfunction
│   │   │   │   │       │           └── start.mcfunction
│   │   │   │   │       ├── reveal_dripstone_trap.mcfunction
│   │   │   │   │       ├── reveal_snowy_trap.mcfunction
│   │   │   │   │       ├── spore/
│   │   │   │   │       │   ├── activate.mcfunction
│   │   │   │   │       │   ├── advance.mcfunction
│   │   │   │   │       │   ├── burn_on_head.mcfunction
│   │   │   │   │       │   ├── initialise.mcfunction
│   │   │   │   │       │   └── set_generation.mcfunction
│   │   │   │   │       └── toxic_creeper.mcfunction
│   │   │   │   ├── slow_clock.mcfunction
│   │   │   │   └── tick.mcfunction
│   │   │   ├── guidebook/
│   │   │   │   └── monsters_unbound.json
│   │   │   ├── loot_table/
│   │   │   │   ├── elite/
│   │   │   │   │   ├── glacial.json
│   │   │   │   │   ├── mending.json
│   │   │   │   │   ├── pearlescent.json
│   │   │   │   │   ├── splitting_skeleton.json
│   │   │   │   │   ├── splitting_zombie.json
│   │   │   │   │   ├── volatile.json
│   │   │   │   │   └── vorpal.json
│   │   │   │   └── mob/
│   │   │   │       ├── equip_armor/
│   │   │   │       │   └── spore.json
│   │   │   │       └── equip_arrow/
│   │   │   │           ├── skeleton_toxic.json
│   │   │   │           ├── stray_snowy.json
│   │   │   │           └── stray_toxic.json
│   │   │   ├── predicate/
│   │   │   │   ├── biome/
│   │   │   │   │   ├── burned.json
│   │   │   │   │   ├── flowering.json
│   │   │   │   │   ├── growth.json
│   │   │   │   │   ├── mountainous.json
│   │   │   │   │   ├── reef.json
│   │   │   │   │   ├── snowy.json
│   │   │   │   │   └── toxic.json
│   │   │   │   ├── chance/
│   │   │   │   │   └── spawn_phantom.json
│   │   │   │   └── technical/
│   │   │   │       ├── on_fire.json
│   │   │   │       ├── underground.json
│   │   │   │       └── valid_tp.json
│   │   │   └── tags/
│   │   │       ├── block/
│   │   │       │   └── dripstone.json
│   │   │       └── entity_type/
│   │   │           ├── elite_types.json
│   │   │           ├── modify.json
│   │   │           ├── modify_in_air.json
│   │   │           ├── skeleton_types.json
│   │   │           └── zombie_types.json
│   │   └── gm4_survival_refightalized/
│   │       └── tags/
│   │           └── function/
│   │               └── init_mob.json
│   ├── mod.mcdoc
│   └── translations.csv
├── gm4_mysterious_midnights/
│   ├── README.md
│   ├── beet.yaml
│   ├── data/
│   │   ├── gm4_falling_stars/
│   │   │   ├── function/
│   │   │   │   ├── event.mcfunction
│   │   │   │   ├── falling_star/
│   │   │   │   │   ├── accumulate_impact_points.mcfunction
│   │   │   │   │   ├── decay.mcfunction
│   │   │   │   │   ├── initilize.mcfunction
│   │   │   │   │   ├── select_spawn_location.mcfunction
│   │   │   │   │   ├── spawn.mcfunction
│   │   │   │   │   └── start_in_area.mcfunction
│   │   │   │   ├── hatch_endermite.mcfunction
│   │   │   │   ├── setup.mcfunction
│   │   │   │   └── star_shower.mcfunction
│   │   │   ├── guidebook/
│   │   │   │   └── falling_stars.json
│   │   │   ├── loot_table/
│   │   │   │   ├── endermite_egg.json
│   │   │   │   └── star_type.json
│   │   │   ├── predicate/
│   │   │   │   ├── shower_chance.json
│   │   │   │   └── spawn_chance.json
│   │   │   └── tags/
│   │   │       └── entity_type/
│   │   │           └── falling_star.json
│   │   ├── gm4_harvest_moons/
│   │   │   ├── function/
│   │   │   │   ├── dawn_active_check.mcfunction
│   │   │   │   ├── dawn_event.mcfunction
│   │   │   │   ├── event.mcfunction
│   │   │   │   └── setup.mcfunction
│   │   │   └── guidebook/
│   │   │       └── harvest_moons.json
│   │   ├── gm4_mysterious_midnights/
│   │   │   ├── function/
│   │   │   │   ├── calculate_difficulty.mcfunction
│   │   │   │   ├── end_pulse.mcfunction
│   │   │   │   ├── event_clock.mcfunction
│   │   │   │   ├── init.mcfunction
│   │   │   │   ├── main.mcfunction
│   │   │   │   ├── roll_difficulty.mcfunction
│   │   │   │   └── start_midnight.mcfunction
│   │   │   ├── guidebook/
│   │   │   │   └── mysterious_midnights.json
│   │   │   ├── predicate/
│   │   │   │   └── is_full_moon_night.json
│   │   │   └── tags/
│   │   │       └── function/
│   │   │           ├── active_night.json
│   │   │           ├── end_pulse.json
│   │   │           ├── setup_common_expansion.json
│   │   │           ├── setup_rare_expansion.json
│   │   │           └── setup_uncommon_expansion.json
│   │   ├── gm4_nightmare_nights/
│   │   │   ├── function/
│   │   │   │   ├── dawn_active_check.mcfunction
│   │   │   │   ├── dawn_event.mcfunction
│   │   │   │   ├── event.mcfunction
│   │   │   │   ├── initialise.mcfunction
│   │   │   │   └── setup.mcfunction
│   │   │   ├── guidebook/
│   │   │   │   └── nightmare_nights.json
│   │   │   └── tags/
│   │   │       └── function/
│   │   │           └── nightmare_night_expansion.json
│   │   ├── gm4_resurrecting_skeletons/
│   │   │   ├── function/
│   │   │   │   ├── absorb_bone.mcfunction
│   │   │   │   ├── event.mcfunction
│   │   │   │   ├── mark_bone.mcfunction
│   │   │   │   ├── setup.mcfunction
│   │   │   │   └── spawn_skeleton.mcfunction
│   │   │   └── guidebook/
│   │   │       └── resurrecting_skeletons.json
│   │   ├── gm4_resurrecting_zombies/
│   │   │   ├── function/
│   │   │   │   ├── absorb_rotten_flesh.mcfunction
│   │   │   │   ├── event.mcfunction
│   │   │   │   ├── mark_rotten_flesh.mcfunction
│   │   │   │   ├── setup.mcfunction
│   │   │   │   └── spawn_zombie.mcfunction
│   │   │   └── guidebook/
│   │   │       └── resurrecting_zombies.json
│   │   └── gm4_tipped_skeletons/
│   │       ├── function/
│   │       │   ├── event.mcfunction
│   │       │   ├── setup.mcfunction
│   │       │   └── tipp.mcfunction
│   │       ├── guidebook/
│   │       │   └── tipped_skeletons.json
│   │       └── loot_table/
│   │           └── tipped_type.json
│   ├── mod.mcdoc
│   └── translations.csv
├── gm4_note_block_interface/
│   ├── README.md
│   ├── beet.yaml
│   ├── data/
│   │   └── gm4_note_block_interface/
│   │       ├── advancement/
│   │       │   └── tune.json
│   │       ├── function/
│   │       │   ├── init.mcfunction
│   │       │   ├── interface/
│   │       │   │   ├── change.mcfunction
│   │       │   │   └── create.mcfunction
│   │       │   ├── play/
│   │       │   │   ├── loop.mcfunction
│   │       │   │   └── setup.mcfunction
│   │       │   ├── tick.mcfunction
│   │       │   ├── tune/
│   │       │   │   ├── loop.mcfunction
│   │       │   │   ├── setup.mcfunction
│   │       │   │   └── sneak_loop.mcfunction
│   │       │   └── tune.mcfunction
│   │       ├── guidebook/
│   │       │   └── note_block_interface.json
│   │       ├── predicate/
│   │       │   └── sneaking.json
│   │       └── test/
│   │           ├── play_note.mcfunction
│   │           ├── tune_down.mcfunction
│   │           └── tune_up.mcfunction
│   └── translations.csv
├── gm4_orb_of_ankou/
│   ├── README.md
│   ├── assets/
│   │   ├── gm4_orb_of_ankou/
│   │   │   └── optifine/
│   │   │       └── cit/
│   │   │           └── fire_sprite.properties
│   │   ├── minecraft/
│   │   │   └── optifine/
│   │   │       ├── anim/
│   │   │       │   ├── bat2.properties
│   │   │       │   ├── bat2_e.properties
│   │   │       │   ├── endermite2.properties
│   │   │       │   ├── endermite2_e.properties
│   │   │       │   ├── phantom2.properties
│   │   │       │   ├── silverfish3.properties
│   │   │       │   └── silverfish3_e.properties
│   │   │       ├── cem/
│   │   │       │   ├── bat.jem
│   │   │       │   ├── endermite.jem
│   │   │       │   └── silverfish.jem
│   │   │       └── mob/
│   │   │           ├── bat.properties
│   │   │           ├── endermite.properties
│   │   │           └── silverfish.properties
│   │   ├── model_data.yaml
│   │   └── translations.csv
│   ├── beet.yaml
│   ├── data/
│   │   ├── gm4/
│   │   │   └── advancement/
│   │   │       ├── all_pneumas.json
│   │   │       ├── create_soul_forge.json
│   │   │       ├── create_soul_shard.json
│   │   │       ├── max_orb_of_ankou.json
│   │   │       ├── obtain_soul_essence.json
│   │   │       └── soaring_pneuma.json
│   │   ├── gm4_animi_shamir/
│   │   │   └── function/
│   │   │       └── mark_orb_of_ankou.mcfunction
│   │   ├── gm4_corripio_shamir/
│   │   │   ├── function/
│   │   │   │   ├── check_item_validity.mcfunction
│   │   │   │   └── summon_band.mcfunction
│   │   │   ├── guidebook/
│   │   │   │   └── corripio_shamir.json
│   │   │   ├── loot_table/
│   │   │   │   └── band.json
│   │   │   └── tags/
│   │   │       └── item/
│   │   │           └── valid_items.json
│   │   ├── gm4_metallurgy/
│   │   │   └── tags/
│   │   │       └── function/
│   │   │           ├── check_item_validity.json
│   │   │           └── summon_band/
│   │   │               └── bismuth.json
│   │   └── gm4_orb_of_ankou/
│   │       ├── advancement/
│   │       │   ├── check_player/
│   │       │   │   ├── check_inventory.json
│   │       │   │   └── get_id.json
│   │       │   ├── recipes/
│   │       │   │   └── orb_of_ankou.json
│   │       │   └── triggers/
│   │       │       ├── damaged.json
│   │       │       ├── fire_damaged.json
│   │       │       ├── hunger_attack.json
│   │       │       ├── magic_damaged_1.json
│   │       │       ├── magic_damaged_2.json
│   │       │       ├── magic_evoker_fang.json
│   │       │       ├── poison_attack.json
│   │       │       ├── poison_effect.json
│   │       │       ├── shoot_crossbow.json
│   │       │       ├── traded.json
│   │       │       ├── wither_attack.json
│   │       │       └── wither_effect.json
│   │       ├── function/
│   │       │   ├── init.mcfunction
│   │       │   ├── main.mcfunction
│   │       │   ├── nether_main.mcfunction
│   │       │   ├── nether_tick.mcfunction
│   │       │   ├── player.mcfunction
│   │       │   ├── pneumas/
│   │       │   │   ├── advancement_triggers/
│   │       │   │   │   ├── affected_by_poison.mcfunction
│   │       │   │   │   ├── affected_by_wither.mcfunction
│   │       │   │   │   ├── hunger_attack.mcfunction
│   │       │   │   │   ├── magic_damaged_1.mcfunction
│   │       │   │   │   ├── magic_damaged_2.mcfunction
│   │       │   │   │   ├── magic_ignore.mcfunction
│   │       │   │   │   ├── player_damaged.mcfunction
│   │       │   │   │   ├── player_on_fire.mcfunction
│   │       │   │   │   ├── player_traded.mcfunction
│   │       │   │   │   ├── poison_attack.mcfunction
│   │       │   │   │   ├── shot_crossbow.mcfunction
│   │       │   │   │   └── wither_attack.mcfunction
│   │       │   │   ├── blasting.mcfunction
│   │       │   │   ├── bounding.mcfunction
│   │       │   │   ├── conjuring/
│   │       │   │   │   ├── prepare.mcfunction
│   │       │   │   │   ├── summon_fangs.mcfunction
│   │       │   │   │   ├── temp_tick.mcfunction
│   │       │   │   │   └── throw.mcfunction
│   │       │   │   ├── dashing/
│   │       │   │   │   ├── prepare.mcfunction
│   │       │   │   │   └── set_motion.mcfunction
│   │       │   │   ├── draining/
│   │       │   │   │   ├── apply_effect.mcfunction
│   │       │   │   │   └── search.mcfunction
│   │       │   │   ├── expeditious/
│   │       │   │   │   ├── attempt.mcfunction
│   │       │   │   │   ├── get_pos.mcfunction
│   │       │   │   │   ├── randomize.mcfunction
│   │       │   │   │   ├── set_ypos.mcfunction
│   │       │   │   │   └── tp_player.mcfunction
│   │       │   │   ├── feigning/
│   │       │   │   │   ├── apply.mcfunction
│   │       │   │   │   └── move_away.mcfunction
│   │       │   │   ├── magic_damaged/
│   │       │   │   │   ├── check.mcfunction
│   │       │   │   │   ├── magic_1.mcfunction
│   │       │   │   │   └── magic_2.mcfunction
│   │       │   │   ├── phasing/
│   │       │   │   │   ├── check_traversable.mcfunction
│   │       │   │   │   └── tp.mcfunction
│   │       │   │   ├── retreating.mcfunction
│   │       │   │   ├── revert_invulnerable_item.mcfunction
│   │       │   │   ├── rushing.mcfunction
│   │       │   │   ├── shrieking/
│   │       │   │   │   ├── boom.mcfunction
│   │       │   │   │   ├── boom_mob.mcfunction
│   │       │   │   │   ├── boom_player.mcfunction
│   │       │   │   │   ├── find_target.mcfunction
│   │       │   │   │   ├── player_death.mcfunction
│   │       │   │   │   └── release.mcfunction
│   │       │   │   ├── sneak/
│   │       │   │   │   ├── check.mcfunction
│   │       │   │   │   ├── sound.mcfunction
│   │       │   │   │   └── stopped.mcfunction
│   │       │   │   ├── sniffing.mcfunction
│   │       │   │   ├── soaring/
│   │       │   │   │   ├── apply.mcfunction
│   │       │   │   │   ├── ascend.mcfunction
│   │       │   │   │   ├── descend.mcfunction
│   │       │   │   │   ├── idle.mcfunction
│   │       │   │   │   ├── remove_fall_protection.mcfunction
│   │       │   │   │   └── toggle.mcfunction
│   │       │   │   ├── striding.mcfunction
│   │       │   │   ├── synergetic/
│   │       │   │   │   ├── apply.mcfunction
│   │       │   │   │   └── check_wolf.mcfunction
│   │       │   │   ├── temp_tick/
│   │       │   │   │   ├── debilitate.mcfunction
│   │       │   │   │   ├── feigning_revert.mcfunction
│   │       │   │   │   ├── freezing.mcfunction
│   │       │   │   │   ├── hawkeye.mcfunction
│   │       │   │   │   ├── magic_damaged.mcfunction
│   │       │   │   │   ├── striding.mcfunction
│   │       │   │   │   ├── striding_revert.mcfunction
│   │       │   │   │   └── tranquilizing.mcfunction
│   │       │   │   └── volatile.mcfunction
│   │       │   ├── soul_forge/
│   │       │   │   ├── create.mcfunction
│   │       │   │   ├── destroy.mcfunction
│   │       │   │   ├── entities/
│   │       │   │   │   ├── fire_sprite.mcfunction
│   │       │   │   │   ├── set_data/
│   │       │   │   │   │   ├── congealed_shard.mcfunction
│   │       │   │   │   │   ├── get_orb_pneuma.mcfunction
│   │       │   │   │   │   ├── living_orb.mcfunction
│   │       │   │   │   │   ├── loop_orb_pneumas.mcfunction
│   │       │   │   │   │   ├── randomize_motion.mcfunction
│   │       │   │   │   │   └── severed_soul.mcfunction
│   │       │   │   │   ├── summon_congealed_shard.mcfunction
│   │       │   │   │   ├── summon_extra_essence.mcfunction
│   │       │   │   │   ├── summon_extra_orb.mcfunction
│   │       │   │   │   ├── summon_extra_shard.mcfunction
│   │       │   │   │   ├── summon_failed_essence.mcfunction
│   │       │   │   │   ├── summon_glowstone_sprite.mcfunction
│   │       │   │   │   ├── summon_living_orb.mcfunction
│   │       │   │   │   ├── summon_powder_sprite.mcfunction
│   │       │   │   │   ├── summon_wandering_tear.mcfunction
│   │       │   │   │   └── withering_magic.mcfunction
│   │       │   │   ├── outputs/
│   │       │   │   │   ├── check_fuse.mcfunction
│   │       │   │   │   ├── create_shard.mcfunction
│   │       │   │   │   ├── fuse_pneuma.mcfunction
│   │       │   │   │   └── set_shard_loot.mcfunction
│   │       │   │   ├── process.mcfunction
│   │       │   │   ├── ray.mcfunction
│   │       │   │   ├── ray_backup.mcfunction
│   │       │   │   ├── recipes/
│   │       │   │   │   ├── add_blaze_powder.mcfunction
│   │       │   │   │   ├── add_first_soul_essence.mcfunction
│   │       │   │   │   ├── add_ghast_tear.mcfunction
│   │       │   │   │   ├── add_glowstone_dust.mcfunction
│   │       │   │   │   ├── add_orb.mcfunction
│   │       │   │   │   ├── add_shard.mcfunction
│   │       │   │   │   ├── add_soul_essence.mcfunction
│   │       │   │   │   ├── check_item.mcfunction
│   │       │   │   │   ├── check_orb.mcfunction
│   │       │   │   │   ├── check_shard.mcfunction
│   │       │   │   │   ├── check_soul_essence.mcfunction
│   │       │   │   │   └── initiate_recipe_amounts.mcfunction
│   │       │   │   ├── used_flint_and_steel.mcfunction
│   │       │   │   └── wither_roses/
│   │       │   │       ├── consume.mcfunction
│   │       │   │       ├── move_indicator.mcfunction
│   │       │   │       ├── particle.mcfunction
│   │       │   │       ├── steps.mcfunction
│   │       │   │       └── summon_indicator.mcfunction
│   │       │   ├── tick.mcfunction
│   │       │   └── update_tags/
│   │       │       ├── check_offhand.mcfunction
│   │       │       ├── check_pneuma.mcfunction
│   │       │       ├── player_id.mcfunction
│   │       │       └── remove_tags.mcfunction
│   │       ├── guidebook/
│   │       │   └── orb_of_ankou.json
│   │       ├── loot_table/
│   │       │   └── items/
│   │       │       ├── orb_of_ankou.json
│   │       │       └── soul_shard/
│   │       │           ├── aggressive.json
│   │       │           ├── agile.json
│   │       │           ├── anchoring.json
│   │       │           ├── bargaining.json
│   │       │           ├── bashing.json
│   │       │           ├── blasting.json
│   │       │           ├── blinding.json
│   │       │           ├── bounding.json
│   │       │           ├── bubbly.json
│   │       │           ├── conjuring.json
│   │       │           ├── dashing.json
│   │       │           ├── debilitate.json
│   │       │           ├── depriving.json
│   │       │           ├── draining.json
│   │       │           ├── enduring.json
│   │       │           ├── expeditious.json
│   │       │           ├── feathery.json
│   │       │           ├── feigning.json
│   │       │           ├── freezing.json
│   │       │           ├── gazing.json
│   │       │           ├── gliding.json
│   │       │           ├── hawkeye.json
│   │       │           ├── incombustible.json
│   │       │           ├── lifeless.json
│   │       │           ├── neutralizing.json
│   │       │           ├── phasing.json
│   │       │           ├── pricking.json
│   │       │           ├── retreating.json
│   │       │           ├── rushing.json
│   │       │           ├── scaling.json
│   │       │           ├── shrieking.json
│   │       │           ├── sniffing.json
│   │       │           ├── soaring.json
│   │       │           ├── striding.json
│   │       │           ├── synergetic.json
│   │       │           ├── tranquilizing.json
│   │       │           ├── vanishing.json
│   │       │           ├── venomous.json
│   │       │           ├── volatile.json
│   │       │           └── withering.json
│   │       ├── predicate/
│   │       │   ├── has_multiblock.json
│   │       │   ├── has_pneuma.json
│   │       │   ├── in_water.json
│   │       │   ├── matching_id.json
│   │       │   ├── on_ground.json
│   │       │   └── sniff_chance.json
│   │       ├── recipe/
│   │       │   └── orb_of_ankou.json
│   │       └── tags/
│   │           ├── entity_type/
│   │           │   ├── feigning_affected.json
│   │           │   ├── hostile.json
│   │           │   └── neutral.json
│   │           ├── function/
│   │           │   └── pneumas/
│   │           │       └── expeditious/
│   │           │           └── tp_player.json
│   │           └── item/
│   │               └── pneuma_container.json
│   ├── generate_pneumas.py
│   ├── mod.mcdoc
│   ├── pneuma_model_template.py
│   └── soul_essence.csv
├── gm4_particles_pack/
│   ├── README.md
│   ├── beet.yaml
│   ├── data/
│   │   ├── gm4_better_armour_stands/
│   │   │   └── tags/
│   │   │       └── function/
│   │   │           ├── apply_book.json
│   │   │           └── default.json
│   │   └── gm4_particles_pack/
│   │       ├── function/
│   │       │   ├── apply_book.mcfunction
│   │       │   ├── default.mcfunction
│   │       │   ├── init.mcfunction
│   │       │   ├── main.mcfunction
│   │       │   └── particle.mcfunction
│   │       └── guidebook/
│   │           └── particles_pack.json
│   └── translations.csv
├── gm4_percurro_shamir/
│   ├── README.md
│   ├── assets/
│   │   └── translations.csv
│   ├── beet.yaml
│   └── data/
│       ├── gm4_metallurgy/
│       │   └── tags/
│       │       └── function/
│       │           ├── check_item_validity.json
│       │           └── summon_band/
│       │               └── curies_bismium.json
│       └── gm4_percurro_shamir/
│           ├── advancement/
│           │   └── use.json
│           ├── function/
│           │   ├── check_item_validity.mcfunction
│           │   ├── check_teleport_destination/
│           │   │   ├── y_0.mcfunction
│           │   │   ├── y_1.mcfunction
│           │   │   ├── y_2.mcfunction
│           │   │   ├── y_3.mcfunction
│           │   │   ├── y_4.mcfunction
│           │   │   ├── y_n1.mcfunction
│           │   │   ├── y_n2.mcfunction
│           │   │   └── y_n3.mcfunction
│           │   ├── init.mcfunction
│           │   ├── search_destination.mcfunction
│           │   ├── summon_band.mcfunction
│           │   └── teleport.mcfunction
│           ├── guidebook/
│           │   └── percurro_shamir.json
│           ├── loot_table/
│           │   └── band.json
│           ├── tags/
│           │   ├── block/
│           │   │   └── valid_destination.json
│           │   └── item/
│           │       └── valid_items.json
│           └── test/
│               └── attack_player.mcfunction
├── gm4_phantom_scarecrows/
│   ├── README.md
│   ├── assets/
│   │   └── translations.csv
│   ├── beet.yaml
│   └── data/
│       ├── gm4/
│       │   └── advancement/
│       │       └── phantom_scarecrows.json
│       └── gm4_phantom_scarecrows/
│           ├── function/
│           │   ├── aim.mcfunction
│           │   ├── create.mcfunction
│           │   ├── explode.mcfunction
│           │   ├── init.mcfunction
│           │   ├── main.mcfunction
│           │   ├── propulsion.mcfunction
│           │   ├── shoot.mcfunction
│           │   └── tick.mcfunction
│           ├── guidebook/
│           │   └── phantom_scarecrows.json
│           ├── tags/
│           │   └── item/
│           │       └── skulls.json
│           └── test/
│               └── kill_phantom.mcfunction
├── gm4_pig_tractors/
│   ├── README.md
│   ├── assets/
│   │   └── translations.csv
│   ├── beet.yaml
│   └── data/
│       ├── gm4/
│       │   └── advancement/
│       │       └── pig_tractors.json
│       └── gm4_pig_tractors/
│           ├── advancement/
│           │   └── block_detection/
│           │       ├── air.json
│           │       ├── beetroots.json
│           │       ├── carrots.json
│           │       ├── empty_farmland.json
│           │       ├── potatoes.json
│           │       └── wheat.json
│           ├── function/
│           │   ├── harvest/
│           │   │   ├── beetroots.mcfunction
│           │   │   ├── block/
│           │   │   │   ├── beetroots.mcfunction
│           │   │   │   ├── carrots.mcfunction
│           │   │   │   ├── potatoes.mcfunction
│           │   │   │   └── wheat.mcfunction
│           │   │   ├── carrots.mcfunction
│           │   │   ├── empty_farmland.mcfunction
│           │   │   ├── potatoes.mcfunction
│           │   │   └── wheat.mcfunction
│           │   ├── init.mcfunction
│           │   ├── plant/
│           │   │   ├── block/
│           │   │   │   ├── beetroots.mcfunction
│           │   │   │   ├── carrots.mcfunction
│           │   │   │   ├── potatoes.mcfunction
│           │   │   │   └── wheat.mcfunction
│           │   │   ├── item/
│           │   │   │   ├── beetroot_seeds.mcfunction
│           │   │   │   ├── carrot.mcfunction
│           │   │   │   ├── potato.mcfunction
│           │   │   │   └── wheat_seeds.mcfunction
│           │   │   ├── select_type.mcfunction
│           │   │   ├── use_mainhand_seeds.mcfunction
│           │   │   ├──
Download .txt
SYMBOL INDEX (299 symbols across 44 files)

FILE: gm4/commands.py
  function dev (line 38) | def dev(ctx: click.Context, project: Project, modules: tuple[str, ...], ...
  function clean (line 92) | def clean():
  function readme_gen (line 105) | def readme_gen(ctx: click.Context, project: Project, modules: tuple[str,...
  function build_dynamic_config (line 148) | def build_dynamic_config(config: dict[str,Any], ctx: click.Context, proj...

FILE: gm4/plugins/annotations.py
  function beet_default (line 14) | def beet_default(ctx: Context):
  class AnnotationFormatter (line 49) | class AnnotationFormatter(logging.Formatter):
    method format (line 51) | def format(self, record: logging.LogRecord) -> str:
  class SummaryHandler (line 72) | class SummaryHandler(logging.handlers.BufferingHandler):
    method __init__ (line 73) | def __init__(self, capacity: int, beet_cache: ProjectCache):
    method flush (line 78) | def flush(self):
  function add_module_dir_to_diagnostics (line 136) | def add_module_dir_to_diagnostics(ctx: Context):
  function add_mecha_subproject_dir (line 146) | def add_mecha_subproject_dir(record: logging.LogRecord, subproject_dir: ...

FILE: gm4/plugins/autoload.py
  function beet_default (line 3) | def beet_default(ctx: Context):

FILE: gm4/plugins/backwards.py
  function beet_default (line 8) | def beet_default(ctx: Context):
  function backport (line 12) | def backport(pack: Pack[Any], format: int, run: Callable[[str, Namespace...
  function check_formats (line 41) | def check_formats(overlay: Pack[Any], format: int):
  function get_major (line 59) | def get_major(format: int | tuple[int] | tuple[int, int]):

FILE: gm4/plugins/extend.py
  function _generate_extend_plugin (line 5) | def _generate_extend_plugin(name: str):

FILE: gm4/plugins/finished.py
  function beet_default (line 6) | def beet_default(ctx: Context):

FILE: gm4/plugins/include.py
  function __getattr__ (line 9) | def __getattr__(name: str): # redirect plugin calls to the right library...

FILE: gm4/plugins/manifest.py
  class WebsiteConfig (line 29) | class WebsiteConfig(PluginOptions):
  class ModrinthConfig (line 35) | class ModrinthConfig(PluginOptions):
  class SmithedConfig (line 38) | class SmithedConfig(PluginOptions):
  class PMCConfig (line 41) | class PMCConfig(PluginOptions):
  class ManifestConfig (line 44) | class ManifestConfig(PluginOptions, extra="ignore"):
  class ManifestModuleModel (line 58) | class ManifestModuleModel(BaseModel):
  class ManifestCacheModel (line 80) | class ManifestCacheModel(BaseModel):
  class ManifestFileModel (line 88) | class ManifestFileModel(BaseModel):
  function create (line 96) | def create(ctx: Context):
  function update_patch (line 165) | def update_patch(ctx: Context):
  function write_meta (line 220) | def write_meta(ctx: Context):
  function write_credits (line 233) | def write_credits(ctx: Context):
  function write_updates (line 269) | def write_updates(ctx: Context):
  function write_update_function (line 276) | def write_update_function(init: Optional[Function], ctx: Context):
  function repro_structure_to_bytes (line 310) | def repro_structure_to_bytes(content: StructureFileData) -> bytes:

FILE: gm4/plugins/module.py
  function default_pack_icon (line 4) | def default_pack_icon(ctx: Context):
  function gm4_root_advancement (line 9) | def gm4_root_advancement(ctx: Context):

FILE: gm4/plugins/output.py
  function beet_default (line 21) | def beet_default(ctx: Context):
  function resource_pack (line 34) | def resource_pack(ctx: Context):
  function release_resource_pack (line 44) | def release_resource_pack(ctx: Context):
  function test (line 58) | def test(ctx: Context):
  function release (line 72) | def release(ctx: Context):
  function publish_modrinth (line 119) | def publish_modrinth(ctx: Context, config: ManifestConfig, release_dir: ...
  function publish_smithed (line 198) | def publish_smithed(ctx: Context, config: ManifestConfig, file_name: str):
  function clear_release (line 296) | def clear_release(ctx: Context):
  function readmes (line 308) | def readmes(ctx: Context):

FILE: gm4/plugins/player_heads.py
  function beet_default (line 32) | def beet_default(ctx: Context):
  class Skin (line 44) | class Skin(PngFile):
  class SkinNbtTransformer (line 51) | class SkinNbtTransformer(MutatingReducer):
    method __init__ (line 53) | def __init__(self, ctx: Context):
    method json_substitutions (line 60) | def json_substitutions(self, node: AstJsonObjectEntry, **kwargs: Any):
    method cmd_substitutions_nbt (line 78) | def cmd_substitutions_nbt(self, node: AstNbtCompoundEntry, **kwargs: A...
    method retrieve_texture (line 95) | def retrieve_texture(self, skin_name: str, **kwargs: Any) -> tuple[str...
    method mineskin_upload (line 128) | def mineskin_upload(self, skin: Skin, filename: str) -> tuple[str|None...
    method log_unused_textures (line 169) | def log_unused_textures(self):
    method cache_nonnative_references (line 175) | def cache_nonnative_references(self):
    method output_skin_cache (line 182) | def output_skin_cache(self):
  class MineskinAuthManager (line 185) | class MineskinAuthManager():
    method __init__ (line 187) | def __init__(self, ctx: Context):

FILE: gm4/plugins/prefabs.py
  class PrefabConfig (line 9) | class PrefabConfig(PluginOptions, extra="ignore"):
  function beet_default (line 12) | def beet_default(ctx: Context):
  function module_asset_rename (line 20) | def module_asset_rename(ctx: Context, opts: PrefabConfig):
  function structure_deep_rename (line 25) | def structure_deep_rename(ctx: Context, find_namespace: str, repl_namesp...

FILE: gm4/plugins/readme_generator.py
  function beet_default (line 8) | def beet_default(ctx: Context, opts: ManifestConfig):
  function libraries (line 193) | def libraries(ctx: Context):

FILE: gm4/plugins/resource_pack.py
  class ModelData (line 51) | class ModelData(BaseModel):
    method default_model (line 63) | def default_model(cls, model: Any, info: ValidationInfo) -> dict[str, ...
    method template_validator (line 78) | def template_validator(cls, template: Any) -> TemplateOptions:
    method transforms_validator (line 83) | def transforms_validator(cls, transforms: Any) -> list[TransformOptions]:
    method default_texture (line 93) | def default_texture(cls, textures: MapOption[str], info: ValidationInf...
    method add_namespace (line 105) | def add_namespace(self, namespace: str) -> 'ModelData':
  class NestedModelData (line 121) | class NestedModelData(BaseModel):
    method collapse_broadcast (line 132) | def collapse_broadcast(self) -> list['NestedModelData']:
  class GuiFont (line 146) | class GuiFont(BaseModel):
    method container_validator (line 154) | def container_validator(cls, container: Any) -> ContainerGuiOptions:
    method add_namespace (line 157) | def add_namespace(self, namespace: str) -> 'GuiFont':
  class FlatResourcePackOptions (line 165) | class FlatResourcePackOptions(BaseModel):
    method add_namespace (line 170) | def add_namespace(self, namespace:str):
    method template_mutations (line 174) | def template_mutations(self):
  class ResourcePackOptions (line 178) | class ResourcePackOptions(PluginOptions, extra="ignore"):
    method process_inheritance (line 182) | def process_inheritance(self) -> FlatResourcePackOptions:
  class TranslationLinterOptions (line 199) | class TranslationLinterOptions(PluginOptions, extra="ignore"):
  function downcast (line 203) | def downcast[T](base: type[T], discriminator: str, x: Any) -> Any:
  class TemplateOptions (line 211) | class TemplateOptions(BaseModel, extra="allow"):
    method __init_subclass__ (line 216) | def __init_subclass__(cls) -> None:
    method generate_model (line 219) | def generate_model(self, config: ModelData, models_container: Namespac...
    method create_models (line 230) | def create_models(self, config: ModelData, models_container: Namespace...
    method get_item_def_entry (line 234) | def get_item_def_entry(self, config: ModelData, item: str) -> None|Jso...
    method add_namespace (line 238) | def add_namespace(self, namespace: str):
    method mutate_config (line 242) | def mutate_config(self, config: ModelData):
  class TransformOptions (line 246) | class TransformOptions(BaseModel, extra="allow"):
    method __init_subclass__ (line 249) | def __init_subclass__(cls) -> None:
    method apply_transform (line 252) | def apply_transform(self, model: Model) -> None:
  class ContainerGuiOptions (line 256) | class ContainerGuiOptions(BaseModel, extra="allow"):
    method __init_subclass__ (line 259) | def __init_subclass__(cls) -> None:
    method process (line 262) | def process(self, config: GuiFont, counter_cache: Cache) -> tuple[str,...
    method next_unicode (line 266) | def next_unicode(self, counter_cache: Cache) -> str:
  function beet_default (line 277) | def beet_default(ctx: Context):
  function build (line 297) | def build(ctx: Context):
  function setup (line 307) | def setup(ctx: Context):
  function merge_policy (line 328) | def merge_policy(ctx: Context):
  function link_resource_pack (line 331) | def link_resource_pack(ctx: Context):
  class GM4ResourcePack (line 344) | class GM4ResourcePack:
    method __init__ (line 347) | def __init__(self, ctx: Context):
    method opts (line 354) | def opts(self) -> FlatResourcePackOptions:
    method resolve_config (line 357) | def resolve_config(self):
    method generate_item_definitions (line 365) | def generate_item_definitions(self):
    method generate_model_files (line 407) | def generate_model_files(self):
    method lint_model_textures (line 413) | def lint_model_textures(self):
    method generate_gui_fonts (line 423) | def generate_gui_fonts(self):
  function item_definition_merging (line 433) | def item_definition_merging(pack: ResourcePack, path: str, current: Item...
  class TranslationLinter (line 453) | class TranslationLinter(Reducer):
    method __init__ (line 455) | def __init__(self, ctx: Context):
    method missing_en_us_translations (line 473) | def missing_en_us_translations(self, node: Union[AstNbtCompound, AstJs...
    method check_key (line 505) | def check_key(self, transl_key: str, node: Any):
    method setup_translation_lookups (line 511) | def setup_translation_lookups(self):
    method get_guidebook_translations (line 531) | def get_guidebook_translations(self) -> set[str]:
    method warn_unused_translations (line 537) | def warn_unused_translations(self):
    method apply_babelbox_backfill (line 542) | def apply_babelbox_backfill(self):
  function block_incomplete_translation (line 575) | def block_incomplete_translation(record: logging.LogRecord):
  function limit_mecha_diagnostics (line 580) | def limit_mecha_diagnostics(record: logging.LogRecord):
  function ensure_single_model_config (line 590) | def ensure_single_model_config(template_name: str, config: ModelData) ->...
  class BlankTemplate (line 596) | class BlankTemplate(TemplateOptions):
    method create_models (line 599) | def create_models(self, config: ModelData, models_container: Namespace...
  class GeneratedTemplate (line 612) | class GeneratedTemplate(TemplateOptions):
    method create_models (line 615) | def create_models(self, config: ModelData, models_container: Namespace...
  class GeneratedOverlayTemplate (line 631) | class GeneratedOverlayTemplate(TemplateOptions):
    method create_models (line 634) | def create_models(self, config: ModelData, models_container: Namespace...
  class HandheldTemplate (line 646) | class HandheldTemplate(TemplateOptions):
    method create_models (line 649) | def create_models(self, config: ModelData, models_container: Namespace...
  class VanillaTemplate (line 659) | class VanillaTemplate(TemplateOptions):
    method create_models (line 665) | def create_models(self, config: ModelData, models_container: Namespace...
    method get_item_def_entry (line 699) | def get_item_def_entry(self, config: ModelData, item: str):
  class AdvancementIconTemplate (line 702) | class AdvancementIconTemplate(VanillaTemplate, TemplateOptions): # TODO ...
    method create_models (line 709) | def create_models(self, config: ModelData, models_container: Namespace...
    method get_item_def_entry (line 725) | def get_item_def_entry(self, config: ModelData, item: str):
    method add_namespace (line 743) | def add_namespace(self, namespace: str):
  class BlockTemplate (line 746) | class BlockTemplate(TemplateOptions):
    method create_models (line 750) | def create_models(self, config: ModelData, models_container: Namespace...
  class ConditionTemplate (line 766) | class ConditionTemplate(BlankTemplate, TemplateOptions):
    method get_item_def_entry (line 773) | def get_item_def_entry(self, config: ModelData, item: str) -> JsonType:
    method add_namespace (line 787) | def add_namespace(self, namespace: str):
  class ItemDisplayModel (line 791) | class ItemDisplayModel(TransformOptions):
    method apply_transform (line 800) | def apply_transform(self, model: Model):
  class LegacyMachineArmorStand (line 808) | class LegacyMachineArmorStand(BlockTemplate, TemplateOptions):
  class CenteredContainerGui (line 822) | class CenteredContainerGui(ContainerGuiOptions):
    method process (line 825) | def process(self, config: GuiFont, counter_cache: Cache) -> tuple[str,...
  class LeftAlignContainerGui (line 845) | class LeftAlignContainerGui(ContainerGuiOptions):
    method process (line 848) | def process(self, config: GuiFont, counter_cache: Cache) -> tuple[str,...
  class HopperContainerGui (line 868) | class HopperContainerGui(LeftAlignContainerGui, ContainerGuiOptions):
  class DropperContainerGui (line 871) | class DropperContainerGui(CenteredContainerGui, ContainerGuiOptions):

FILE: gm4/plugins/test.py
  function load_tests (line 6) | def load_tests(ctx: Context):
  class TestFile (line 10) | class TestFile(TextFile):
  function strip_tests (line 17) | def strip_tests(ctx: Context):
  function skip_mecha_lint (line 24) | def skip_mecha_lint(ctx: Context):

FILE: gm4/plugins/upgrade_paths.py
  class UpgradePathsConfig (line 5) | class UpgradePathsConfig(PluginOptions, extra="ignore"):
  function beet_default (line 9) | def beet_default(ctx: Context, opts: UpgradePathsConfig):
  function lib (line 35) | def lib(ctx: Context):

FILE: gm4/plugins/versioning.py
  class VersionInjectionConfig (line 9) | class VersionInjectionConfig(PluginOptions):
  class VersioningConfig (line 13) | class VersioningConfig(PluginOptions, extra="ignore"):
  function modules (line 19) | def modules(ctx: Context, opts: VersioningConfig):
  function libraries (line 90) | def libraries(ctx: Context, opts: VersioningConfig):
  function base (line 192) | def base(ctx: Context, opts: VersioningConfig):
  function versioned_namespace (line 216) | def versioned_namespace(ctx: Context, version: Version):
  function dependency_load_tags (line 233) | def dependency_load_tags(ctx: Context, dependencies: dict[str, str]) -> ...
  function versioned_advancements (line 251) | def versioned_advancements(ctx: Context, ver: Version, targets: list[str...
  function warn_on_future_version (line 282) | def warn_on_future_version(ctx: Context, dep_id: str, ver: Version):
  function isolated_library (line 296) | def isolated_library(ctx: Context):

FILE: gm4/plugins/worker.py
  function store_project (line 8) | def store_project(ctx: Context):
  function freeze_last_stored (line 28) | def freeze_last_stored(ctx: Context):
  function clear_on_exit (line 42) | def clear_on_exit(ctx: Context):
  function retrieve_and_run (line 48) | def retrieve_and_run(ctx: Context):
  function retrieve_and_merge (line 60) | def retrieve_and_merge(ctx: Context):
  function bridge (line 80) | def bridge(connection: Connection[ProjectPacket|int, list[ProjectPacket]]):

FILE: gm4/plugins/write_mcmeta.py
  function beet_default (line 5) | def beet_default(ctx: Context):

FILE: gm4/utils.py
  function run (line 15) | def run(cmd: list[str]|str) -> str:
  function X_int (line 19) | def X_int(val: str) -> int | None:
  function add_namespace (line 23) | def add_namespace(val: str, namespace: str) -> str:
  class Version (line 31) | class Version():
    method __init__ (line 37) | def __init__(self, input: str):
    method __str__ (line 40) | def __str__(self):
    method int_rep (line 45) | def int_rep(self) -> int:
    method __eq__ (line 51) | def __eq__(self, other: object) -> bool:
    method __lt__ (line 58) | def __lt__(self, other: object) -> bool:
    method replace (line 74) | def replace(self, **changes: Any):
  function nested_get (line 79) | def nested_get(d: dict[str, Any], key: str) -> list[Any]:
  class NoneAttribute (line 94) | class NoneAttribute():
    method __getattribute__ (line 96) | def __getattribute__(self, __name: str) -> None:
  class MapOption (line 99) | class MapOption(RootModel[list[T]|dict[str,T]], Generic[T]):
    method entries (line 104) | def entries(self) -> list[T]:
    method __getitem__ (line 109) | def __getitem__(self, key: str|int) -> T:
    method items (line 116) | def items(self):
    method validate_root (line 123) | def validate_root(cls, value: list[T]|dict[str,T]|T) -> list[T]|dict[s...
  class CSVCell (line 134) | class CSVCell(str):
    method as_integer (line 143) | def as_integer(self) -> int:
    method as_bool (line 167) | def as_bool(self) -> bool:
    method to_color_code (line 192) | def to_color_code(self, encoding: str) -> 'CSVCell':
  class CSVRow (line 208) | class CSVRow():
    method __init__ (line 213) | def __init__(self, column_names: List[str] | None = None, data: List[C...
    method __bool__ (line 232) | def __bool__(self):
    method __getitem__ (line 238) | def __getitem__(self, key: str):
    method __repr__ (line 245) | def __repr__(self) -> str:
    method get (line 248) | def get(self, key: str, default: str | Any) -> CSVCell:
  class CSV (line 260) | class CSV():
    method from_file (line 271) | def from_file(path: Path) -> 'CSV':
    method __init__ (line 281) | def __init__(self, column_names: List[str], rows: List[List[CSVCell]])...
    method __iter__ (line 289) | def __iter__(self):
    method __next__ (line 295) | def __next__(self) -> CSVRow:
    method __getitem__ (line 302) | def __getitem__(self, row_index: int):
    method __repr__ (line 305) | def __repr__(self):
    method find_row (line 308) | def find_row(self, value: str, by_column: str | int = 0) -> CSVRow:

FILE: gm4_apple_trees/data/gm4_apple_trees/structure/sapling_growth/jigsaw_structure_convert.py
  function jigsaw_convert (line 8) | def jigsaw_convert(structure_file):

FILE: gm4_apple_trees/data/gm4_apple_trees/structure/sapling_growth/structure_normalize_palette.py
  function normalize_palette (line 8) | def normalize_palette(structure):

FILE: gm4_balloon_animals/generate.py
  function beet_default (line 9) | def beet_default(ctx: Context):

FILE: gm4_disassemblers/generate_disassembly.py
  function beet_default (line 66) | def beet_default(ctx: Context):

FILE: gm4_double_doors/generate.py
  class StringStructure (line 14) | class StringStructure(TextFile):
    method serialize_to_structure (line 19) | def serialize_to_structure(self) -> Structure:
  function register_snbt_files (line 23) | def register_snbt_files(ctx: Context):
  function read_sound_id_from_csv (line 28) | def read_sound_id_from_csv():
  function resolve_blocktag (line 34) | def resolve_blocktag(ctx: Context, minecraft_version: str, tag_name: str...
  class DoorSound (line 56) | class DoorSound():
  function beet_default (line 61) | def beet_default(ctx: Context):

FILE: gm4_end_fishing/generate_optifine.py
  function beet_default (line 5) | def beet_default(ctx: Context):

FILE: gm4_end_fishing/register_model_data.py
  function beet_default (line 9) | def beet_default(ctx: Context):

FILE: gm4_guidebook/generate_guidebooks.py
  class Section (line 62) | class Section(BaseModel):
  class Icon (line 71) | class Icon(BaseModel):
  class Book (line 76) | class Book(BaseModel):
  class GuidebookPages (line 89) | class GuidebookPages(JsonFileBase[Book]):
  function load_page_data (line 97) | def load_page_data(ctx: Context):
  function beet_default (line 104) | def beet_default(ctx: Context):
  function generate_files (line 120) | def generate_files(ctx:Context, d: DataPack, overlay: bool = False):
  function get_pos_hash (line 188) | def get_pos_hash(module_id: str):
  function generate_book_header (line 206) | def generate_book_header(book: Book) -> list[dict[Any, Any]|str]:
  function generate_lectern_header (line 499) | def generate_lectern_header(book: Book) -> list[dict[Any, Any]|str]:
  function item_to_display (line 790) | def item_to_display(item: str, components: dict[str, Any] | None, ctx: C...
  function get_item_from_tag (line 887) | def get_item_from_tag(ctx: Context, item_tag: str, vanilla: Vanilla, sea...
  function generate_recipe_display (line 923) | def generate_recipe_display(recipe: str, ctx: Context) -> list[TextCompo...
  function char_advance (line 1105) | def char_advance(char: str) -> int:
  function split_into_lines (line 1119) | def split_into_lines(str: str) -> list[int]:
  function get_toc_line (line 1164) | def get_toc_line(book_dict: Book) -> str:
  function populate_insert (line 1173) | def populate_insert(element: dict[Any, Any], book: Book, ctx: Context, l...
  function stringify_page (line 1202) | def stringify_page(page: TextComponent, book: Book, ctx: Context, lecter...
  function generate_prereq (line 1225) | def generate_prereq(prereq: str, module: str):
  function generate_advancement (line 1255) | def generate_advancement(book: Book, section_index: int) -> Advancement ...
  function root_advancement (line 1353) | def root_advancement() -> Advancement:
  function generate_display_advancement (line 1385) | def generate_display_advancement(book: Book, project_id: str) -> Advance...
  function generate_reward_function (line 1434) | def generate_reward_function(section: Section, book_id: str, book_name: ...
  function generate_unlock_function (line 1503) | def generate_unlock_function(section: Section, book_id: str, page_index:...
  function generate_page_storage (line 1544) | def generate_page_storage(book: Book, ctx: Context) -> dict[str, Any]:
  function generate_setup_storage_function (line 1599) | def generate_setup_storage_function(book: Book, ctx: Context, overlay: b...
  function generate_add_toc_line_function (line 1618) | def generate_add_toc_line_function(book: Book, overlay: bool = False) ->...
  function generate_summon_marker_function (line 1643) | def generate_summon_marker_function(book: Book, overlay: bool = False) -...
  function generate_init_player_db_function (line 1664) | def generate_init_player_db_function(book: Book, overlay: bool = False) ...
  function generate_toast_model (line 1696) | def generate_toast_model(book: Book, ctx: Context) -> Model:
  function clamp (line 1750) | def clamp(x: int|float):
  function get_texture_color (line 1758) | def get_texture_color(texture: PngFile|None) -> str:
  function intuit_item_texture (line 1797) | def intuit_item_texture(item_id: str, vanilla: Vanilla) -> PngFile|None:

FILE: gm4_guidebook/legacy_item_sheet.py
  function beet_default (line 3) | def beet_default(ctx: Context):

FILE: gm4_lavish_livestock/generate.py
  function beet_default (line 7) | def beet_default(ctx: Context):

FILE: gm4_liquid_tanks/bolt_liquid_wrappers.py
  function beet_default (line 7) | def beet_default(ctx: Context):

FILE: gm4_liquid_tanks/mcmeta_stacksize.py
  function retrieve_stacksizes (line 7) | def retrieve_stacksizes(cache: ProjectCache, version: str) -> tuple[list...

FILE: gm4_liquid_tanks/override_formatting.py
  function beet_default (line 4) | def beet_default(ctx: Context):

FILE: gm4_metallurgy/shamir_model_template.py
  class ShamirTemplate (line 61) | class ShamirTemplate(TemplateOptions):
    method create_models (line 74) | def create_models(self, config: ModelData, models_container: Namespace...
    method get_item_def_entry (line 183) | def get_item_def_entry(self, config: ModelData, item: str) -> None|Jso...
    method mutate_config (line 187) | def mutate_config(self, config: ModelData):
  function optifine_armor_properties_merging (line 196) | def optifine_armor_properties_merging(pack: ResourcePack, path: str, cur...
  function beet_default (line 220) | def beet_default(ctx: Context):
  function merge_policy (line 228) | def merge_policy(ctx: Context):

FILE: gm4_orb_of_ankou/generate_pneumas.py
  function beet_default (line 11) | def beet_default(ctx: Context):
  function generate_corripio (line 19) | def generate_corripio(ctx: Context):
  function generate_pneuma_predicates (line 95) | def generate_pneuma_predicates(ctx: Context):
  function looting_chance (line 116) | def looting_chance(base: float,lvl: int) -> float:
  function generate_soul_essence_loot_tables (line 120) | def generate_soul_essence_loot_tables(ctx: Context):
  function read_csv (line 177) | def read_csv():

FILE: gm4_orb_of_ankou/pneuma_model_template.py
  function beet_default (line 6) | def beet_default(ctx: Context):
  class PneumaTemplate (line 9) | class PneumaTemplate(TemplateOptions):
    method create_models (line 13) | def create_models(self, config: ModelData, models_container: Namespace...

FILE: gm4_reeling_rods/generate_files.py
  function beet_default (line 7) | def beet_default(ctx: Context):
  function create_lookup_file (line 25) | def create_lookup_file(ctx: Context):

FILE: gm4_smelteries/ore_display.py
  class OreDisplayTemplate (line 5) | class OreDisplayTemplate(TemplateOptions):
    method create_models (line 18) | def create_models(self, config: ModelData, models_container: Namespace...
  class FurnaceContainerGui (line 31) | class FurnaceContainerGui(CenteredContainerGui, ContainerGuiOptions):
  function beet_default (line 34) | def beet_default(ctx: Context):

FILE: gm4_standard_crafting/generate_recipes.py
  function beet_default (line 7) | def beet_default(ctx: Context):

FILE: gm4_towering_trees/generate.py
  function read_json (line 8) | def read_json(path: Path) -> CSV:
  function beet_default (line 16) | def beet_default(ctx: Context):
  function generate_tree_files (line 23) | def generate_tree_files(ctx: Context, tree_data: CSV):

FILE: gm4_zauber_cauldrons/generate.py
  function read_json (line 10) | def read_json(path: Path) -> Any:
  function beet_default (line 18) | def beet_default(ctx: Context):
  function generate_armor_recipes (line 54) | def generate_armor_recipes(ctx: Context, armor_flavors: CSV, armor_piece...
  function generate_crystal_recipes (line 111) | def generate_crystal_recipes(ctx: Context, crystal_effects: CSV, crystal...
  function generate_potion_recipes (line 140) | def generate_potion_recipes(ctx: Context, potion_effects: CSV, potion_bo...
  function generate_magicol_recipes (line 183) | def generate_magicol_recipes(ctx: Context, weather_modifiers: CSV, magic...
  function generate_zauber_biomes (line 230) | def generate_zauber_biomes(ctx: Context, weather_modifiers: CSV, magicol...
  function generate_flower_features (line 282) | def generate_flower_features(ctx: Context, flower_types: CSV):

FILE: lib_hooked_entity/generate.py
  function beet_default (line 3) | def beet_default(ctx: Context):

FILE: resource_pack/dev_description.py
  function beet_default (line 3) | def beet_default(ctx: Context):

FILE: resource_pack/dev_warning.py
  function beet_default (line 6) | def beet_default(ctx: Context):
Condensed preview — 6258 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (7,283K chars).
[
  {
    "path": ".github/FUNDING.yml",
    "chars": 66,
    "preview": "# These are supported funding model platforms\n\npatreon: gamemode4\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/bug_report.md",
    "chars": 718,
    "preview": "---\nname: Bug report\nabout: Report broken or unintended behavior\ntitle: ''\nlabels: bug, needs investigation\nassignees: '"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/feat_request.md",
    "chars": 334,
    "preview": "---\nname: Feature Request\nabout: Request a feature / change to a data pack\ntitle: ''\nlabels: feature-update\nassignees: '"
  },
  {
    "path": ".github/workflows/main.yml",
    "chars": 4737,
    "preview": "name: Build modules\n\non:\n  push:\n    branches: [ master, ver/* ]\n  pull_request:\n  workflow_dispatch:\n\nenv:\n  VERSION: '"
  },
  {
    "path": ".gitignore",
    "chars": 183,
    "preview": "### macOS ###\n.DS_Store\n.AppleDouble\n.LSOverride\n\n### Libre Office ###\n.~lock.*\n\n### Python ###\n__pycache__/\n*.py[cod]\n*"
  },
  {
    "path": ".python-version",
    "chars": 5,
    "preview": "3.14\n"
  },
  {
    "path": ".vscode/settings.json",
    "chars": 72,
    "preview": "{\n\t\"files.insertFinalNewline\": true,\n\t\"files.trimFinalNewlines\": true\n}\n"
  },
  {
    "path": ".vscode/tasks.json",
    "chars": 987,
    "preview": "{\n\t// See https://go.microsoft.com/fwlink/?LinkId=733558\n\t// for the documentation about the tasks.json format\n\t\"version"
  },
  {
    "path": "LICENSE.md",
    "chars": 35149,
    "preview": "                    GNU GENERAL PUBLIC LICENSE\n                       Version 3, 29 June 2007\n\n Copyright (C) 2007 Free "
  },
  {
    "path": "README.md",
    "chars": 936,
    "preview": "# Gamemode 4 Data Packs\n> Gamemode 4 is an open-source data pack collection designed to augment the vanilla survival exp"
  },
  {
    "path": "base/assets/gm4/font/container_gui.json",
    "chars": 176,
    "preview": "{\n    \"providers\": [\n        {\n            \"type\": \"space\",\n            \"advances\": {\n                \"\\uf824\": 5,\n     "
  },
  {
    "path": "base/assets/gm4/font/default.json",
    "chars": 120,
    "preview": "{\n    \"providers\": [\n        {\n            \"type\": \"reference\",\n            \"id\": \"minecraft:default\"\n        }\n    ]\n}\n"
  },
  {
    "path": "base/assets/gm4/font/half_invert.json",
    "chars": 75368,
    "preview": "{\n    \"providers\": [\n        {\n            \"type\": \"space\",\n            \"advances\": {\n                \"0\": -3,\n         "
  },
  {
    "path": "base/assets/gm4/font/offscreen.json",
    "chars": 71966,
    "preview": "{\n    \"providers\": [\n        {\n            \"type\": \"space\",\n            \"advances\": {\n                \"0\": 6,\n          "
  },
  {
    "path": "base/assets/gm4/lang/en_us.json",
    "chars": 29,
    "preview": "{\n    \"gm4.second\": \"%2$s\"\n}\n"
  },
  {
    "path": "base/assets/gm4/models/block/cube_with_plate.json",
    "chars": 2333,
    "preview": "{\n  \"parent\": \"minecraft:block/cube\",\n  \"elements\": [\n    {\n      \"name\": \"plate\",\n      \"from\": [\n        1.0,\n        "
  },
  {
    "path": "base/assets/gm4/models/block/plate.json",
    "chars": 1149,
    "preview": "{\n  \"elements\": [\n    {\n      \"name\": \"plate\",\n      \"from\": [\n        1.0,\n        16.0,\n        1.0\n      ],\n      \"to"
  },
  {
    "path": "base/assets/minecraft/atlases/items.json",
    "chars": 638,
    "preview": "{\n    \"sources\": [\n        {\n            \"type\": \"directory\",\n            \"source\": \"gui\",\n            \"prefix\": \"gui/\"\n"
  },
  {
    "path": "base/assets/minecraft/optifine/emissive.properties",
    "chars": 18,
    "preview": "suffix.emissive=_e"
  },
  {
    "path": "base/assets/translations.csv",
    "chars": 108,
    "preview": "key,en_us\nadvancement.gm4.root.title,Gamemode 4\nadvancement.gm4.root.description,Semi-funny blurb about GM4\n"
  },
  {
    "path": "base/beet.yaml",
    "chars": 582,
    "preview": "version: 1.9.0\nid: gm4\n\ndata_pack:\n  load:\n    data: data\n\nresource_pack:\n  load:\n    assets: assets\n\nrequire:\n  - gm4.p"
  },
  {
    "path": "base/data/gm4/advancement/intro_song/invisible_root.json",
    "chars": 103,
    "preview": "{\n    \"criteria\": {\n      \"requirement\": {\n        \"trigger\": \"minecraft:impossible\"\n      }\n    }\n  }\n"
  },
  {
    "path": "base/data/gm4/advancement/intro_song/play_song.json",
    "chars": 874,
    "preview": "{\n    \"criteria\": {\n      \"requirement\": {\n        \"trigger\": \"minecraft:location\",\n        \"conditions\": {\n          \"p"
  },
  {
    "path": "base/data/gm4/advancement/intro_song/welcome_toast.json",
    "chars": 1037,
    "preview": "{\n  \"display\": {\n    \"icon\": {\n      \"id\": \"minecraft:command_block\",\n      \"components\": {\n        \"minecraft:custom_mo"
  },
  {
    "path": "base/data/gm4/advancement/upgrade_paths/changed_dimension.json",
    "chars": 1018,
    "preview": "{\n    \"criteria\": {\n        \"requirement\": {\n            \"trigger\": \"minecraft:changed_dimension\",\n            \"conditio"
  },
  {
    "path": "base/data/gm4/advancement/upgrade_paths/join_game.json",
    "chars": 1332,
    "preview": "{\n    \"criteria\": {\n        \"requirement\": {\n            \"trigger\": \"minecraft:tick\",\n            \"conditions\": {\n      "
  },
  {
    "path": "base/data/gm4/function/conflict_logs/traverse.mcfunction",
    "chars": 1341,
    "preview": "execute store success score #not_match gm4_data run data modify storage gm4:log traverse_versions[0].id set from storage"
  },
  {
    "path": "base/data/gm4/function/conflict_logs/version_conflict_start.mcfunction",
    "chars": 552,
    "preview": "data modify storage gm4:log traverse_versions set from storage gm4:log versions\nfunction gm4:conflict_logs/traverse\n\nexe"
  },
  {
    "path": "base/data/gm4/function/intro_song/init.mcfunction",
    "chars": 501,
    "preview": "# Scoreboard init, non-standard init so it is here instead of init\nscoreboard objectives add gm4_intro_song dummy\nscoreb"
  },
  {
    "path": "base/data/gm4/function/intro_song/init_song.mcfunction",
    "chars": 287,
    "preview": "# Setup all online players\n# run from base install function, gm4:load, or first join advancement, gm4:intro_song/play_so"
  },
  {
    "path": "base/data/gm4/function/intro_song/main.mcfunction",
    "chars": 315,
    "preview": "# plays the intro song to all players online during first install of Gamemode 4\n\nexecute as @a[tag=gm4_intro_playing] at"
  },
  {
    "path": "base/data/gm4/function/intro_song/notes/0.mcfunction",
    "chars": 577,
    "preview": "playsound minecraft:block.note_block.guitar record @s ^0 ^ ^ 1 0.749154 1\nplaysound minecraft:block.note_block.bass reco"
  },
  {
    "path": "base/data/gm4/function/intro_song/notes/10.mcfunction",
    "chars": 276,
    "preview": "playsound minecraft:block.note_block.guitar record @s ^0 ^ ^ 1 1.122462 1\nplaysound minecraft:block.note_block.bass reco"
  },
  {
    "path": "base/data/gm4/function/intro_song/notes/12.mcfunction",
    "chars": 578,
    "preview": "playsound minecraft:block.note_block.guitar record @s ^0 ^ ^ 1 1.122462 1\nplaysound minecraft:block.note_block.bass reco"
  },
  {
    "path": "base/data/gm4/function/intro_song/notes/14.mcfunction",
    "chars": 276,
    "preview": "playsound minecraft:block.note_block.guitar record @s ^0 ^ ^ 1 1.122462 1\nplaysound minecraft:block.note_block.bass reco"
  },
  {
    "path": "base/data/gm4/function/intro_song/notes/16.mcfunction",
    "chars": 276,
    "preview": "playsound minecraft:block.note_block.guitar record @s ^0 ^ ^ 1 0.749154 1\nplaysound minecraft:block.note_block.bass reco"
  },
  {
    "path": "base/data/gm4/function/intro_song/notes/20.mcfunction",
    "chars": 578,
    "preview": "playsound minecraft:block.note_block.guitar record @s ^0 ^ ^ 1 1.498307 1\nplaysound minecraft:block.note_block.bass reco"
  },
  {
    "path": "base/data/gm4/function/intro_song/notes/23.mcfunction",
    "chars": 276,
    "preview": "playsound minecraft:block.note_block.guitar record @s ^0 ^ ^ 1 1.017480 1\nplaysound minecraft:block.note_block.bass reco"
  },
  {
    "path": "base/data/gm4/function/intro_song/notes/24.mcfunction",
    "chars": 578,
    "preview": "playsound minecraft:block.note_block.guitar record @s ^0 ^ ^ 1 1.059463 1\nplaysound minecraft:block.note_block.bass reco"
  },
  {
    "path": "base/data/gm4/function/intro_song/notes/26.mcfunction",
    "chars": 276,
    "preview": "playsound minecraft:block.note_block.guitar record @s ^0 ^ ^ 1 1.122462 1\nplaysound minecraft:block.note_block.bass reco"
  },
  {
    "path": "base/data/gm4/function/intro_song/notes/28.mcfunction",
    "chars": 578,
    "preview": "playsound minecraft:block.note_block.guitar record @s ^0 ^ ^ 1 1.122462 1\nplaysound minecraft:block.note_block.bass reco"
  },
  {
    "path": "base/data/gm4/function/intro_song/notes/30.mcfunction",
    "chars": 276,
    "preview": "playsound minecraft:block.note_block.guitar record @s ^0 ^ ^ 1 1.122462 1\nplaysound minecraft:block.note_block.bass reco"
  },
  {
    "path": "base/data/gm4/function/intro_song/notes/32.mcfunction",
    "chars": 959,
    "preview": "playsound minecraft:block.note_block.guitar record @s ^0 ^ ^ 0.70 0.749154 1\nplaysound minecraft:block.note_block.bass r"
  },
  {
    "path": "base/data/gm4/function/intro_song/notes/35.mcfunction",
    "chars": 198,
    "preview": "playsound minecraft:block.note_block.xylophone record @s ^0 ^ ^ 1 0.943874 1\nplaysound minecraft:block.note_block.harp r"
  },
  {
    "path": "base/data/gm4/function/intro_song/notes/36.mcfunction",
    "chars": 431,
    "preview": "playsound minecraft:block.note_block.guitar record @s ^0 ^ ^ 0.70 1.498307 1\nplaysound minecraft:block.note_block.bass r"
  },
  {
    "path": "base/data/gm4/function/intro_song/notes/38.mcfunction",
    "chars": 345,
    "preview": "playsound minecraft:block.note_block.xylophone record @s ^0 ^ ^ 1 1.122462 1\nplaysound minecraft:block.note_block.harp r"
  },
  {
    "path": "base/data/gm4/function/intro_song/notes/39.mcfunction",
    "chars": 431,
    "preview": "playsound minecraft:block.note_block.guitar record @s ^0 ^ ^ 0.70 1.017480 1\nplaysound minecraft:block.note_block.bass r"
  },
  {
    "path": "base/data/gm4/function/intro_song/notes/4.mcfunction",
    "chars": 275,
    "preview": "playsound minecraft:block.note_block.guitar record @s ^0 ^ ^ 1 1.498307 1\nplaysound minecraft:block.note_block.bass reco"
  },
  {
    "path": "base/data/gm4/function/intro_song/notes/40.mcfunction",
    "chars": 279,
    "preview": "playsound minecraft:block.note_block.guitar record @s ^0 ^ ^ 0.70 1.059463 1\nplaysound minecraft:block.note_block.bass r"
  },
  {
    "path": "base/data/gm4/function/intro_song/notes/41.mcfunction",
    "chars": 362,
    "preview": "playsound minecraft:block.note_block.xylophone record @s ^0 ^ ^ 0.50 0.529732 1\nplaysound minecraft:block.note_block.flu"
  },
  {
    "path": "base/data/gm4/function/intro_song/notes/42.mcfunction",
    "chars": 595,
    "preview": "playsound minecraft:block.note_block.guitar record @s ^0 ^ ^ 0.70 1.122462 1\nplaysound minecraft:block.note_block.bass r"
  },
  {
    "path": "base/data/gm4/function/intro_song/notes/43.mcfunction",
    "chars": 362,
    "preview": "playsound minecraft:block.note_block.xylophone record @s ^0 ^ ^ 0.50 0.529732 1\nplaysound minecraft:block.note_block.flu"
  },
  {
    "path": "base/data/gm4/function/intro_song/notes/44.mcfunction",
    "chars": 1044,
    "preview": "playsound minecraft:block.note_block.guitar record @s ^0 ^ ^ 0.70 1.122462 1\nplaysound minecraft:block.note_block.bass r"
  },
  {
    "path": "base/data/gm4/function/intro_song/notes/45.mcfunction",
    "chars": 362,
    "preview": "playsound minecraft:block.note_block.xylophone record @s ^0 ^ ^ 0.50 0.529732 1\nplaysound minecraft:block.note_block.flu"
  },
  {
    "path": "base/data/gm4/function/intro_song/notes/46.mcfunction",
    "chars": 515,
    "preview": "playsound minecraft:block.note_block.guitar record @s ^0 ^ ^ 0.70 1.122462 1\nplaysound minecraft:block.note_block.bass r"
  },
  {
    "path": "base/data/gm4/function/intro_song/notes/47.mcfunction",
    "chars": 282,
    "preview": "playsound minecraft:block.note_block.flute record @s ^0 ^ ^ 0.45 0.840896 1\nplaysound minecraft:block.note_block.harp re"
  },
  {
    "path": "base/data/gm4/function/intro_song/notes/48.mcfunction",
    "chars": 654,
    "preview": "playsound minecraft:block.note_block.guitar record @s ^0 ^ ^ 0.70 0.749154 1\nplaysound minecraft:block.note_block.bass r"
  },
  {
    "path": "base/data/gm4/function/intro_song/notes/51.mcfunction",
    "chars": 195,
    "preview": "playsound minecraft:block.note_block.xylophone record @s ^0 ^ ^ 1 0.943874 1\nplaysound minecraft:block.note_block.harp r"
  },
  {
    "path": "base/data/gm4/function/intro_song/notes/52.mcfunction",
    "chars": 730,
    "preview": "playsound minecraft:block.note_block.guitar record @s ^0 ^ ^ 0.70 1.498307 1\nplaysound minecraft:block.note_block.bass r"
  },
  {
    "path": "base/data/gm4/function/intro_song/notes/54.mcfunction",
    "chars": 345,
    "preview": "playsound minecraft:block.note_block.xylophone record @s ^0 ^ ^ 1 1.122462 1\nplaysound minecraft:block.note_block.harp r"
  },
  {
    "path": "base/data/gm4/function/intro_song/notes/55.mcfunction",
    "chars": 356,
    "preview": "playsound minecraft:block.note_block.guitar record @s ^0 ^ ^ 0.70 1.077982 1\nplaysound minecraft:block.note_block.bass r"
  },
  {
    "path": "base/data/gm4/function/intro_song/notes/56.mcfunction",
    "chars": 817,
    "preview": "playsound minecraft:block.note_block.guitar record @s ^0 ^ ^ 0.70 1.122462 1\nplaysound minecraft:block.note_block.bass r"
  },
  {
    "path": "base/data/gm4/function/intro_song/notes/58.mcfunction",
    "chars": 282,
    "preview": "playsound minecraft:block.note_block.flute record @s ^0 ^ ^ 0.63 1.259921 1\nplaysound minecraft:block.note_block.harp re"
  },
  {
    "path": "base/data/gm4/function/intro_song/notes/60.mcfunction",
    "chars": 731,
    "preview": "playsound minecraft:block.note_block.bell record @s ^0 ^ ^ 0.54 1.498307 1\nplaysound minecraft:block.note_block.bell rec"
  },
  {
    "path": "base/data/gm4/function/intro_song/notes/62.mcfunction",
    "chars": 282,
    "preview": "playsound minecraft:block.note_block.flute record @s ^0 ^ ^ 0.63 1.122462 1\nplaysound minecraft:block.note_block.harp re"
  },
  {
    "path": "base/data/gm4/function/intro_song/notes/64.mcfunction",
    "chars": 1123,
    "preview": "playsound minecraft:block.note_block.guitar record @s ^0 ^ ^ 0.40 0.629961 1\nplaysound minecraft:block.note_block.bass r"
  },
  {
    "path": "base/data/gm4/function/intro_song/notes/65.mcfunction",
    "chars": 601,
    "preview": "playsound minecraft:block.note_block.guitar record @s ^0 ^ ^ 0.50 0.667420 1\nplaysound minecraft:block.note_block.bass r"
  },
  {
    "path": "base/data/gm4/function/intro_song/notes/66.mcfunction",
    "chars": 601,
    "preview": "playsound minecraft:block.note_block.guitar record @s ^0 ^ ^ 0.60 0.707107 1\nplaysound minecraft:block.note_block.bass r"
  },
  {
    "path": "base/data/gm4/function/intro_song/notes/67.mcfunction",
    "chars": 601,
    "preview": "playsound minecraft:block.note_block.guitar record @s ^0 ^ ^ 0.70 0.749154 1\nplaysound minecraft:block.note_block.bass r"
  },
  {
    "path": "base/data/gm4/function/intro_song/notes/68.mcfunction",
    "chars": 903,
    "preview": "playsound minecraft:block.note_block.guitar record @s ^0 ^ ^ 0.80 0.793701 1\nplaysound minecraft:block.note_block.bass r"
  },
  {
    "path": "base/data/gm4/function/intro_song/notes/69.mcfunction",
    "chars": 601,
    "preview": "playsound minecraft:block.note_block.guitar record @s ^0 ^ ^ 0.80 0.840896 1\nplaysound minecraft:block.note_block.bass r"
  },
  {
    "path": "base/data/gm4/function/intro_song/notes/7.mcfunction",
    "chars": 275,
    "preview": "playsound minecraft:block.note_block.guitar record @s ^0 ^ ^ 1 1.017480 1\nplaysound minecraft:block.note_block.bass reco"
  },
  {
    "path": "base/data/gm4/function/intro_song/notes/70.mcfunction",
    "chars": 815,
    "preview": "playsound minecraft:block.note_block.guitar record @s ^0 ^ ^ 0.80 0.890899 1\nplaysound minecraft:block.note_block.bass r"
  },
  {
    "path": "base/data/gm4/function/intro_song/notes/71.mcfunction",
    "chars": 601,
    "preview": "playsound minecraft:block.note_block.guitar record @s ^0 ^ ^ 0.80 0.943874 1\nplaysound minecraft:block.note_block.bass r"
  },
  {
    "path": "base/data/gm4/function/intro_song/notes/72.mcfunction",
    "chars": 903,
    "preview": "playsound minecraft:block.note_block.guitar record @s ^0 ^ ^ 0.90 1.000000 1\nplaysound minecraft:block.note_block.bass r"
  },
  {
    "path": "base/data/gm4/function/intro_song/notes/73.mcfunction",
    "chars": 601,
    "preview": "playsound minecraft:block.note_block.guitar record @s ^0 ^ ^ 0.90 1.059463 1\nplaysound minecraft:block.note_block.bass r"
  },
  {
    "path": "base/data/gm4/function/intro_song/notes/74.mcfunction",
    "chars": 601,
    "preview": "playsound minecraft:block.note_block.guitar record @s ^0 ^ ^ 0.90 1.122462 1\nplaysound minecraft:block.note_block.bass r"
  },
  {
    "path": "base/data/gm4/function/intro_song/notes/75.mcfunction",
    "chars": 601,
    "preview": "playsound minecraft:block.note_block.guitar record @s ^0 ^ ^ 0.90 1.189207 1\nplaysound minecraft:block.note_block.bass r"
  },
  {
    "path": "base/data/gm4/function/intro_song/notes/76.mcfunction",
    "chars": 1108,
    "preview": "playsound minecraft:block.note_block.guitar record @s ^0 ^ ^ 1 1.259921 1\nplaysound minecraft:block.note_block.bass reco"
  },
  {
    "path": "base/data/gm4/function/intro_song/notes/77.mcfunction",
    "chars": 592,
    "preview": "playsound minecraft:block.note_block.guitar record @s ^0 ^ ^ 1 1.334840 1\nplaysound minecraft:block.note_block.bass reco"
  },
  {
    "path": "base/data/gm4/function/intro_song/notes/78.mcfunction",
    "chars": 592,
    "preview": "playsound minecraft:block.note_block.guitar record @s ^0 ^ ^ 1 1.259921 1\nplaysound minecraft:block.note_block.bass reco"
  },
  {
    "path": "base/data/gm4/function/intro_song/notes/79.mcfunction",
    "chars": 592,
    "preview": "playsound minecraft:block.note_block.guitar record @s ^0 ^ ^ 1 1.122462 1\nplaysound minecraft:block.note_block.bass reco"
  },
  {
    "path": "base/data/gm4/function/intro_song/notes/8.mcfunction",
    "chars": 275,
    "preview": "playsound minecraft:block.note_block.guitar record @s ^0 ^ ^ 1 1.059463 1\nplaysound minecraft:block.note_block.bass reco"
  },
  {
    "path": "base/data/gm4/function/intro_song/notes/80.mcfunction",
    "chars": 516,
    "preview": "playsound minecraft:block.note_block.guitar record @s ^0 ^ ^ 1 0.749154 1\nplaysound minecraft:block.note_block.bass reco"
  },
  {
    "path": "base/data/gm4/function/intro_song/notes/84.mcfunction",
    "chars": 1095,
    "preview": "playsound minecraft:block.note_block.guitar record @s ^0 ^ ^ 1 1.498307 1\nplaysound minecraft:block.note_block.bass reco"
  },
  {
    "path": "base/data/gm4/function/intro_song/play.mcfunction",
    "chars": 197,
    "preview": "#execute store success score intro_listener gm4_intro_song run\nscoreboard players add @s gm4_intro_song 40\nfunction gm4:"
  },
  {
    "path": "base/data/gm4/function/intro_song/stop.mcfunction",
    "chars": 120,
    "preview": "tag @s remove gm4_intro_playing\nscoreboard players reset @s gm4_intro_song\nscoreboard players reset @s gm4_intro_song_t\n"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/0_1.mcfunction",
    "chars": 111,
    "preview": "execute if entity @s[scores={gm4_intro_song=0..120,gm4_intro_song_t=..-1}] run function gm4:intro_song/notes/0\n"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/0_127.mcfunction",
    "chars": 190,
    "preview": "execute if entity @s[scores={gm4_intro_song=0..5160}] run function gm4:intro_song/tree/0_63\nexecute if entity @s[scores="
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/0_15.mcfunction",
    "chars": 184,
    "preview": "execute if entity @s[scores={gm4_intro_song=0..680}] run function gm4:intro_song/tree/0_7\nexecute if entity @s[scores={g"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/0_3.mcfunction",
    "chars": 90,
    "preview": "execute if entity @s[scores={gm4_intro_song=0..200}] run function gm4:intro_song/tree/0_1\n"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/0_31.mcfunction",
    "chars": 188,
    "preview": "execute if entity @s[scores={gm4_intro_song=0..1320}] run function gm4:intro_song/tree/0_15\nexecute if entity @s[scores="
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/0_63.mcfunction",
    "chars": 188,
    "preview": "execute if entity @s[scores={gm4_intro_song=0..2600}] run function gm4:intro_song/tree/0_31\nexecute if entity @s[scores="
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/0_7.mcfunction",
    "chars": 182,
    "preview": "execute if entity @s[scores={gm4_intro_song=0..360}] run function gm4:intro_song/tree/0_3\nexecute if entity @s[scores={g"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/10_11.mcfunction",
    "chars": 113,
    "preview": "execute if entity @s[scores={gm4_intro_song=800..920,gm4_intro_song_t=..9}] run function gm4:intro_song/notes/10\n"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/12_13.mcfunction",
    "chars": 115,
    "preview": "execute if entity @s[scores={gm4_intro_song=960..1080,gm4_intro_song_t=..11}] run function gm4:intro_song/notes/12\n"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/12_15.mcfunction",
    "chars": 191,
    "preview": "execute if entity @s[scores={gm4_intro_song=960..1160}] run function gm4:intro_song/tree/12_13\nexecute if entity @s[scor"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/14_15.mcfunction",
    "chars": 116,
    "preview": "execute if entity @s[scores={gm4_intro_song=1120..1240,gm4_intro_song_t=..13}] run function gm4:intro_song/notes/14\n"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/16_17.mcfunction",
    "chars": 116,
    "preview": "execute if entity @s[scores={gm4_intro_song=1280..1400,gm4_intro_song_t=..15}] run function gm4:intro_song/notes/16\n"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/16_19.mcfunction",
    "chars": 96,
    "preview": "execute if entity @s[scores={gm4_intro_song=1280..1480}] run function gm4:intro_song/tree/16_17\n"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/16_23.mcfunction",
    "chars": 192,
    "preview": "execute if entity @s[scores={gm4_intro_song=1280..1640}] run function gm4:intro_song/tree/16_19\nexecute if entity @s[sco"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/16_31.mcfunction",
    "chars": 192,
    "preview": "execute if entity @s[scores={gm4_intro_song=1280..1960}] run function gm4:intro_song/tree/16_23\nexecute if entity @s[sco"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/20_21.mcfunction",
    "chars": 116,
    "preview": "execute if entity @s[scores={gm4_intro_song=1600..1720,gm4_intro_song_t=..19}] run function gm4:intro_song/notes/20\n"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/20_23.mcfunction",
    "chars": 192,
    "preview": "execute if entity @s[scores={gm4_intro_song=1600..1800}] run function gm4:intro_song/tree/20_21\nexecute if entity @s[sco"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/22_23.mcfunction",
    "chars": 116,
    "preview": "execute if entity @s[scores={gm4_intro_song=1840..1960,gm4_intro_song_t=..22}] run function gm4:intro_song/notes/23\n"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/24_25.mcfunction",
    "chars": 116,
    "preview": "execute if entity @s[scores={gm4_intro_song=1920..2040,gm4_intro_song_t=..23}] run function gm4:intro_song/notes/24\n"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/24_27.mcfunction",
    "chars": 192,
    "preview": "execute if entity @s[scores={gm4_intro_song=1920..2120}] run function gm4:intro_song/tree/24_25\nexecute if entity @s[sco"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/24_31.mcfunction",
    "chars": 192,
    "preview": "execute if entity @s[scores={gm4_intro_song=1920..2280}] run function gm4:intro_song/tree/24_27\nexecute if entity @s[sco"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/26_27.mcfunction",
    "chars": 116,
    "preview": "execute if entity @s[scores={gm4_intro_song=2080..2200,gm4_intro_song_t=..25}] run function gm4:intro_song/notes/26\n"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/28_29.mcfunction",
    "chars": 116,
    "preview": "execute if entity @s[scores={gm4_intro_song=2240..2360,gm4_intro_song_t=..27}] run function gm4:intro_song/notes/28\n"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/28_31.mcfunction",
    "chars": 192,
    "preview": "execute if entity @s[scores={gm4_intro_song=2240..2440}] run function gm4:intro_song/tree/28_29\nexecute if entity @s[sco"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/30_31.mcfunction",
    "chars": 116,
    "preview": "execute if entity @s[scores={gm4_intro_song=2400..2520,gm4_intro_song_t=..29}] run function gm4:intro_song/notes/30\n"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/32_33.mcfunction",
    "chars": 116,
    "preview": "execute if entity @s[scores={gm4_intro_song=2560..2680,gm4_intro_song_t=..31}] run function gm4:intro_song/notes/32\n"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/32_35.mcfunction",
    "chars": 192,
    "preview": "execute if entity @s[scores={gm4_intro_song=2560..2760}] run function gm4:intro_song/tree/32_33\nexecute if entity @s[sco"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/32_39.mcfunction",
    "chars": 192,
    "preview": "execute if entity @s[scores={gm4_intro_song=2560..2920}] run function gm4:intro_song/tree/32_35\nexecute if entity @s[sco"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/32_47.mcfunction",
    "chars": 192,
    "preview": "execute if entity @s[scores={gm4_intro_song=2560..3240}] run function gm4:intro_song/tree/32_39\nexecute if entity @s[sco"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/32_63.mcfunction",
    "chars": 192,
    "preview": "execute if entity @s[scores={gm4_intro_song=2560..3880}] run function gm4:intro_song/tree/32_47\nexecute if entity @s[sco"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/34_35.mcfunction",
    "chars": 116,
    "preview": "execute if entity @s[scores={gm4_intro_song=2800..2920,gm4_intro_song_t=..34}] run function gm4:intro_song/notes/35\n"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/36_37.mcfunction",
    "chars": 116,
    "preview": "execute if entity @s[scores={gm4_intro_song=2880..3000,gm4_intro_song_t=..35}] run function gm4:intro_song/notes/36\n"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/36_39.mcfunction",
    "chars": 192,
    "preview": "execute if entity @s[scores={gm4_intro_song=2880..3080}] run function gm4:intro_song/tree/36_37\nexecute if entity @s[sco"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/38_39.mcfunction",
    "chars": 232,
    "preview": "execute if entity @s[scores={gm4_intro_song=3040..3160,gm4_intro_song_t=..37}] run function gm4:intro_song/notes/38\nexec"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/40_41.mcfunction",
    "chars": 232,
    "preview": "execute if entity @s[scores={gm4_intro_song=3200..3320,gm4_intro_song_t=..39}] run function gm4:intro_song/notes/40\nexec"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/40_43.mcfunction",
    "chars": 192,
    "preview": "execute if entity @s[scores={gm4_intro_song=3200..3400}] run function gm4:intro_song/tree/40_41\nexecute if entity @s[sco"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/40_47.mcfunction",
    "chars": 192,
    "preview": "execute if entity @s[scores={gm4_intro_song=3200..3560}] run function gm4:intro_song/tree/40_43\nexecute if entity @s[sco"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/42_43.mcfunction",
    "chars": 232,
    "preview": "execute if entity @s[scores={gm4_intro_song=3360..3480,gm4_intro_song_t=..41}] run function gm4:intro_song/notes/42\nexec"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/44_45.mcfunction",
    "chars": 232,
    "preview": "execute if entity @s[scores={gm4_intro_song=3520..3640,gm4_intro_song_t=..43}] run function gm4:intro_song/notes/44\nexec"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/44_47.mcfunction",
    "chars": 192,
    "preview": "execute if entity @s[scores={gm4_intro_song=3520..3720}] run function gm4:intro_song/tree/44_45\nexecute if entity @s[sco"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/46_47.mcfunction",
    "chars": 232,
    "preview": "execute if entity @s[scores={gm4_intro_song=3680..3800,gm4_intro_song_t=..45}] run function gm4:intro_song/notes/46\nexec"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/48_49.mcfunction",
    "chars": 116,
    "preview": "execute if entity @s[scores={gm4_intro_song=3840..3960,gm4_intro_song_t=..47}] run function gm4:intro_song/notes/48\n"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/48_51.mcfunction",
    "chars": 192,
    "preview": "execute if entity @s[scores={gm4_intro_song=3840..4040}] run function gm4:intro_song/tree/48_49\nexecute if entity @s[sco"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/48_55.mcfunction",
    "chars": 192,
    "preview": "execute if entity @s[scores={gm4_intro_song=3840..4200}] run function gm4:intro_song/tree/48_51\nexecute if entity @s[sco"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/48_63.mcfunction",
    "chars": 192,
    "preview": "execute if entity @s[scores={gm4_intro_song=3840..4520}] run function gm4:intro_song/tree/48_55\nexecute if entity @s[sco"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/4_5.mcfunction",
    "chars": 112,
    "preview": "execute if entity @s[scores={gm4_intro_song=320..440,gm4_intro_song_t=..3}] run function gm4:intro_song/notes/4\n"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/4_7.mcfunction",
    "chars": 184,
    "preview": "execute if entity @s[scores={gm4_intro_song=320..520}] run function gm4:intro_song/tree/4_5\nexecute if entity @s[scores="
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/50_51.mcfunction",
    "chars": 116,
    "preview": "execute if entity @s[scores={gm4_intro_song=4080..4200,gm4_intro_song_t=..50}] run function gm4:intro_song/notes/51\n"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/52_53.mcfunction",
    "chars": 116,
    "preview": "execute if entity @s[scores={gm4_intro_song=4160..4280,gm4_intro_song_t=..51}] run function gm4:intro_song/notes/52\n"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/52_55.mcfunction",
    "chars": 192,
    "preview": "execute if entity @s[scores={gm4_intro_song=4160..4360}] run function gm4:intro_song/tree/52_53\nexecute if entity @s[sco"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/54_55.mcfunction",
    "chars": 232,
    "preview": "execute if entity @s[scores={gm4_intro_song=4320..4440,gm4_intro_song_t=..53}] run function gm4:intro_song/notes/54\nexec"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/56_57.mcfunction",
    "chars": 116,
    "preview": "execute if entity @s[scores={gm4_intro_song=4480..4600,gm4_intro_song_t=..55}] run function gm4:intro_song/notes/56\n"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/56_59.mcfunction",
    "chars": 192,
    "preview": "execute if entity @s[scores={gm4_intro_song=4480..4680}] run function gm4:intro_song/tree/56_57\nexecute if entity @s[sco"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/56_63.mcfunction",
    "chars": 192,
    "preview": "execute if entity @s[scores={gm4_intro_song=4480..4840}] run function gm4:intro_song/tree/56_59\nexecute if entity @s[sco"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/58_59.mcfunction",
    "chars": 116,
    "preview": "execute if entity @s[scores={gm4_intro_song=4640..4760,gm4_intro_song_t=..57}] run function gm4:intro_song/notes/58\n"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/60_61.mcfunction",
    "chars": 116,
    "preview": "execute if entity @s[scores={gm4_intro_song=4800..4920,gm4_intro_song_t=..59}] run function gm4:intro_song/notes/60\n"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/60_63.mcfunction",
    "chars": 192,
    "preview": "execute if entity @s[scores={gm4_intro_song=4800..5000}] run function gm4:intro_song/tree/60_61\nexecute if entity @s[sco"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/62_63.mcfunction",
    "chars": 116,
    "preview": "execute if entity @s[scores={gm4_intro_song=4960..5080,gm4_intro_song_t=..61}] run function gm4:intro_song/notes/62\n"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/64_127.mcfunction",
    "chars": 96,
    "preview": "execute if entity @s[scores={gm4_intro_song=5120..7720}] run function gm4:intro_song/tree/64_95\n"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/64_65.mcfunction",
    "chars": 232,
    "preview": "execute if entity @s[scores={gm4_intro_song=5120..5240,gm4_intro_song_t=..63}] run function gm4:intro_song/notes/64\nexec"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/64_67.mcfunction",
    "chars": 192,
    "preview": "execute if entity @s[scores={gm4_intro_song=5120..5320}] run function gm4:intro_song/tree/64_65\nexecute if entity @s[sco"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/64_71.mcfunction",
    "chars": 192,
    "preview": "execute if entity @s[scores={gm4_intro_song=5120..5480}] run function gm4:intro_song/tree/64_67\nexecute if entity @s[sco"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/64_79.mcfunction",
    "chars": 192,
    "preview": "execute if entity @s[scores={gm4_intro_song=5120..5800}] run function gm4:intro_song/tree/64_71\nexecute if entity @s[sco"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/64_95.mcfunction",
    "chars": 192,
    "preview": "execute if entity @s[scores={gm4_intro_song=5120..6440}] run function gm4:intro_song/tree/64_79\nexecute if entity @s[sco"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/66_67.mcfunction",
    "chars": 232,
    "preview": "execute if entity @s[scores={gm4_intro_song=5280..5400,gm4_intro_song_t=..65}] run function gm4:intro_song/notes/66\nexec"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/68_69.mcfunction",
    "chars": 232,
    "preview": "execute if entity @s[scores={gm4_intro_song=5440..5560,gm4_intro_song_t=..67}] run function gm4:intro_song/notes/68\nexec"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/68_71.mcfunction",
    "chars": 192,
    "preview": "execute if entity @s[scores={gm4_intro_song=5440..5640}] run function gm4:intro_song/tree/68_69\nexecute if entity @s[sco"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/6_7.mcfunction",
    "chars": 112,
    "preview": "execute if entity @s[scores={gm4_intro_song=560..680,gm4_intro_song_t=..6}] run function gm4:intro_song/notes/7\n"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/70_71.mcfunction",
    "chars": 232,
    "preview": "execute if entity @s[scores={gm4_intro_song=5600..5720,gm4_intro_song_t=..69}] run function gm4:intro_song/notes/70\nexec"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/72_73.mcfunction",
    "chars": 232,
    "preview": "execute if entity @s[scores={gm4_intro_song=5760..5880,gm4_intro_song_t=..71}] run function gm4:intro_song/notes/72\nexec"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/72_75.mcfunction",
    "chars": 192,
    "preview": "execute if entity @s[scores={gm4_intro_song=5760..5960}] run function gm4:intro_song/tree/72_73\nexecute if entity @s[sco"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/72_79.mcfunction",
    "chars": 192,
    "preview": "execute if entity @s[scores={gm4_intro_song=5760..6120}] run function gm4:intro_song/tree/72_75\nexecute if entity @s[sco"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/74_75.mcfunction",
    "chars": 232,
    "preview": "execute if entity @s[scores={gm4_intro_song=5920..6040,gm4_intro_song_t=..73}] run function gm4:intro_song/notes/74\nexec"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/76_77.mcfunction",
    "chars": 232,
    "preview": "execute if entity @s[scores={gm4_intro_song=6080..6200,gm4_intro_song_t=..75}] run function gm4:intro_song/notes/76\nexec"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/76_79.mcfunction",
    "chars": 192,
    "preview": "execute if entity @s[scores={gm4_intro_song=6080..6280}] run function gm4:intro_song/tree/76_77\nexecute if entity @s[sco"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/78_79.mcfunction",
    "chars": 232,
    "preview": "execute if entity @s[scores={gm4_intro_song=6240..6360,gm4_intro_song_t=..77}] run function gm4:intro_song/notes/78\nexec"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/80_81.mcfunction",
    "chars": 116,
    "preview": "execute if entity @s[scores={gm4_intro_song=6400..6520,gm4_intro_song_t=..79}] run function gm4:intro_song/notes/80\n"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/80_83.mcfunction",
    "chars": 96,
    "preview": "execute if entity @s[scores={gm4_intro_song=6400..6600}] run function gm4:intro_song/tree/80_81\n"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/80_87.mcfunction",
    "chars": 192,
    "preview": "execute if entity @s[scores={gm4_intro_song=6400..6760}] run function gm4:intro_song/tree/80_83\nexecute if entity @s[sco"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/80_95.mcfunction",
    "chars": 96,
    "preview": "execute if entity @s[scores={gm4_intro_song=6400..7080}] run function gm4:intro_song/tree/80_87\n"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/84_85.mcfunction",
    "chars": 116,
    "preview": "execute if entity @s[scores={gm4_intro_song=6720..6840,gm4_intro_song_t=..83}] run function gm4:intro_song/notes/84\n"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/84_87.mcfunction",
    "chars": 96,
    "preview": "execute if entity @s[scores={gm4_intro_song=6720..6920}] run function gm4:intro_song/tree/84_85\n"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/8_11.mcfunction",
    "chars": 187,
    "preview": "execute if entity @s[scores={gm4_intro_song=640..840}] run function gm4:intro_song/tree/8_9\nexecute if entity @s[scores="
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/8_15.mcfunction",
    "chars": 189,
    "preview": "execute if entity @s[scores={gm4_intro_song=640..1000}] run function gm4:intro_song/tree/8_11\nexecute if entity @s[score"
  },
  {
    "path": "base/data/gm4/function/intro_song/tree/8_9.mcfunction",
    "chars": 112,
    "preview": "execute if entity @s[scores={gm4_intro_song=640..760,gm4_intro_song_t=..7}] run function gm4:intro_song/notes/8\n"
  },
  {
    "path": "base/data/gm4/function/load.mcfunction",
    "chars": 1461,
    "preview": "data merge storage gm4:log {queue:[],versions:[]}\ndata modify storage gm4:log queue append value {type:\"text\",message:{\""
  },
  {
    "path": "base/data/gm4/function/log.mcfunction",
    "chars": 1051,
    "preview": "data modify storage gm4:log log set from storage gm4:log queue[0]\nexecute if data storage gm4:log log{type:\"text\"} run t"
  },
  {
    "path": "base/data/gm4/function/log_start.mcfunction",
    "chars": 691,
    "preview": "scoreboard players set @a[gamemode=creative] gm4_creative 0\nexecute as @a[gamemode=!creative] unless score @s gm4_creati"
  },
  {
    "path": "base/data/gm4/function/log_wait.mcfunction",
    "chars": 137,
    "preview": "execute if entity @a[limit=1] run function gm4:log_start\nexecute unless entity @a[limit=1] run schedule function gm4:log"
  },
  {
    "path": "base/data/gm4/function/outdated_logs/outdated_start.mcfunction",
    "chars": 855,
    "preview": "tellraw @a[tag=gm4_show_log] [{\"text\":\"The following modules are outdated! Click here to download the latest versions.\","
  },
  {
    "path": "base/data/gm4/function/outdated_logs/traverse.mcfunction",
    "chars": 373,
    "preview": "tellraw @a[tag=gm4_show_log] [{\"text\":\"  - \",\"color\":\"gold\"},{\"nbt\":\"outdated_list[0].render\",\"storage\":\"gm4:log\",\"color"
  },
  {
    "path": "base/data/gm4/function/post_load.mcfunction",
    "chars": 394,
    "preview": "execute unless data storage gm4:log queue[{type:\"install\"}] run data modify storage gm4:log queue append value {type:\"te"
  },
  {
    "path": "base/data/gm4/function/upgrade_paths/changed_dimension.mcfunction",
    "chars": 250,
    "preview": "# @s = player who just changed dimension\n# at @s\n# run from gm4:upgrade_paths/changed_dimension advancement\nadvancement "
  },
  {
    "path": "base/data/gm4/function/upgrade_paths/join_game.mcfunction",
    "chars": 296,
    "preview": "# @s =  runs as a player who has just rejoined the world\n# at @s\n# run from gm4:upgrade_paths/join_game advancement\nadva"
  },
  {
    "path": "base/data/gm4/function/upgrade_paths/load.mcfunction",
    "chars": 355,
    "preview": "scoreboard objectives add gm4_earliest_version dummy\nscoreboard objectives add gm4_up_leave_game minecraft.custom:minecr"
  },
  {
    "path": "base/data/gm4/function/upgrade_paths/main.mcfunction",
    "chars": 490,
    "preview": "\nscoreboard players set $active_upgrade_paths gm4_data 0\nexecute as @a[limit=1] at @s run function #gm4_upgrade_paths:ru"
  },
  {
    "path": "base/data/gm4/function/upgrade_paths/run_when_loaded.mcfunction",
    "chars": 518,
    "preview": "# @s = server\n# at world spawn\n# scheduled from self and advancement triggers\n\nscoreboard players set $success gm4_data "
  },
  {
    "path": "base/data/gm4/loot_table/air.json",
    "chars": 310,
    "preview": "{\n  \"pools\": [\n    {\n      \"rolls\": 1,\n      \"entries\": [\n        {\n          \"type\": \"minecraft:item\",\n          \"name\""
  },
  {
    "path": "base/data/gm4/loot_table/empty.json",
    "chars": 18,
    "preview": "{\n  \"pools\": []\n}\n"
  },
  {
    "path": "base/data/gm4/tags/block/foliage.json",
    "chars": 1407,
    "preview": "{\n  \"values\": [\n    \"#minecraft:small_flowers\",\n    \"minecraft:sunflower\",\n    \"minecraft:lilac\",\n    \"minecraft:peony\","
  },
  {
    "path": "base/data/gm4/tags/block/full_collision.json",
    "chars": 12582,
    "preview": "{\n    \"values\": [\n        \"#minecraft:substrate_overworld\",\n        \"#minecraft:leaves\",\n        \"#minecraft:logs\",\n    "
  },
  {
    "path": "base/data/gm4/tags/block/no_collision.json",
    "chars": 3148,
    "preview": "{\n  \"values\": [\n    \"#gm4:water\",\n    \"#minecraft:air\",\n    \"#minecraft:banners\",\n    \"#minecraft:buttons\",\n    \"#minecr"
  },
  {
    "path": "base/data/gm4/tags/block/replaceable.json",
    "chars": 79,
    "preview": "{\n  \"values\": [\n    \"#minecraft:replaceable\",\n    \"minecraft:sculk_vein\"\n  ]\n}\n"
  },
  {
    "path": "base/data/gm4/tags/block/water.json",
    "chars": 182,
    "preview": "{\n  \"values\": [\n    \"minecraft:water\",\n    \"minecraft:kelp\",\n    \"minecraft:kelp_plant\",\n    \"minecraft:seagrass\",\n    \""
  },
  {
    "path": "base/data/gm4/tags/block/waterloggable.json",
    "chars": 2518,
    "preview": "{\n  \"values\": [\n    \"#minecraft:all_signs\",\n    \"#minecraft:bars\",\n    \"#minecraft:campfires\",\n    \"#minecraft:candles\","
  },
  {
    "path": "base/data/gm4/tags/entity_type/boss.json",
    "chars": 87,
    "preview": "{\n    \"values\": [\n        \"minecraft:ender_dragon\",\n        \"minecraft:wither\"\n    ]\n}\n"
  },
  {
    "path": "base/data/gm4/tags/entity_type/chest_boats.json",
    "chars": 373,
    "preview": "{\n  \"values\": [\n    \"minecraft:oak_chest_boat\",\n    \"minecraft:spruce_chest_boat\",\n    \"minecraft:birch_chest_boat\",\n   "
  },
  {
    "path": "base/data/gm4/tags/entity_type/hostile.json",
    "chars": 934,
    "preview": "{\n    \"values\": [\n        \"#gm4:boss\",\n        \"minecraft:blaze\",\n        \"minecraft:bogged\",\n        \"minecraft:breeze\""
  },
  {
    "path": "base/data/gm4/tags/entity_type/minecarts.json",
    "chars": 250,
    "preview": "{\n  \"values\": [\n    \"minecraft:minecart\",\n    \"minecraft:chest_minecart\",\n    \"minecraft:hopper_minecart\",\n    \"minecraf"
  },
  {
    "path": "base/data/gm4/tags/entity_type/neutral.json",
    "chars": 89,
    "preview": "{\n    \"values\": [\n        \"#gm4:neutral_hostile\",\n        \"#gm4:neutral_passive\"\n    ]\n}\n"
  },
  {
    "path": "base/data/gm4/tags/entity_type/neutral_hostile.json",
    "chars": 310,
    "preview": "{\n    \"values\": [\n        \"minecraft:camel_husk\",\n        \"minecraft:cave_spider\",\n        \"minecraft:creaking\",\n       "
  },
  {
    "path": "base/data/gm4/tags/entity_type/neutral_passive.json",
    "chars": 308,
    "preview": "{\n    \"values\": [\n        \"minecraft:bee\",\n        \"minecraft:dolphin\",\n        \"minecraft:fox\",\n        \"minecraft:goat"
  },
  {
    "path": "base/data/gm4/tags/entity_type/non_living.json",
    "chars": 1615,
    "preview": "{\n    \"values\": [\n        \"minecraft:area_effect_cloud\",\n        \"minecraft:arrow\",\n        \"minecraft:block_display\",\n "
  }
]

// ... and 6058 more files (download for full content)

About this extraction

This page contains the full source code of the Gamemode4Dev/GM4_Datapacks GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 6258 files (5.9 MB), approximately 2.0M tokens, and a symbol index with 299 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!